350 likes | 540 Views
Non-Linear Programming. Same structure variables objective function constraints No restrictions Except typically variables must be continuous. Examples. How to model binary variables x is 0 or 1 Equivalent continuous formulation x(1-x) = 0 NOT LINEAR!. Location Problem. Variables
E N D
Non-Linear Programming • Same structure • variables • objective function • constraints • No restrictions • Except typically variables must be continuous
Examples • How to model binary variables • x is 0 or 1 • Equivalent continuous formulation • x(1-x) = 0 NOT LINEAR!
Location Problem Variables x is the X coordinate of the facility y is the Y coordinate of the facility Objective Minimize Distance traveled to deliver goods Constraints - None
Formulation • minimize 200*sqrt((x-5)2 + (y-10)2) + 150*sqrt((x-10)2 + (y-5)2) + 200*sqrt((x-0)2 + (y-12)2) + 300*sqrt((x-12)2 + (y-0)2)
Pooling Problem • Blend crudes in pools • Blend Alaska 1 and Alaska 2 • Make products from the pools • Regular • Unleaded • Premium • Composition constraints on final products • Premium 2.8% Sulfur 90 Octane • Sells for $0.86/gal, minimum 5000 gals
Diagram Lead Premium Alaska 2 Unlead Alaska Pool Texas Reg. Alaska 1
Input Variables • Lead - gallons daily • LeadPrem - gallons of lead used in premium daily • LeadReg - gallons of lead used in regular daily • Alaska - gallons of Alaska pool daily • Alaska1 - gallons of Alaska 1 used in pool daily • Alaska2 - gallons of Alaska 2 used in pool daily • AlaskaPrem - gals of Alaska pool used in prem. daily • AlaskaReg - gals of Alaska pool used in reg. daily • AlaskaNoL - gals of Alaska pool used in No lead daily • Texas - gallons of Texas used daily • TexasPrem - gals of Texas used in prem. daily • TexasReg - gals of Texas used in reg. daily • TexasNoL - gals of Texas used in No lead daily
Output Variables • Prem - Gals of Premium produced daily • Reg- Gals of Regular produced daily • NoL - Gals of No Lead produced daily
Composition Variables • For convenience • AlaskaSulfur - sulfur content of Alaska pool • AlaskaOctane- octane of Alaska pool
Constraints • Define Alaska Pool • Alaska = Alaska 1 + Alaska 2 • AlaskaSulfur = (4%*Alaska 1 + 1% * Alaska 2)/Alaska • AlaskaOctane=(91*Alaska 1 + 97*Alaska 2)/Alaska • Use Alaska Pool • Alaska = AlaskaPrem + AlaskaReg + AlaskaNoL
Constraints Cont’d • Define Products • Prem = AlaskaPrem+ TexasPrem + LeadPrem • Reg = AlaskaReg+ TexasReg + LeadReg • NoL = AlaskaNoL+ TexasNoL • Constrain Composition • AlaskaSulfur*AlaskaPrem + .02*TexasPrem .028*Prem • AlaskaSulfur*AlaskaNoL + .02*TexasNoL .03*NoL • AlaskaSulfur*AlaskaReg + .02*TexasReg .03*Reg • AlaskaOctane*AlaskaPrem + 83*TexasPrem 94*Prem • AlaskaOctane*AlaskaNoL + 83*TexasNoL 88*NoL • AlaskaOctane*AlaskaReg + 83*TexasReg 90*Reg
Constrain Volumes • Prem 5000 • Reg 5000 • NoL 5000 • Upper Limits • Texas 11000 • Lead 6000
Objective • Maximize Profit • Revenues from Products • 0.86*Reg + 0.93*NoL + 1.06*Prem • Costs of Raw Materials • 0.78*Alaska 1 + 0.88*Alaska 2 + 0.75*Texas + 1.30*Lead
Formulating NLPs • As in the book • No need for abstraction • Some off the shelf software (MINOS) • Requires more sophistication to use • Does not typically provide guarantees
Getting Guarantees • When we can use an LP formulation with a non-linear objective • Minimize Cost and things get more expensive as we get more • Maximize Profit and profits decrease as we sell more
Minimize Cost Total Cost Volume Purchased
Minimize Cost Total Cost Volume Purchased
Easy Problem • The Cost Function lies below the linear approximation • No incentive to use any weights other than consecutive ones • Don’t need Integer Programming
Convex Function • Lies below the line • Technically: A convex function has the property that for each pair of points x and y and weight w between 0 and 1 the function evaluated at wx + (1-w)y (a fraction w of the way from y towards x) is wf(x) + (1-w)f(y) (the same fraction of the way from f(y) towards f(x))
Minimize Cost Total Cost Volume Purchased
Maximize Profit Total Profit Volume Sold
Maximize Profit Total Profit Volume Sold
Easy Problem • The Profit Function lies above the linear approximation • No incentive to use any weights other than consecutive ones • Don’t need Integer Programming
Concave Function • Lies above the line • Technically: A concave function has the property that for each pair of points x and y and weight w between 0 and 1 the function evaluated at wx + (1-w)y (a fraction w of the way from y towards x) is wf(x) + (1-w)f(y) (the same fraction of the way from f(y) towards f(x))
Maximize Profit Total Profit Volume Sold
What makes these easy • With no constraints • Local Optimum is best in a small neighborhood, e.g., as good as every point within epsilon of it. • Convex minimization: A local optimum is a global optimum, e.g., a best answer • Concave maximization: A local optimum is a global optimum.
Tough Problems Local Max Local Max Local Min Local Min
Convex Sets • A set with the property that for every pair of points in the set, the line joining the points is in the set as well is a CONVEX SET • Points in a convex set can see each other
Convex Sets • Linear Programming Feasible regions
Non-convex Sets • Feasible Region of Integer Programs
Easy Problems • Convex Minimization over a convex set • Objective is a convex function • Constraints define a feasible region that is a convex set • Any Local minimum is a global minimum
Easy Problems • Concave Maximization over a convex set • Objective is a concave function • Constraints define a feasible region that is a convex set • Any Local maximum is a global maximum
Non-convex Sets are Hard Feasible Profit Volume Sold