Notes 1: Introduction to Optimization Models IND E 599 September 29, 2010 IND E 599 Notes 1 Slide 1 Course Objectives I Survey of optimization models and formulations, with focus on modeling, not on algorithms I Include a variety of applications, such as, industrial, mechanical, civil and electrical engineering, financial optimization models, health care systems, environmental ecology, and forestry I Include many types of optimization models, such as, linear programming, integer programming, quadratic assignment problem, nonlinear convex problems and black-box models I Include many common formulations, such as, facility location, vehicle routing, job shop scheduling, flow shop scheduling, production scheduling (min make span, min max lateness), knapsack/multi-knapsack, traveling salesman, capacitated assignment problem, set covering/packing, network flow, shortest path, and max flow. IND E 599 Notes 1 Slide 2 Tentative Topics Each topic is an introduction to what could be a complete course: 1. basic linear models (LP) with sensitivity analysis 2. integer models (IP), such as the assignment problem, knapsack problem and the traveling salesman problem 3. mixed integer formulations 4. quadratic assignment problems 5. include uncertainty with chance-constraints, stochastic programming scenario-based formulations, and robust optimization 6. multi-objective formulations 7. nonlinear formulations, as often found in engineering design 8. brief introduction to constraint logic programming 9. brief introduction to dynamic programming IND E 599 Notes 1 Slide 3 Computer Software I Catalyst Tools (https://catalyst.uw.edu/) I AIMMS - optimization software (http://www.aimms.com/) Ming Fang - AIMMS software consultant IND E 599 Notes 1 Slide 4 What is Mathematical Programming? Mathematical programming refers to \programming" as a \planning" activity: as in I linear programming (LP) I integer programming (IP) I mixed integer linear programming (MILP) I non-linear programming (NLP) \Optimization" is becoming more common, e.g. the Mathematical Programming Society (MPS) just changed their name to the Mathematical Optimization Society - but are keeping the name of their flagship journal Mathematical Programming IND E 599 Notes 1 Slide 5 Optimization Models Optimization models are typically categorized by the mathematical structure of the functions, which is necessary for algorithm development There is a connection between the models and the algorithms: I a nonlinear integer model may be very accurate, but impractical to solve in reasonable time I be aware of the assumptions and implications of the model The process of creating and exploring an optimization model is often more useful then a single solution IND E 599 Notes 1 Slide 6 General Optimization Model The standard optimization formulation consists of: I decision variables I objective function I constraints Formulation minimize f (x) subject to gj (x) ≤ bj ; j = 1;:::; m1 hj (x) = 0; j = 1;:::; m2 xi ≥ 0; i = 1;:::; n x1; x2 2 f0; 1g (binary variables) IND E 599 Notes 1 Slide 7 Feasibility and Optimality Terminology 1. Feasible solution: a vector x 2 Rn that satisfies all constraints 2. Feasible region: the set of all feasible solutions 3. Optimal solution: a feasible solution x∗ such that f (x∗) ≤ f (x) for all feasible solutions x 4. Optimal value: f ∗ = f (x∗). Existence: I Does a feasible solution always exist? NO I If the feasible region is non-empty, does an optimal solution always exist? NO IND E 599 Notes 1 Slide 8 Existence of an optimal solution Example (Unbounded feasible region) Maximize x, for x ≥ 0 Example (Open feasible region) Minimize 1=x, for x 2 (0; 1) Theorem (Weierstrass Theorem) A continuous function f defined on a compact (closed and bounded) feasible region S HAS a minimum point x∗ 2 S such that f (x) ≥ f (x∗) for all x 2 S. IND E 599 Notes 1 Slide 9 A Special Type of Optimization Model: Linear Terminology (Linear Program) A linear program (LP) is a linear optimization model: minimize a linear objective function subject to linear equality and linear inequality constraints. Example minimize 2x1 − x2 + 4x3 subject to x1 + x2 + x4 ≤ 2 3x2 − x3 = 5 x3 + x4 ≥ 3 x1 ≥ 0 x3 ≤ 0 IND E 599 Notes 1 Slide 10 A Standard Linear Program Formulation minimize cx subject to Ax = b x ≥ 0 where x 2 Rn, A is an m × n matrix, c is 1 × n, and b is m × 1 for some integers m and n. Remark Every linear program can be converted into an equivalent problem with equality constraints and non-negativity constraints. What does \equivalent problem" mean? Problem P is equivalent to Problem Q, if, for every feasible x 2 P, there exists a feasible y 2 Q, and vice versa, and for every optimal x∗ 2 P, there exists an optimal y 2 Q, and vice versa. IND E 599 Notes 1 Slide 11 Common Modeling Tricks to Convert to Standard LP Form 1. Minimize or Maximize - that is the question Minimizing cx is equivalent to maximizing −cx. Is this true for f (x)? YES, minimizing f (x) is equivalent to maximizing −f (x) 2. Eliminate Free Variables For variables xj that are not restricted + − to be non-negative or non-positive, write xj = xj − xj , + − xj ≥ 0, xj ≥ 0. Does this trick work for nonlinear problems? + − ALMOST, need to add (xj ) · (xj ) = 0. 3. Eliminate Inequality Constraints I Modify every ≥ inequality constraint by introducing a surplus 0 variable si ≥ 0 to write ai x − si = bi . I Modify every ≤ inequality constraint by introducing a slack 0 variable si ≥ 0 to write ai x + si = bi . IND E 599 Notes 1 Slide 12 Two Equivalent Linear Programs Example + − minimize 2x1 + 4x2 minimize 2x1 + 4x2 − 4x2 + − x1 + x2 ≥ 3 x1 + x2 − x2 − s1 = 3 + − 3x1 + 2x2 = 14 3x1 + 2x2 − 2x2 = 14 + − x1 ≥ 0 x1; x2 ; x2 ; s1 ≥ 0 IND E 599 Notes 1 Slide 13 Two Variable LPs: A Geometric View minimize − x1 − x2 subject to x1 + 2x2 ≤ 3 2x1 + x2 ≤ 3 x1; x2 ≥ 0 IND E 599 Notes 1 Slide 14 A Linear Programming Model - Product Mix Example (Product Mix Problem) An engineering factory can produce five types of product (PROD1, PROD2, . , PROD5) by using two processes: grinding and drilling. We are given data on: I How much each unit of each product contributes to profit I How much time each unit of each product requires on each process (grinding and drilling) I How much employee's time is needed for final assembly of each unit of each product I Availability of grinding machines, drilling machines, and employees The problem is to find how much to make of each product so as to maximize the total profit contribution. IND E 599 Notes 1 Slide 15 Example PROD1 PROD2 PROD3 PROD4 PROD5 Profit 550 600 350 400 200 Grinding 12 20 { 25 15 Drilling 10 8 16 { { Each unit of each product uses 20 hours of an employee's time in the final assembly. The factory has three grinding machines and two drilling machines and works a six-day week with two shifts of 8 hours on each day. Eight workers are employed in assembly, each working one shift a day. Decision variables: xi is units of product i to be produced every week, i = 1;:::; 5. Objective function: Profit per week = 550x1 + 600x2 + 350x3 + 400x4 + 200x5 IND E 599 Notes 1 Slide 16 Example: Product Mix LP Model Formulation minimize 550x1 +600x2 +350x3 +400x4 +200x5 subject to 12x1 +20x2 +25x4 +15x5 ≤ 288 10x1 +8x2 +16x3 ≤ 192 20x1 +20x2 +20x3 +20x4 +20x5 ≤ 384 x1; x2; x3; x4; x5 ≥ 0 IND E 599 Notes 1 Slide 17 Example: Product Mix LP in AIMMS Software Example I Indices: Types of product i, i = 1;:::; 5 I Variables: Number of product of type i per week I Parameters: I Pi Profit contribution of product i I Gi Grinding time for product i I Di Drilling time for product i I M Manpower time for product i P5 minimize i=1 Pi xi P5 subject to i=1 Gi xi ≤ 288 P5 i=1 Di xi ≤ 192 P5 i=1 Mxi ≤ 384 x ≥ 0 IND E 599 Notes 1 Slide 18 Notes 2: Blending and other Linear Models IND E 599 October 4, 2010 IND E 599 Notes 2 Slide 1 A Linear Programming Model - Blending A blending problem is another common LP found in: I chemical processing industry I oil refinery I animal feed I pharmaceuticals A characteristic of a blending problem is using proportions with a type of balance constraint IND E 599 Notes 2 Slide 2 Example (Blending Problem) A food is manufactured by refining raw oils and blending them together. The raw oils come in two categories: I Vegetable oils: VEG1 and VEG2 I Non-vegetable oils: OIL1, OIL2 and OIL3 In any month it is not possible to refine more than 200 tons of vegetable oils and more than 250 tons of non-vegetable oils. ASSUME: there is no loss of weight in the refining process. There is a technological restriction on hardness. In the units in which hardness is measured, this must lie between 3 and 6. ASSUME: hardness blends linearly. IND E 599 Notes 2 Slide 3 Example The final product sells for $150 per ton. VEG1 VEG2 OIL1 OIL2 OIL3 Cost (per ton) 110 120 130 110 115 Hardness 8.8 6.1 2.0 4.2 5.0 How should the food manufacturer make their product in order to maximize their net profit? Decision variables: xi is the tons of oil i (i = 1;:::; 5 for VEG1, VEG2, OIL1, OIL2, OIL3) bought, refined and blended per month. y is the total quantity (tons) of product made per month. Equality (Balance) Constraint: x1 + x2 + x3 + x4 + x5 = y IND E 599 Notes 2 Slide 4 Objective Function Max Profit −110x1 − 120x2 − 130x3 − 110x4 − 115x5 + 150y Capacity Constraints Refining capacity on vegetable oil (200 tons/month) x1 + x2 ≤ 200 Refining capacity on non-vegetable oil (250 tons/month) x3 + x4 + x5 ≤ 250 Hardness Constraints 8:8x1 + 6:1x2 + 2x3 + 4:2x4 + 5x5 ≤ 6y 8:8x1 + 6:1x2 + 2x3 + 4:2x4 + 5x5 ≥ 3y Non-negativity Constraints x1; x2; x3; x4; x5 ≥ 0 y ≥ 0 The non-negativity constraint on y is redundant, and in fact, y could be removed by substituting the Balance equality.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages260 Page
-
File Size-