od integer programming 2010

34
1 INTEGER PROGRAMMING Integer Programming In many problems the decision variables must have integer values. Example: assign people, machines, and vehicles to activities in integer quantities. If this is the only deviation from linear programmi ng , it is called an integer programming (IP) problem. If only some variables are required to integer, the model is called a mixed integer programming (MIP) San Francisco Police Dep. problem is an IP problem. Wyndor Glass Co. problem could be an IP problem; how? 264

Upload: carolinarvsocn

Post on 07-Mar-2016

218 views

Category:

Documents


0 download

DESCRIPTION

asdfsdf

TRANSCRIPT

Page 1: OD Integer Programming 2010

7/21/2019 OD Integer Programming 2010

http://slidepdf.com/reader/full/od-integer-programming-2010 1/34

1

INTEGERPROGRAMMING

Integer Programming

In many problems the decision variables must have

integer values.

Example: assign people, machines, and vehicles to

activities in integer quantities.

If this is the only deviation from linear programming ,

it is called an integer programming (IP) problem.

If only some variables are required to integer, the

model is called a mixed integer programming (MIP)

San Francisco Police Dep. problem is an IP problem.

Wyndor Glass Co. problem could be an IP problem;

how?

264

Page 2: OD Integer Programming 2010

7/21/2019 OD Integer Programming 2010

http://slidepdf.com/reader/full/od-integer-programming-2010 2/34

2

Integer Programming

In integer programming, divisibility assumption must

be dropped.

Another area of application is in problem involving

“yes-or-no” decisions, which have binary variables.

These IP problems are called binary integer

programming (BIP) problems.

A very small example of a typical BIP problem is given

in the following.

265

Prototype example

California Manufacturing Company is considering expansion

building a factory in Los Angeles, San Francisco or in both cities.

One new warehouse can also be considered in a city where a

new factory is being built. Maximum $10 million to invest.

Objective: find feasible combination of alternatives that

maximizes the total net present value.

266

Decision

number

Yes or no question Decision

variable

Net present

value

Capital

required

1 Build factory in Los Angeles?   x  1 $9 million $6 million

2 Build factory in San Francisco?   x  2 $5 million $3 million

3 Build warehouse in Los Angeles?   x  3 $6 million $5 million

4 Build warehouse in San Francisco?   x  4 $4 million $2 million

Page 3: OD Integer Programming 2010

7/21/2019 OD Integer Programming 2010

http://slidepdf.com/reader/full/od-integer-programming-2010 3/34

Page 4: OD Integer Programming 2010

7/21/2019 OD Integer Programming 2010

http://slidepdf.com/reader/full/od-integer-programming-2010 4/34

4

BIP applications

Investment analysis , such as the California Man. Co.

Site selection , of factories, warehouses, etc.

Designing a product ion and dist ribution network , or

more generally the entire global supply-chain.

Dispatching shipments , scheduling routes, vehicles

and time period for departure and arrivals.

Airline applicat ions , as e.g. fleet assignment and crew

scheduling. Scheduling interrelated act ivit ies , asset divestures ,

etc.

269

Formulation examples

Example 1: making choices when decision variables

are continuous. R&D Division of Good Products Co. has

developed three possible new products.

Requirement 1: from the three, at most two can be

chosen to be produced.

Each product can be produced in either of two plants.

However, management has imposed a restriction:

Requirement 2: just one of the two plants can be

chosen as the producer of the new products.

270

Page 5: OD Integer Programming 2010

7/21/2019 OD Integer Programming 2010

http://slidepdf.com/reader/full/od-integer-programming-2010 5/34

5

Example 1

Objectives: choose the products, the plant and the

production rates of the chosen products to maximize

total profit.

271

Production time used for each unit

produced

Production time

available per

week

Product 1 Product 2 Product 3

Plant 1 3 hours 4 hours 2 hours 30 hours

Plant 2 4 hours 6 hours 2 hours 40 hours

Unit profit 5 7 3 (103 euros)Sale potential 7 5 9 (units per week)

Formulation of the problem

Similar to a standard product mix problem , such as the Wyndor

Glass Co.

It is such a problem, if we drop the two restrictions and by

requiring that a product uses production hours in both plants.

Let x1, x2, x3 be the production rates of the respective products:

272

1 2 3Maximize 5 7 3 Z x x x

1 2 3

1 2 3

1

2

3 1 2 3

3 4 2 30

4 6 2 40

7

5

9, , , 0

 x x x

 x x x

 x

 x

 x x x x

subject to

Page 6: OD Integer Programming 2010

7/21/2019 OD Integer Programming 2010

http://slidepdf.com/reader/full/od-integer-programming-2010 6/34

6

Formulation of the problem

For the real problem, Requirement 1 add the

constraint:

Number of strictly positive variables ( x1, x2, x3) must be   2

This must be converted to an IP problem. It needs the

introduction of auxiliary binary variables.

Requirement 2 requires replacing the first two

constraints to:

must hold. This again requires an auxiliary binary

variable.

273

1 2 3

1 2 3

Either 3 4 2 30

or 4 6 2 40

 x x x

 x x x

Auxiliary binary variables

For Requirement 1, three auxiliary binary variables ( y1,

 y2, y3) are introduced:

This is introduced in the model with the help of anextremely large positive number  M , adding the

constraints:

274

1 if 0 can hold (can produce product )

0 if 0 must hold (cannot produce product )

 j

 j

 j

 x j y

 x j

 

1 1

2 2

3 3

1 2 3 2

is binary, for 1, 2,3. j

 x My

 x My

 x My

 y y y

 y j

Page 7: OD Integer Programming 2010

7/21/2019 OD Integer Programming 2010

http://slidepdf.com/reader/full/od-integer-programming-2010 7/34

7

Auxiliary binary variables

For Requirement 2, another auxiliary binary variable  y4

is introduced:

This add the constraints:

275

1 2 3

4

1 2 3

1 if 4 6 2 40 must hold (choose Plant 1)

0 if 3 4 2 30 must hold (choose Plant 2)

 x x x y

 x x x

 

1 2 3 4

1 2 3 4

4

3 4 2 30

4 6 2 40 (1 )

 is binary

 x x x My

 x x x M y

 y

Complete model (MIP)

276

1 2 3

1

2

3

1 1

2 2

3 3

1 2 3

1 2 3 4

1 2 3 4

Maximize 5 7 3

subject to 7

5

9

0

0

0

2

3 4 2 30

4 6 2 40

and 0, for 1, 2,3

 is binary, for 1,2,3,4

i

 j

 Z x x x

 x

 x

 x

 x My

 x My

 x My

 y y y

 x x x My

 x x x My M 

 x i

 y j

Page 8: OD Integer Programming 2010

7/21/2019 OD Integer Programming 2010

http://slidepdf.com/reader/full/od-integer-programming-2010 8/34

8

Solution

MIP problem with 3 continuous and 4 binary variables.

Optimal solution: y1 = 1, y2 = 0,  y3 = 1, y4 = 1, x1 = 5.5,

 x2 = 0, x3 = 9.

That is, choose products 1 and 3 to produce, choose

Plant 2 for production, choose production rates of 5.5

units per week for product 1 and 9 units per week for

product 2.

Resulting profit is 54500€ per week.

277

Example 2

See Hillier’s book (page 496). Profit from additional sales

violates proportionality:

278

Page 9: OD Integer Programming 2010

7/21/2019 OD Integer Programming 2010

http://slidepdf.com/reader/full/od-integer-programming-2010 9/34

9

Example: Southwestern Airways

Southwestern Airways needs to assign three crews to

cover all the upcoming flights.

Table shows the flights in the first column.

Other 12 columns show the 12 feasible sequences of flights

for a crew.

Numbers in each column indicate the order of the flights.

Exactly three sequences must be chosen (one for each crew).

More than one crew can be assigned to a flight, but it must

be paid as if it was working. Last column show the cost of assigning a crew to a sequence

of flights.

279

Data for Southwestern Airways

280

Feasible sequence of flights

Flight 1 2 3 4 5 6 7 8 9 10 11 12

1. San Francisco to Los Angeles 1 1 1 1

2. San Francisco to Denver 1 1 1 1

3. San Francisco to Seattle 1 1 1 1

4. Los Angeles to Chicago 2 2 3 2 3

5. Los Angeles to San Francisco 2 3 5 5

6. Chicago to Denver 3 3 4

7. Chicago to Seattle 3 3 3 3 4

8. Denver to San Francisco 2 4 4 5

9. Denver to Chicago 2 2 2

10. Seattle to San Francisco 2 4 4 5

11. Seattle to Los Angeles 2 2 4 4 2

Cost (1000€) 2 3 4 6 7 5 7 8 9 9 8 9

Page 10: OD Integer Programming 2010

7/21/2019 OD Integer Programming 2010

http://slidepdf.com/reader/full/od-integer-programming-2010 10/34

10

Formulation of the problem

Objective: minimize the total cost for the three crews.

12 feasible sequence of flights: 12 yes-or-no decisions:

Should sequence j be assigned to a crew?

The 12 binary variables to represent the decisions are:

281

1 if sequence is assigned to a crew

0 otherwise j

 j x

   

1 2 3 4 5 6 7 8 9

10 11 12

Minimize 2 3 4 6 7 5 7 8 9

9 8 9

 Z x x x x x x x x x

 x x x

and is binary, for 1,2, ,12 j x j   

subject to1 4 7 10

2 5 8 11

3 6 9 12

4 7 9 10 12

1 6 10 11

4 5 9

7 8 10 11 12

2 4 5 9

5 8 11

3 7 8 12

6 9 10 11 1212

1

1 (SF to LA)

1

1

1

11

1

1

1

1

1

3 (assign three crews j

 j

 x x x x

 x x x x

 x x x x

 x x x x x

 x x x x x x x

 x x x x x

 x x x x

 x x x

 x x x x

 x x x x x

 x

)

Formulation of the problem

282

Page 11: OD Integer Programming 2010

7/21/2019 OD Integer Programming 2010

http://slidepdf.com/reader/full/od-integer-programming-2010 11/34

11

Solution

One optimal solution is:

  x3 = 1 (assign sequence 3 to a crew)

  x4 = 1 (assign sequence 4 to a crew)

  x11 = 1 (assign sequence 11 to a crew)

And all other x j = 0.

Total cost is 18000€.

Another optimal solution is:   x1 = x5 = x12 = 1.

283

Discussion

This example belongs to a class called set covering

problems, with a number of potential activities (e.g.

flight sequences) and characteristics (e.g. flights).

  S i is the set of all activities that possess characteristic  i.

A constraint is included for each characteristic  i:

In set partitioning problems the constraint is

284

1 j

 j

 j S 

 x

1i

 j

 j S 

 x

Page 12: OD Integer Programming 2010

7/21/2019 OD Integer Programming 2010

http://slidepdf.com/reader/full/od-integer-programming-2010 12/34

12

Solving IP problems

Integer problems are easy to solve? 

Difference to LP is that IP have far fewer solutions.

IP problems have a finite number of feasible solutions.

However:

Finite numbers can be astronomically large! With  n

variables a BIP problem has  2 n solutions, having

exponential growth.

LP assures that a CFP solution can be optimal,

guaranteeing the remarkable efficiency of the simplex

method. LP problems are much easier t o solve than IP LP problems are much easier t o solve than IP 

problems problems ..

285

Solving IP problems

Consequently, most IP algorithms incorporate the

simplex method. This is called the LP relaxation.

Sometimes, the solution of the LP problem is the

solution of the IP problem, such as:

Minimum cost f low problem , including transportation 

problem , assignment problem , shortest -path problem 

and maximum flow problem .

Special structures (see examples 2 and 3): mutually 

exclusive alt ernat ives , contingent decisions or set- 

covering constraint s can also simplify the problem.

286

Page 13: OD Integer Programming 2010

7/21/2019 OD Integer Programming 2010

http://slidepdf.com/reader/full/od-integer-programming-2010 13/34

13

Solving IP problems

Primary determinants of computational complexity:

1. number of integer variables,

2. these variables are binary or general integer variables,

3. any special structure in the problem.

This is in contrast to LP, where number of constraints

is much more important than the number of 

variables.

As IP problems are much more difficult than LP, wecould apply LP and round the obtained solution...

Yes??

287

Example 1

288

2Minimize   Z x

1 2

1 2

1 2

subject to 0.5

3.5,

and , 0, integers.

 x x

 x x

 x x

Page 14: OD Integer Programming 2010

7/21/2019 OD Integer Programming 2010

http://slidepdf.com/reader/full/od-integer-programming-2010 14/34

14

Example 2

289

1 2Minimize 5 Z x x

1 2

1

1 2

subject to 10 20

2

and , 0, integers.

 x x

 x

 x x

Solving IP problems

Thus, a better approach to deal with IP problems that

are too large to be solved exactly are heuristic

algorithms.

Heuristics and metaheuristics are extremely efficient

for very large problems, but do not guarantee to find

an optimal solution.

These algorithms will be discussed further later.

Most popular traditional method for solving IP

problems is the branch-and-bound technique.

290

Page 15: OD Integer Programming 2010

7/21/2019 OD Integer Programming 2010

http://slidepdf.com/reader/full/od-integer-programming-2010 15/34

15

Branch-and-bound applied to BIP

Pure IP problems can consider some type of 

enumerat ion procedure .

This should be done in a clever way such that only a

tiny fraction of the feasible solutions is examined.

Branch-and-bound with a divide to conquer technique

can be used.

dividing (branching ) the problem into smaller and

smaller subproblems until it can be conquered

conquering (fathoming ) by bounding how good the

best solution can be. If no optimal solution in subset:

discard it.

291

Example: California Manuf, Co.

Recall prototype example:

Maximize   Z = 9 x1 + 5 x2 + 6 x3 + 4 x4

subject to

(1) 6 x1 + 3 x2 + 5 x3 + 2 x4  10

(2)   x3 +   x4  1

(3) –  x1 +   x3   0

(4) –  x2 +   x4  0

and 

(5)   x j is binary, for  j = 1, 2, 3, 4.

292

Page 16: OD Integer Programming 2010

7/21/2019 OD Integer Programming 2010

http://slidepdf.com/reader/full/od-integer-programming-2010 16/34

16

Branching

Most straightforward way to divide the problem: fixthe value of a variable at one set.

e.g. x1 = 0 for one subset and x1 = 1 for another subset.

Subproblem 1 (fix x1 = 0):

Maximize   Z = 5 x2 + 6 x3 + 4 x4

subject to

(1) 3 x2 + 5 x3 + 2 x4  10

(2)   x3 +   x4  1

(3)   x3   0(4) –  x2 +   x4  0

(5)   x j is binary, for  j = 2, 3, 4.

293

Branching

Subproblem 2 (fix x1 = 1):

Maximize   Z = 9 + 5 x2 + 6 x3 + 4 x4

subject to

(1) 3 x2 + 5 x3 + 2 x4  4

(2)   x3 +   x4 

1(3)   x3   1

(4) –  x2 +   x4  0

(5)   x j is binary, for  j = 2, 3, 4.

294

Page 17: OD Integer Programming 2010

7/21/2019 OD Integer Programming 2010

http://slidepdf.com/reader/full/od-integer-programming-2010 17/34

17

Branching

Dividing (branching) into suproblems creates a tree

with branches (arcs) for the All node.

This is the solution tree or enumeration tree.

Branching variable is the one used for branching.

The branching continues or not after evaluating the

subproblem.

Other IP problems usually creates as many branches as

needed.

295

Bounding

A bound is needed for the best feasible solution of the

subproblem.

Standard way is to perform a relaxation of the

problem, e.g. by deleting one set of constraints that

makes the problem difficult.

Most common is to require integer variables, so LP 

relaxation is the most widely used.

296

Page 18: OD Integer Programming 2010

7/21/2019 OD Integer Programming 2010

http://slidepdf.com/reader/full/od-integer-programming-2010 18/34

18

Bounding in example

Example: for the whole problem, (5) is

replaced by x j  1 and x j  0 for j=1, 2, 3, 4.

Using simplex:

( x1, x2, x3, x4) = (5/6, 1, 0, 1), with Z = 16.5

Thus, Z  16.5 for all feasible solutions for BIP

problem. Can be rounded to Z   16 (why?)

LP relaxation for subproblem 1:

( x1, x2, x3, x4) = (0, 1, 0, 1), with Z = 9

LP relaxation for subproblem 2: ( x1, x2, x3, x4) = (1, 4/5, 0, 4/5), with Z = 16.5

297

Fathoming

A subproblem can be conquered (fathomed, i.e.

search tree is pruned) in three ways:

1. When the optimal solution for the LP relaxation of a

subproblem is integer , it must be optimal.

Example: for x1=0, ( x1, x2, x3, x4) = (0, 1, 0, 1), is integer.

It must be stored as first incumbent (best feasible solution

found so far) for the whole problem, along with value of  Z :

 Z * = value of  Z  for first incumbent

In the example Z * = 9.

Subproblem 1 is solved, so it is fathomed (dismissed).

298

Page 19: OD Integer Programming 2010

7/21/2019 OD Integer Programming 2010

http://slidepdf.com/reader/full/od-integer-programming-2010 19/34

19

Fathoming

2. As Z * = 9, we should not consider subproblems with

 bound   9. Thus, a problem is fathomed when

 bound    Z *

In Subproblem 2 that does not occur, the bound of 16 is

larger than 9. However, it can occur for descendants.

As new incumbents with larger values of  Z * are found, it

becomes easier to fathom in this way.

3. If the simplex method finds that a subproblem’s LP

relaxation has no feasible solut ion , the subproblemhas no feasible solution and can dismissed.

299

Summary of fathoming tests

A subproblem is fathomed (dismissed) if 

Test 1: Its bound    Z *

or

Test 2: Its LP relaxation has no feasible solutions

or Test 3: Optimal solution for its LP relaxation is

integer .

If better, this solution becomes new incumbent, and

Test 1 is reapplied for all unfathomed subproblems.

300

Page 20: OD Integer Programming 2010

7/21/2019 OD Integer Programming 2010

http://slidepdf.com/reader/full/od-integer-programming-2010 20/34

20

Fathoming in example

Result of applying the three tests is in figure below.

Subproblem 1 is fathomed by test 3.

301

BIP branch-and-bound algorithm

Initialization: Set Z * = – . Apply bounding, fathoming

and optimization steps described below to the whole

problem. If not fathomed, perform iteration.

Steps for each iterat ion: 

1. Branching: Among the remaining subproblems, select

the one created most recently . Branch from this node

by fixing the next variable as either 0 or 1.

2. Bounding: For each new subproblem, obtain its

bound by applying its LP relaxation.

Round down Z for resulting optimal solution.

302

Page 21: OD Integer Programming 2010

7/21/2019 OD Integer Programming 2010

http://slidepdf.com/reader/full/od-integer-programming-2010 21/34

21

BIP branch-and-bound algorithm

3. Fathoming: For each new subproblem, apply the

three fathoming tests, and discard subproblems that

are fathomed by the tests.

Optimalit y test : Stop when there are no remaining

subproblems. The current incumbent is optimal.

Otherwise, perform another iteration.

303

Completing example

Iteration 2. Remaining subproblems are for x1 = 1.

Subproblem 3 (fix x1 = 1, x2 = 0):

Maximize   Z = 9 + 6 x3 + 4 x4

subject to

(1) 5 x3 + 2 x4  4(2)   x3 +   x4  1

(3)   x3   1

(4)   x4  0

(5)   x j is binary, for  j = 3, 4.

304

Page 22: OD Integer Programming 2010

7/21/2019 OD Integer Programming 2010

http://slidepdf.com/reader/full/od-integer-programming-2010 22/34

22

Example

Subproblem 4 (fix x1 = 1, x2 = 1):

Maximize   Z = 14 + 6 x3 + 4 x4

subject to

(1) 5 x3 + 2 x4  1

(2)   x3 +   x4  1

(3)   x3   1

(4)   x4  1

(5)   x j is binary, for  j = 3, 4.

305

Example

LP relaxation is obtained by replacing (5) by 0  x  j   1  j 

= 3, 4. Optimal solutions are:

LP relaxation for Subproblem 3 :

( x1, x2, x3, x4) = (1, 1, 0.8, 0), with Z  = 13.8

LP relaxation for Subproblem 4 : ( x1, x2, x3, x4) = (1, 1, 0, 0.5), with Z = 16

Resulting bounds:

Bound for subproblem 3:   Z   13

Bound for subproblem 4:   Z   16

306

Page 23: OD Integer Programming 2010

7/21/2019 OD Integer Programming 2010

http://slidepdf.com/reader/full/od-integer-programming-2010 23/34

23

Example

All three fathoming tests fail, so both are unfathomed.

307

Iteration 3

Subproblem 4 has the larger bound, so next branching

is done from ( x1, x2) = (1, 1).

Subproblem 5 (fix x1 = 1, x2 = 1, x3 = 0):

Maximize   Z = 14 + 4 x4

subject to(1) 5 x3 + 2 x4  1

(2), (4)   x4  1

(5)   x4 is binary

308

Page 24: OD Integer Programming 2010

7/21/2019 OD Integer Programming 2010

http://slidepdf.com/reader/full/od-integer-programming-2010 24/34

24

Iteration 3 (cont.)

Subproblem 6 (fix x1 = 1, x2 = 1,  x3 = 1):

Maximize   Z = 20 + 4 x4

subject to

(1) 2 x4  –4

(2)   x4  0

(4)   x4  1

(5)   x4 is binary

LP relaxation: replace (5) by 0  x4  1. Optimal solutions are:

LP relaxation for subproblem 5: ( x1, x2, x3, x4) = (1, 1, 0, 0.5), Z = 16

LP relaxation for subproblem 6: No feasible solutions.

Bound for subproblem 5:   Z   16

309

Iteration 3 (concl.)

Subproblem 6 is fathomed by test 2, but not

Subproblem 5.

310

Page 25: OD Integer Programming 2010

7/21/2019 OD Integer Programming 2010

http://slidepdf.com/reader/full/od-integer-programming-2010 25/34

25

Iteration 4

Node created most recently is selected for branching:

 x4 = 0: ( x1, x2, x3, x4) = (1,1,0,0) is feasible, with Z = 14

 x4 = 1: ( x1, x2, x3, x4) = (1,1,0,1) is infeasible.

First solution passes test 3 and second passes test 2

for fathoming.

First solution is better than incumbent, so it becomes

new incumbent, with  Z * = 14

Reapplying fathoming test 1 to remaining branch toremaining Subproblem 3, it is fathomed:

Bound = 13   Z * = 14.

311

Solution tree after Iteration 4

312

Page 26: OD Integer Programming 2010

7/21/2019 OD Integer Programming 2010

http://slidepdf.com/reader/full/od-integer-programming-2010 26/34

26

Other options in B&B

Branching can be done e.g. from the best bound rather

than from the most recently created subproblem.

Bounding is done by solving a relaxation. Another

possible one is e.g. the Lagrangian relaxat ion .

Fathoming criteria can be generally stated as:

Criterion 1: feasible solutions of subproblem must have

 Z   Z *

Criterion 2: the subproblem has no feasible solutions, or

Criterion 3: an optimal solution of subproblem has been

found.

Branch-and-bound can find a nearly opt imal solut ion .

313

Branch-and-bound for MIP

General form of the problem:

314

1

1

Maximize

subject to , for 1, 2, , ,

0, for 1,2, ,and 

 is integer, for 1, 2, , ; .

n

 j j

 j

n

ij j i

 j

 j

 j

 Z c x

a x b i m

 x j n

 x j I I n

 

Page 27: OD Integer Programming 2010

7/21/2019 OD Integer Programming 2010

http://slidepdf.com/reader/full/od-integer-programming-2010 27/34

27

Branch-and-bound for MIP

Similar to BIP algorithm. Solving LP relaxations are

the basis for bounding and fathoming .

Four changes are needed:

1. Choice of branching variable. Only integer variables 

that have a noninteger value in the optimal solution

for the LP relaxation can be chosen.

315

Branch-and-bound for MIP

2. As integer variables can have a large number of 

possible values, create just two new subproblems:

  x j*: noninteger value of optimal solution for LP

relaxation.

[ x j*] = greatest integer  x j

*.

Range of variables for two new subproblems:

 x j*  [ x j

*] and   x j*  [ x j

*] + 1.

Each inequality becomes an addit ional constraint .

Example: x j* = 3.5, then: x j

*  3 and   x j*  4.

When changes 1. and 2. are combined, a recurring 

branching variable can occur, see figure.

316

Page 28: OD Integer Programming 2010

7/21/2019 OD Integer Programming 2010

http://slidepdf.com/reader/full/od-integer-programming-2010 28/34

28

Recurring branching variable

317

Branch-and-bound for MIP

Changes needed:

3. Bounding step: value of  Z was rounded down in BIP

algorithm. Now some variables are not integer-

restricted so bound is value of  Z without rounding.

4. Fathoming test 3: optimal solution for the

subproblem’s LP relaxation must only be integer for

integer-restricted variables.

318

Page 29: OD Integer Programming 2010

7/21/2019 OD Integer Programming 2010

http://slidepdf.com/reader/full/od-integer-programming-2010 29/34

29

MIP branch-and-bound algorithm

Initialization: Set Z * = –  . Apply bounding, fathoming

and optimization steps described below to the whole

problem. If not fathomed, perform iteration.

Steps for each iterat ion: 

1. Branching: Among the remaining subproblems, select

the one created most recently .

From integer variables that have a noninteger value 

in the optimal solution for the LP relaxation chose the

first one. Let x j be this variable and x j* its value.

Branch from this creating two subproblems by adding

the respective constraints:  x j*  [ x j

*] and x j*  [ x j

*] + 1.

319

MIP branch-and-bound algorithm

2. Bounding: For each new subproblem, obtain its

bound by applying its LP relaxation.

Use Z without rounding for resulting optimal solution.

3. Fathoming: For each new subproblem, apply the

three fathoming tests, and discard subproblems that

are fathomed by the tests.

Test 1: Its bound    Z *, where Z * is value of  Z for current

incumbent.

Test 2: Its LP relaxation has no feasible solutions.

320

Page 30: OD Integer Programming 2010

7/21/2019 OD Integer Programming 2010

http://slidepdf.com/reader/full/od-integer-programming-2010 30/34

30

MIP branch-and-bound algorithm

3. Fathoming (cont.):

Test 3: Optimal solution for its LP relaxation is integer for

integer-restricted variables. (if this solution is better it

becomes new incumbent, and test 1 is reapplied for all

unfathomed subproblems).

Optimality test: Stop when there are no remaining

subproblems. The current incumbent is optimal.

Otherwise, perform another iteration.

See MIP example in PL#7 and in page 518 of Hillier’s

book.

321

Branch-and-cut approach to BIP

Branch-and-bound was develop and refined in the

1960s and early 1970s.

Can solve problems up to 100 variables.

Branch-and-cut approach was introduced in the mid

1980s, which can solve problems with thousands

variables.

Only solve large problems if they are sparse (less than 5

or even 1% of nonzero values in the functional

constraints).

Uses a combination of: automatic problem processing,

generation of cutting planes and B&B techniques.

322

Page 31: OD Integer Programming 2010

7/21/2019 OD Integer Programming 2010

http://slidepdf.com/reader/full/od-integer-programming-2010 31/34

31

Automat ic problem processing for BIP

“Computer inspection” of IP formulation to spot

reformulations that make the problem quicker to

solve:

Fixing variables: identify variables that can be fixed at 0

or 1, because other value cannot be optimal.

Eliminating redundant constraints: identify and

eliminate constraints that are automatically satisfied by

solutions that satisfy all other constraints.

Tightening constraints: tighten constraints in a way thatreduces feasible region of LP relaxation.

323

Tightening constraints

324

LP relaxation including

feasible region.

LP relaxation after tightening

constraint.

Page 32: OD Integer Programming 2010

7/21/2019 OD Integer Programming 2010

http://slidepdf.com/reader/full/od-integer-programming-2010 32/34

32

Generating cutting planes for BIP

Cutting plane (or cut) is a new functional constraint

that reduced feasible region for LP relaxation.

Procedure for generating cutting planes:

1. Consider functional constraint in   form.

2. Find a group of  N variables such that

a) Constraint is violated if every variable in group = 1 and

all other variables = 0.

b) It is satisfied if value of any variables changes from 1to 0.

3. Resulting cutting plane:

sum of variables in group   N  – 1.

325

Constraint Programming

Combination of artificial intelligence with computer

programming languages in the mid-1980s.

Flexibility in stating (nonlinear) constraints:

1. Mathematical constraints, e.g., x + y < z.

2. Disjunctive constraints, e.g., times of certain taskscannot overlap.

3. Relational constraints, e.g., at least three tasks should

be assigned to a certain machine.

326

Page 33: OD Integer Programming 2010

7/21/2019 OD Integer Programming 2010

http://slidepdf.com/reader/full/od-integer-programming-2010 33/34

33

Stating constraints

4. Explicit constraints, e.g., x and y have same domain

{1,2,3,4,5}, but ( x, y) must be (1, 1), (2, 3) or (4, 5).

5. Unary constraints, e.g. z is integer between 5 and 10.

6. Logical constraints, e.g., if  x = 5, y   {6, 7, 8}.

Standard logical functions such as IF, AND, OR, NOT

can be used.

Constraint programming applies domain reduct ion 

and constraint propagation . The process creates a t ree search .

327

Example

Consider:

 x1{1,2}, x2{1,2},  x3{1,2,3},  x4{1,2,3,4,5}

Constraints:

1.  All variables must have different values;

2.   x1 + x3 = 4. Apply domain reduction and constraint propagation

to obtain feasible solutions:

x1{1}, x2{2}, x3{3}, x4{4,5}.

328

Page 34: OD Integer Programming 2010

7/21/2019 OD Integer Programming 2010

http://slidepdf.com/reader/full/od-integer-programming-2010 34/34

Constraint Programming

Steps in Constraint Programming:

1. Formulate a compact model of the problem by using

a variety of constraint types (most not of IP type).

2. Efficiently find feasible solutions that satisfy all these

constraints.

3. Search among feasible solutions for an optimal one.

Strength of constraint programming is in first two

steps, whereas the main strength of IP is in step 3. Current research: integrate CP and IP!

329