Non-Linear Programming
description
Transcript of Non-Linear Programming
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 ProblemCustomer X Coordinate Y Coordinate Number of Shipments
1 5 10 2002 10 5 1503 0 12 2004 12 0 300
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
minimize200*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)
1
3
5
7
9
11
0 1 2 3 4 5 6 7 8 9
-
1.00
2.00
3.00
4.00
5.00
6.00
7.00
8.00
9.00
10.00
Pooling ProblemBlend crudes in pools
Blend Alaska 1 and Alaska 2Make 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
Alaska 1
Alaska 2
Alaska Pool
Premium
Unlead
Reg.
Texas
Lead
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 dailyNoL - Gals of No Lead produced daily
Composition Variables
For convenienceAlaskaSulfur - sulfur content of Alaska poolAlaskaOctane- 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’dDefine 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 5000Reg 5000NoL 5000Upper LimitsTexas 11000Lead 6000
Objective
Maximize ProfitRevenues from Products0.86*Reg + 0.93*NoL + 1.06*Prem Costs of Raw Materials0.78*Alaska 1 + 0.88*Alaska 2 + 0.75*Texas +
1.30*Lead
Formulating NLPs
As in the book No need for abstractionSome off the shelf software (MINOS)Requires more sophistication to useDoes 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
Volume Purchased
Tot
al C
ost
Minimize Cost
Volume Purchased
Tot
al C
ost
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 lineTechnically: 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
Volume Purchased
Tot
al C
ost
Convex in 2 dimensions
1
3
5
7
9
11
0 1 2 3 4 5 6 7 8 9
-
1.00
2.00
3.00
4.00
5.00
6.00
7.00
8.00
9.00
10.00
Maximize Profit
Volume Sold
Tot
al P
rofi
t
Maximize Profit
Volume Sold
Tot
al P
rofi
t
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 lineTechnically: 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
Volume Sold
Tot
al P
rofi
t
What makes these easy
With no constraintsLocal 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 HardP
rofi
t
Volume Sold
Feasible