CS/ECE/ISyE 524 Introduction to Optimization Spring 2017–18 17. Intro to nonconvex models ❼ Overview ❼ Discrete models ❼ Mixed-integer programming ❼ Examples Laurent Lessard (www.laurentlessard.com)
Convex programs ❼ We saw: LP, QP, QCQP, SOCP, SDP ❼ Can be efficiently solved ❼ Optimal cost can be bounded above and below ❼ Local optimum is global f ( x ) 4 3 2 1 x - 1 1 2 3 4 17-2
Nonconvex programs ❼ In general, cannot be efficiently solved ❼ Cost cannot be bounded easily ❼ Usually we can only guarantee local optimality ❼ Difficulty depends strongly on the instance f ( x ) f ( x ) 4 4 3 3 2 2 1 1 x x - 1 1 2 3 4 1 2 3 4 5 17-3
Outline of the remainder of the course ❼ Integer (linear) programs ◮ it’s an LP where some or all variables are discrete (boolean, integer, or general discrete-valued) ◮ If all variables are integers, it’s called IP or ILP ◮ If variables are mixed, it’s called MIP or MILP ❼ Nonconvex nonlinear programs ◮ If continuous, it’s called NLP ◮ If discrete, it’s called MINLP ❼ Approximation and relaxation ◮ Can we solve solve a convex problem instead? ◮ If not, can we approximate? 17-4
Discrete variables Why are discrete variables sometimes necessary? 1. A decision variable is fundamentally discrete ❼ Whether a particular power plant is used or not { 0 , 1 } ❼ Number of automobiles produced { 0 , 1 , 2 , ... } ❼ Dollar bill amount { $1 , $5 , $10 , $20 , $50 , $100 } 17-5
Discrete variables Why are discrete variables sometimes necessary? 2. Used to represent a logic constraint algebraically . ❼ “At most two of the three machines can run at once.” z 1 + z 2 + z 3 ≤ 2 ( z i is 1 if machine i is running) ❼ “If machine 1 is running, so is machine 2.” z 1 ≤ z 2 ❼ Goal: (logic constraint) ⇐ ⇒ (LP with extra boolean variables) 17-6
Return to Top Brass 1 , 500 max 12 f + 9 s f , s 1 , 250 s.t. 4 f + 2 s ≤ 4800 (650, 1100) f + s ≤ 1750 soccer balls ( s ) 1 , 000 0 ≤ f ≤ 1000 0 ≤ s ≤ 1500 750 500 250 0 0 250 500 750 1 , 000 footballs ( f ) 17-7
Return to Top Brass 1 , 500 max 12 f + 9 s f , s 1 , 250 s.t. 4 f + 2 s ≤ 4800 (650, 1100) f + s ≤ 1750 soccer balls ( s ) 1 , 000 0 ≤ f ≤ 1000 0 ≤ s ≤ 1500 750 f and s are multiples of 50 500 250 Same solution! 0 0 250 500 750 1 , 000 footballs ( f ) 17-8
Return to Top Brass 1 , 500 max 12 f + 9 s f , s 1 , 250 s.t. 4 f + 2 s ≤ 4800 f + s ≤ 1750 soccer balls ( s ) 1 , 000 0 ≤ f ≤ 1000 (800, 800) 0 ≤ s ≤ 1500 750 f and s are multiples of 200 500 250 Boundary solution! 0 0 250 500 750 1 , 000 footballs ( f ) 17-9
Return to Top Brass 1 , 500 max 12 f + 9 s f , s 1 , 250 s.t. 4 f + 2 s ≤ 4800 f + s ≤ 1750 soccer balls ( s ) 1 , 000 (675, 900) 0 ≤ f ≤ 1000 0 ≤ s ≤ 1500 750 f and s are multiples of 225 500 250 Interior solution! 0 0 250 500 750 1 , 000 footballs ( f ) 17-10
Mixed-integer programs c T x maximize x subject to: Ax ≤ b x ≥ 0 x i ∈ S i where S i can be: ❼ The real numbers, R ❼ The integers, Z ❼ Boolean, { 0 , 1 } ❼ A discrete set, { v 1 , v 2 , . . . , v k } 17-11
Mixed-integer programs c T x maximize x subject to: Ax ≤ b x ≥ 0 x i ∈ S i The solution can be ❼ Same as the LP version ❼ On a boundary ❼ In the interior (but not too far) 17-12
Common examples ❼ Facility location ◮ locating warehouses, services, etc. ❼ Scheduling/sequencing ◮ scheduling airline crews ❼ Multicommodity flows ◮ transporting many different goods across a network ❼ Traveling salesman problems ◮ routing deliveries 17-13
Knapsack problem My knapsack holds at most 15 kg. I have the following items: item number 1 2 3 4 5 weight 12 kg 2 kg 4 kg 1 kg 1 kg value ✩ 4 ✩ 2 ✩ 10 ✩ 2 ✩ 1 How can I maximize the value of the items in my knapsack? � 1 knapsack contains item i Let z i = 0 otherwise 17-14
Knapsack problem My knapsack holds at most 15 kg. I have the following items: item number 1 2 3 4 5 weight 12 kg 2 kg 4 kg 1 kg 1 kg value ✩ 4 ✩ 2 ✩ 10 ✩ 2 ✩ 1 How can I maximize the value of the items in my knapsack? maximize 4 z 1 + 2 z 2 + 10 z 3 + 2 z 4 + z 5 z subject to: 12 z 1 + 2 z 2 + 4 z 3 + z 4 + z 5 ≤ 15 z i ∈ { 0 , 1 } for all i notebook: Knapsack.ipynb 17-15
General (0,1) knapsack ❼ weights w 1 , . . . , w n and limit W . ❼ values v 1 , . . . , v n ❼ decision variables z 1 , . . . , z n n � maximize v i z i z i =1 n � subject to: w i z i ≤ W i =1 z i ∈ { 0 , 1 } for i = 1 , . . . , n 17-16
Recommend
More recommend