410 likes | 551 Views
Optimization. CHEN 4460 – Process Synthesis, Simulation and Optimization Dr. Mario Richard Eden Department of Chemical Engineering Auburn University Lecture No. 8 – Mathematical Optimization October 16, 2012 Contains Material Developed by Dr. Daniel R. Lewin, Technion, Israel.
E N D
Optimization CHEN 4460 – Process Synthesis, Simulation and Optimization Dr. Mario Richard EdenDepartment of Chemical EngineeringAuburn University Lecture No. 8 – Mathematical Optimization October 16, 2012 Contains Material Developed by Dr. Daniel R. Lewin, Technion, Israel
Lecture 10 – Objectives On completion of this part, you should: • Understand the different types of optimization problems and their formulation • Be able to formulate and solve a variety of optimization problems in LINGO
Optimization Basics • What is Optimization? • The purpose of optimization is to maximize (or minimize) the value of a function (called objective function) subject to a number of restrictions (called constraints). • Examples • 1.Maximize reactor conversion • Subject to reactor modeling equations • kinetic equations • limitations on T, P and x
Optimization Basics • Examples (Continued) • 2.Minimize cost of plant • Subject to mass & energy balance equations • equipment modeling equations • environmental, technical and logical constraints
Optimization Basics • Examples (Continued) • 3.Maximize your grade in this course • Subject to extracurricular activities • full-time-job requirements • constant demand by other courses and/or your advisor/boss
Optimization Basics • Formulation of Optimization Problems • min (or max) f(x1,x2,……,xN) • subject to g1(x1,x2,……,xN)≤0 • g2(x1,x2,……,xN)≤0 • gm(x1,x2,……,xN)≤0 • h1(x1,x2,……,xN)=0 • h2(x1,x2,……,xN)=0 • hE(x1,x2,……,xN)=0 Feasibility Any vector (or point) which satisfies all the constraints of the optimization program is called a feasible vector (or a feasible point) The set of all feasible points is called feasibility region or feasibility domain Any optimal solution must lie within the feasibility region! Inequality Constraints Equality Constraints
Optimization Basics • Classification of Optimization Problems • Linear Programs (LP’s) • A mathematical program is linear if • f(x1,x2,……,xN) and gi(x1,x2,……,xN)≤0 are linear in each of their arguments: • f(x1,x2,……,xN) = c1x1 + c2x2 + …. cNxN • gi(x1,x2,……,xN) = ai1x1 + ai2x2 + …. aiNxN • where ci and aij are known constants. Linear Programs (LP’s) can be solved to yield a global optimum. Solver routines can guarantee a truly optimal solution.
Optimization Basics • Classification of Optimization Problems • Non-Linear Programs (NLP’s) • A mathematical program is non-linear if any of the arguments are non-linear. For example: • min 3x + 6y2 • s.t. 5x + xy ≥ 0 • Integer Programming • Optimization programs in which ALL the variables must assume integer values. The most commonly used integer variables are the zero/one binary integer variables. • Integer variables are often used as decision variables, e.g. to choose between two reactor types. Non-Linear Programs (NLP’s) can be solved to yield a local optimum. Solver routines can not always guarantee a globally optimal solution.
Optimization Basics • Classification of Optimization Problems • Mixed Integer Linear Programs (MILP’s) • Linear programs in which SOME of the variables are real and other variables are integers • Can be solved as individual LP’s by fixing the integer variables, thus a global optimum can be identified. • Mixed Integer Non-Linear Programs (MINLP’s) • Non-linear programs in which SOME of the variables are real and other variables are integers • Can be solved as individual NLP’s by fixing the integer variables, but depending on the nature of the NLP’s it may not be possible to find a global optimum.
Optimization Basics • Formulation of Optimization Problems • Step 1 • Determine the quantity to be optimized and express it as a mathematical function (this is your objective function) • Doing so also serves to define variables to be optimized (input variables or optimization variables) • Step 2 • Identify all stipulated requirements, restrictions, and limitations, and express them mathematically. These requirements constitute the constraints • Step 3 • Express any hidden conditions. Such conditions are not stipulated explicitly in the problem, but are apparent from the physical situation, e.g. non-negativity constraints
Optimization Example • Hydrogen Sulfide Scrubbing • Two variable grades of MEA. • First grade consists of 80 weight% MEA and 20% weight water. Its cost is 80 cent/kg. • Second grade consists of 68 weight% MEA and 32 weight% water. Its cost is 60 cent/kg. • It is desired to mix the two grades so as to obtain an MEA solution that contains no more than 25 weight% water. • What is the optimal mixing ratio of the two grades which will minimize the cost of MEA solution (per kg)?
Optimization Example • Hydrogen Sulfide Scrubbing (Cont’d) • Objective function min z = 80x1 + 60x2 • Constraints • Water content limitation 0.20x1 + 0.32x2 ≤ 0.25 • Overall material balance x1 + x2 =1 • Non-negativity x1 ≥ 0 • x2 ≥ 0 Variables (Basis 1 kg solution) x1 Amount of grade 1 (kg) x2 Amount of grade 2 (kg) z Cost of 1 kg solution (cents)
Optimization Example • Hydrogen Sulfide Scrubbing (Cont’d) • Feasibility region • The set of points (x1, x2) satisfying all the constraints, including the non-negativity conditions. • Constraint on water content 0.20x1 + 0.32x2 ≤ 0.25
Optimization Example • Hydrogen Sulfide Scrubbing (Cont’d) • Feasibility region • Non-negativity constraints x1 0 , x2 0
Optimization Example • Hydrogen Sulfide Scrubbing (Cont’d) • Feasibility region • Mass balance constraint x1 + x2 = 1
Optimization Example • Hydrogen Sulfide Scrubbing (Cont’d) • Feasibility region Any optimal solution must lie within the feasibility region!
Optimization Example • Hydrogen Sulfide Scrubbing (Cont’d) • By plotting objective function curves for arbitrary values of z (here 70 and 75) we can evaluate the results: Optimal Point Intersection between x1 + x2 = 1 and 0.20x1 + 0.32x2 = 0.25 In addition 70 < zmin < 75
Optimization Example • Hydrogen Sulfide Scrubbing (Cont’d) • Solving the two equations simultaneously yields the optimum amounts of the two MEA solutions along with the minimum cost of the mixture
Optimization Software • LINGO • Available on computers in Ross 306 • To start entering a new optimization problem type: • Model: • Enter the objective function by typing: • min = ……; or max = ……; • Then enter the constraints. • Each line must end by a semi-colon ; • The final statement in the problem should be “end”
Optimization Software • Resolving MEA Example in LINGO LINGO Input Model: min = 80*x1 + 60*x2; 0.2*x1 + 0.32*x2 < 0.25; x1 + x2 = 1; x1 > 0; x2 > 0; end LINGO Output Rows= 5 Vars= 2 No. integer vars= 0 ( all are linear) Nonzeros= 10 Constraint nonz= 6( 4 are +- 1) Density=0.667 Smallest and largest elements in absolute value= 0.200000 80.0000 No. < : 1 No. =: 1 No. > : 2, Obj=MIN, GUBs <= 2 Single cols= 0 Optimal solution found at step: 0 Objective value: 71.66667 Variable Value Reduced Cost X1 0.5833333 0.0000000E+00 X2 0.4166667 0.0000000E+00 Row Slack or Surplus Dual Price 1 71.66667 1.000000 2 0.0000000E+00 166.6667 3 0.0000000E+00 -113.3333 4 0.5833333 0.0000000E+00 5 0.4166667 0.0000000E+00 Value of objective function: 71.6667 Value of variable x1: 0.5833 Value of variable x2: 0.4167
More Optimization Examples • Lab Experiment • Determine the kinetics of a certain reaction by mixing two species, A and B. The cost of raw materials A and B are 2 and 3 $/kg, respectively. • Let x1 and x2 be the weights of A and B (kg) to be employed in the experiment • The operating cost of the experiment is given by: • OC = 4(x1)2 + 5(x2)2 • The total cost of raw materials for the experiment should be exactly $6. Minimize the operating cost!
More Optimization Examples • Lab Experiment (Cont’d) LINGO Input Model: min = 4*x1^2 + 5*x2^2; 2*x1 + 3*x2 = 6; x1 > 0; x2 > 0; end LINGO Output Rows= 4 Vars= 2 No. integer vars= 0 Nonlinear rows= 1 Nonlinear vars= 2 Nonlinear constraints= 0 Nonzeros= 7 Constraint nonz= 4 Density=0.583 Optimal solution found at step: 4 Objective value: 12.85714 Variable Value Reduced Cost X1 1.071429 0.0000000E+00 X2 1.285714 0.0000000E+00 Row Slack or Surplus Dual Price 1 12.85714 1.000000 2 0.0000000E+00 -4.285715 3 1.071429 0.1939524E-07 4 1.285714 0.0000000E+00 Value of objective function: 12.857 Value of variable x1: 1.071 Value of variable x2: 1.286
More Optimization Examples • Coal Conversion Plant • What are the optimal production rates of gaseous and liquid fuels that maximize the net profit of the plant? x1 ≤ 4 2x2 ≤ 12 3x1 + 2x2 ≤ 18
More Optimization Examples • Coal Conversion Plant (Cont’d) • Objective function max z = 3x1 + 5x2 • Constraints • Pretreatment capacity 3x1 + 2x2 ≤ 18 • Gasification capacity x1 ≤4 • Liquefaction capacity 2x2 ≤12 • Non-negativity x1 ≥ 0 • x2 ≥ 0
More Optimization Examples • Coal Conversion Plant (Cont’d) • Graphical solution • Maximum profit Z = 36 for x1 = 2 and x2 = 6
More Optimization Examples • Coal Conversion Plant (Cont’d) LINGO Input Model: max = 3*x1 + 5*x2; 3*x1 + 2*x2 <= 18; x1 <= 4; 2*x2 <= 12; x1 > 0; x2 > 0; end LINGO Output Rows= 6 Vars= 2 No. integer vars= 0 ( all are linear) Nonzeros= 11 Constraint nonz= 6( 3 are +- 1) Density=0.611 Smallest and largest elements in absolute value= 1.00000 18.0000 No. < : 3 No. =: 0 No. > : 2, Obj=MAX, GUBs <= 2 Single cols= 0 Optimal solution found at step: 1 Objective value: 36.00000 Variable Value Reduced Cost X1 2.000000 0.0000000E+00 X2 6.000000 0.0000000E+00 Row Slack or Surplus Dual Price 1 36.00000 1.000000 2 2.000000 0.0000000E+00 3 0.0000000E+00 1.500000 4 0.0000000E+00 1.000000 5 2.000000 0.0000000E+00 6 6.000000 0.0000000E+00 Value of objective function: 36 Value of variable x1: 2 Value of variable x2: 6
More Optimization Examples • Methanol Delivery • Supply methanol for three Methyl acetate plants located in towns A, B, and C • Daily methanol requirements for each plant: • MeAc Plant location Tons/day • A 6 • B 1 • C 10 • Methanol production plants • MeOH plant 1 2 3 4 • Capacity 7 5 3 2
More Optimization Examples • Methanol Delivery (Cont’d) • Shipping cost (100 $/ton) • Schedule the methanol delivery system to minimize the transportation cost
More Optimization Examples • Methanol Delivery (Cont’d) • We define the transportation loads (tons/day) going from each MeOH plant to each MeAc plant as follows: • Total transportation cost (Z) • Z = 2X1A + X1B + 5X1C + 3X2A + 0X2B + 8X2C + 11X3A + 6X3B + 15X3C + 7X4A + X4B + 9X4C
More Optimization Examples • Methanol Delivery (Cont’d) • Objective function min Z = 2X1A + X1B + 5X1C + 3X2A + 0X2B + 8X2C + 11X3A + 6X3B + 15X3C + 7X4A + X4B + 9X4C • Constraints • Availability/supply X1A + X1B + X1C = 7 • X2A + X2B + X2C = 5 • X3A + X3B + X3C = 3 • X4A + X4B + X4C = 2 • Requirements/demand X1A + X2A + X3A + X4A = 6 • X1B + X2B + X3B + X4B = 1 • X1C + X2C + X3C + X4C = 10
More Optimization Examples • Methanol Delivery (Cont’d) • Constraints • Non-negativity X1A ≥ 0 • X1B ≥ 0 • X1C ≥ 0 • X2A ≥ 0 • X2B ≥ 0 • X2C ≥ 0 • X3A ≥ 0 • X3B ≥ 0 • X3C ≥ 0 • X4A ≥ 0 • X4B ≥ 0 • X4C ≥ 0
Mixed Integer Programs • Use of 0-1 Binary Integer Variables • Commonly used to represent binary choices • Dichotomy modeling
Mixed Integer Programs • The Assignment Problem • Assignment of n people to do m jobs • Each job must be done by exactly one person • Each person can at most do one job • The cost of person jdoing job iis Cij • The problem is to assign the people to the jobs so as to minimize the total cost of completing all the jobs. • We can assign integer variables to describe whether a certain person does a certain job or not
Mixed Integer Programs • The Assignment Problem (Cont’d) • The event of person jdoing job i is designated Xij • The objective function can be written as: • Since exactly one person will do job i, and each person at most can do one job, we get:
Mixed Integer Programs • Plant Layout – An Assignment Problem • Four new reactors R1, R2, R3 and R4 are to be installed in a chemical plant • Four vacant spaces 1, 2, 3 and 4 are available • Cost of assigning reactor i to space j (in $1000) is • Assign reactors to spaces to minimize the total cost
Mixed Integer Programs • Plant Layout (Cont’d) • Let Xij denote the existence (or absence) of reactor i in space j, i.e. if Xij =1 then reactor i exists in space j • Objective function min Z = 15X11 + 11X12 + 13X13 + 15X14 + 13X21 + 12X22 + 12X23 + 17X24 + 14X31 + 15X32 + 10X33 + 14X34 • + 17X41 + 13X42 + 11X43 + 16X44
Mixed Integer Programs • Plant Layout (Cont’d) • Constraints • Each space must be assigned to one and only one reactor • X11 + X12 + X13 + X14 = 1 • X21 + X22 + X23 + X24 = 1 • X31 + X32 + X33 + X34 = 1 • X41 + X42 + X43 + X44 = 1 • Each reactor must be assigned to one and only one space • X11 + X21 + X31 + X41 = 1 • X12 + X22 + X32 + X42 = 1 • X13 + X23 + X33 + X43 = 1 • X14 + X24 + X34 + X44 = 1
Mixed Integer Programs • Plant Layout (Cont’d) • Solve using LINGO • Optimal assignment policy • Reactor R1 in space 2 • Reactor R2 in space 1 • Reactor R3 in space 4 • Reactor R4 in space 3 • Minimum cost • Cost = 11 + 13 + 14 + 11 = $49,000
Lecture 10 – Summary On completion of this part, you should: • Understand the different types of optimization problems and their formulation • Be able to formulate and solve a variety of optimization problems in LINGO
Other Business • Homework • SSLW: 24.1 plus problems posted on class webpage • Due Tuesday October 23 • LINGO software is available on class webpage as zip-file • Next Lecture – October 23 • Heat and Power Integration (SSLW p. 252-261) • Review of Midterm Exam • Thursday October 18 during lab sessions • You will get your tests back to look at during solution review