Dec 2
Dec 2
194
Primary objectives:
Capital budgeting: Modelling with integer programming Branch-and-Bound Cutting planes Modelling: Combinatorial Auctions and Constructing an index fund
195
Since investments cannot be split up, we cannot model this with continuous variables as in linear programming
An integer program
max8x1 + 11x2 + 6x3 + 4x4 subject to 6.7x1 + 10x2 + 5.5x3 + 3.4x4 xi {0, 1}
19
196
Maximize obj: 8 x1 + 11 x2 + 6 x3 + 4 x4 Subject to c1: 6.7 x1 + 10 x2 + 5.5 x3 + 3.4 x4 <= 19 Binary x1 x2 x3 x4 End
Integer programs can, for example, be solved with SCIP Optimal solution: x1 = 0, x2 = x3 = x4 = 1
197
198
Solving MIPs
LP-relaxation
Ignoring constraints xi Z for i = 1, . . . , p yields linear program, called the LP-relaxation. The value of LP-relaxation is upper bound on the optimum value of the MIP .
199
200
201
202
Left sub-problem Maximize obj: x1 + x2 Subject to c1: -x1 + x2 <= 2 c2: 8 x1 + 2 x2 <= 19 Bounds x1 x2 >= 0 x1 <= 1 End Solution of left subproblem
x1 = 1, x2 = 3 (integral feasible) Value: z = 4
203
Optimal solution
Each integer feasible solution of right sub-problem has value bounded by 3.5. Since value of integer feasible solution x1 = 1, x2 = 3 is 4, we can prune the right sub-problem Since integer feasible solution x1 = 1, x2 = 3 is also optimal solution of left sub-problem, each integer feasible solution of left-subproblem has value at most 4. Thus x1 = 1 and x2 = 3 is optimum solution to integer program.
205
Branching
Let xi be solution to linear program Ni
i Let xj be one of the non-integral components of xi for j {1, . . . , p}
i xj or xj
i xj .
One way to branch is to create sub-problems i + i } := {Ni , xj xj } and Nij Nij := {Ni , xj xj Strong branching creates those sub-problems whose sum of values is as small as possible (tightening the upper bound)
207
Cutting planes
Suppose we have pure integer program max{cT x : Ax b, x Zn } Set P = {x Rn : Ax b} is called polyhedron Integer hull is convex hull of P Zn . If cT x , c Zn is valid for P , then cT x valid for integer hull PI of P . Cutting plane cT x strengthens LP-relaxation
P PI
208
cT x
P (,0 )
209
In practice
Mixed integer linear programs are solved with a combination of branch & bound and cutting planes
210
211
Combinatorial auctions
Problem description
Auctioneer sells items M = {1, . . . , m} Bid is a pair Bj = (Sj , pj ), where Sj M and pj is a price Auctioneer has received n bids B1 , . . . , Bn Question: How should auctioneer determine winners and losers in order to maximize his revenue?
212
Example
Four items M = {1, 2, 3, 4, } Bids: B1 = ({1}, 6), B2 = ({2}, 3), B3 = ({3, 4}, 12), B4 = ({1, 3}, 12), B5 = ({2, 4}, 8), B6 = ({1, 3, 4}, 16)
Integer program Maximize obj: 6 x1 + 3 x2 + 12 x3 + 12 x4 + 8 x5 + 16 x6 Subject to c1: x1 + x4 + x6 <= 1 c2: x2 + x5 <= 1 c3: x3 + x4 + x6 <= 1 c4: x3 + x5 + x6 <= 1 Binary x1 x2 x3 x4 x5 x6 End
213
Integer program
n
max
i =1 j j i xj
pj xj
214
215
Example
Receive payments from four regions: West, Midwest, East, South Average daily value from each region is: $600 K, $240 K, $720 K, $ 360 K respectively Operating Lockbox costs $90 K per year Clearing times: From L.A. West 2 4 Midwest East 6 South 7 Pittsburgh 4 2 5 5 Boston 6 5 2 6 Houston 6 5 5 3
216
Example cont.
Average of 3 600K = 6 600K is in process any given day considering West sending to Boston Assuming 5% interest rate per year, this corresponds to a loss of interest of 180 K per year Complete table of lost interest in $K: From L.A. Pittsburgh Boston West 60 120 180 48 24 60 Midwest 216 180 72 East South 126 90 108 Houston 180 60 180 54
217
Example cont.
Integer programming formulation
yj {0, 1} indicates whether lockbox j is open or not xij = 1 if region i sends checks to lockbox j Objective is to minimize total yearly loss min 60x11 + 120x12 + 180x13 + 180x14 + 48x12 . . . + 90y1 + . . . + 90y4 Each region is assigned to exactly one lockbox xij = 1 for all i
j
218
Complete IP
Minimize obj: 60 X11 + 120 X12 + 180 X13 + 180 X14 + 48 X21 + 24 X22 + 60 X23 + 60 X24 + 216 X31 + 180 X32 + 72 X33 + 180 X34 + 126 X41 + 90 X42 + 108 X43 + 54 X44 + 90 Y1 + 90 Y2 + 90 Y3 + 90 Y4 Subject to c1: X11 + X12 + X13 + X14 = 1 c2: X21 + X22 + X23 + X24 = 1 c3: X31 + X32 + X33 + X34 = 1 c4: X41 + X42 + X43 + X44 = 1 c5: X11 + X21 + X31 + X41 - 4 Y1 <= 0 c6: X12 + X22 + X32 + X42 - 4 Y2 <= 0 c7: X13 + X23 + X33 + X43 - 4 Y3 <= 0 c8: X14 + X24 + X34 + X44 - 4 Y4 <= 0 Binary X11 X12 X13 X14 X21 X22 X23 X24 X31
219
IP model
max
ij ij xij n y j j =1 = q n j=1 xij = 1,
220
wj =
i =1
Vi xij
221
Primary objectives:
Capital budgeting: Modelling with integer programming Branch-and-Bound Cutting planes Modelling: Combinatorial Auctions and Constructing an index fund
222