0% found this document useful (0 votes)
50 views

Dec 2

The document discusses applications of integer programming, including capital budgeting problems, combinatorial auctions, the lockbox problem, and constructing an index fund. It provides examples of modeling each application as an integer program to determine optimal solutions. Integer programs can be solved using techniques like branch-and-bound and cutting planes.

Uploaded by

Tyas Agustina
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
50 views

Dec 2

The document discusses applications of integer programming, including capital budgeting problems, combinatorial auctions, the lockbox problem, and constructing an index fund. It provides examples of modeling each application as an integer program to determine optimal solutions. Integer programs can be solved using techniques like branch-and-bound and cutting planes.

Uploaded by

Tyas Agustina
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 29

PART 9 I NTEGER P ROGRAMMING

194

Primary objectives:
Capital budgeting: Modelling with integer programming Branch-and-Bound Cutting planes Modelling: Combinatorial Auctions and Constructing an index fund

195

A capital budgeting problem


We want to invest $19000 Four investment opportunities which cannot be split (take it or leave it)
1. 2. 3. 4. Investment of $6700 and net present value of $8000 Investment of $10000 and net present value of $11000 Investment of $5500 and net present value of $6000 Investment of $3400 and net present value of $4000

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

Solving the integer program


Encode problem in lp-format (or mps format):

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

Denition of integer programming


Mixed integer program (MIP)
max cT x Ax b xi Z for i = 1, . . . , p. Here A Qmn , b Qm and c Qn . If p = n (all variables have to be integral), then we speak about pure integer program. x Rn is integer feasible, if x satises all linear constraints and the constraints xi Z for i = 1, . . . , p.

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

Example of branch and bound


Consider pure IP Maximize obj: x1 + x2 Subject to c1: -x1 + x2 <= 2 c2: 8 x1 + 2 x2 <= 19 Bounds x1 x2 >= 0 Integer x1 x2 End

200

Example of branch and bound


LP-relaxation Maximize obj: x1 + x2 Subject to c1: -x1 + x2 <= 2 c2: 8 x1 + 2 x2 <= 19 Bounds x1 x2 >= 0 End Solution of LP-relaxation
x1 = 1.5, x2 = 3.5 Value: x = 5

201

Example of branch and bound


LP-relaxation Maximize obj: x1 + x2 Subject to c1: -x1 + x2 <= 2 c2: 8 x1 + 2 x2 <= 19 Bounds x1 x2 >= 0 End Solution of LP-relaxation
x1 = 1.5, x2 = 3.5 Value: z = 5

202

Example of branch and bound


Create two sub-problems:

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

Example of branch and bound


Right sub-problem Maximize obj: x1 + x2 Subject to c1: -x1 + x2 <= 2 c2: 8 x1 + 2 x2 <= 19 Bounds x1 x2 >= 0 x1 >= 2 End Solution of right subproblem
x1 = 2, x2 = 1.5 (integral infeasible) Value: z = 3.5
204

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

Branch and Bound


L is list of linear programs, zL is global lower bound on value of MIP , x is integer feasible solution of MIP

Branch & Bound


1. (Initialize) L = {LP-Relaxation of MILP}, zL = , x = 2. (Terminate?) If L = , then x is optimal 3. (Select node) Choose and delete problem Ni from L 4. (Bound) Solve Ni . If Ni is infeasible, then goto 2), else let xi be its optimal solution and zi be its objective value. 5. (Prune) If zi zL , then go to 2). If xi is not integer feasible, then go to step 6) If xi is integer feasible, then set zL = zi and x = xi . Go to step 2) 6. (branch) From Ni construct linear programs Ni1 , . . . , Nik with smaller feasible region whose union contains all integer feasible solutions of Ni . Add Ni1 , . . . , Nik to L and go to step 2).
206

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}

Each integer feasible solution satises xj

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

Cutting planes for mixed integer programs


max{cT x : Ax b, xi Z for i = 1, . . . , p} MIP , denote vector rst p variables x1 , . . . , xp by y Split: Tuple (, 0 ), Zp , 0 Z Each integer feasible solution x in polyhedron satises T y 0 or T y 0 + 1 P = {x Rn : Ax b} polyhedron: P (,0 ) = conv P (y 0 ), P (y 0 + 1) . Split cut is inequality cT x such that there exists a split (, 0 ) such that cT x is valid for P (,0 )
y 0 y 0 + 1

cT x

P (,0 )
209

In practice
Mixed integer linear programs are solved with a combination of branch & bound and cutting planes

210

PART 9.1 A PPLICATIONS OF M IXED I NTEGER


PROGRAMMING

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

Several indistinguishable items


ui : Number of items of type i Bid is tuple: Bj = (1 , . . . , m , pj )
j j

Integer program
n

max
i =1 j j i xj

pj xj

ui for i = 1, . . . , m xj {0, 1}, j = 1, . . . , n.

214

The lockbox problem


National rm in US receives checks from all over the country Delay from obligation of customer (check postmarked) to clearing (check arrives) Money should be available as soon as possible Idea: Open ofces all over country to receive checks and to minimize delay

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

Regions can only send to open lockboxes: xij


i

4yj for all 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

Constructing an index fund


Portfolio should reect large index (like S&P 500) However, not all stocks should be bought (transaction costs) Suppose a measure of similarity is available: 0 ii = 1. Variable xij models i being represented by j ij 1 for i = j,

IP model
max
ij ij xij n y j j =1 = q n j=1 xij = 1,

i = 1, . . . , n xij yj , i, j = 1, . . . , n xij , yj {0, 1}, i, j = 1, . . . , n

220

Constructing an index fund cont.


q stocks are selected Denote by Vi market value of stock i Weight of stock j
n

wj =
i =1

Vi xij

Fraction to be invested in j is proportional to stocks weight wj


i wi

221

Primary objectives:
Capital budgeting: Modelling with integer programming  Branch-and-Bound  Cutting planes  Modelling: Combinatorial Auctions and Constructing an index fund 

222

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy