5.2 Mixed Integer Linear Programming

33
5.2 Mixed Integer Linear Programming 5.2.2 Implicit Enumeration

description

5.2 Mixed Integer Linear Programming. 5.2.2 Implicit Enumeration. Assignment Problem. Assignment Problem. [Theorem ] Any basic feasible solution of the assignment problem has every xij equal to either zero or one. Implication: There are at most n variables that have the value 1. - PowerPoint PPT Presentation

Transcript of 5.2 Mixed Integer Linear Programming

Page 1: 5.2 Mixed Integer Linear Programming

5.2 Mixed Integer Linear Programming

5.2.2 Implicit Enumeration

Page 2: 5.2 Mixed Integer Linear Programming

Assignment Problem – LP Model

1 1

1

1

Optimally assign workers to jobs

min

. .

1 1,2, ,

1 1,2, ,

0 , 1,2, ,

n n

ij ijj i

n

ijj

n

iji

ij

n n

c x

s t

x i n

x j n

x i j n

Page 3: 5.2 Mixed Integer Linear Programming

Assignment LP Problem

Page 4: 5.2 Mixed Integer Linear Programming

Basic ConceptThe basic idea of implicit enumeration is to

explicitly enumerate only a small subset of all possible solutions while concluding that it is not necessary to explicitly investigate the remaining solutions. This is because they are either

1. infeasible or 2.will result in an objective value that is inferior

to the best integer solution already found.

Page 5: 5.2 Mixed Integer Linear Programming

Forward steps: o-1-2-3Backtracking step: 3-2-4Pendant nodes: 3,4,6,7,10,11,13,14

Page 6: 5.2 Mixed Integer Linear Programming

Search Rules• A forward step is defined as the branching process of

fixing a free variable to be 1.• The backtracking step is defined as the process to

trace back to the origin until encounter the 1st node with only one descending branch. At this node, the second descending branch is searched by changing the corresponding variable from 1 to 0.

• The search process is continued until all pendant nodes are fathomed and each non-pendant node has exactly 2 descending branches.

Page 7: 5.2 Mixed Integer Linear Programming

Additional Terminologies• Completion: Given a node and a partial

solution, a completion of the partial solution is a solution in which values are specified for all the remaining free variables.

• Fathom: A partial solution is fathomed by either (1) demonstrating that there are no improving feasible completions or (2) finding the best feasible solution.

Page 8: 5.2 Mixed Integer Linear Programming

Standard Formmin. .

binary.

T

s t

c x

Ax bc 0x

Note that, if , then is the optimal solution b 0 x 0

Page 9: 5.2 Mixed Integer Linear Programming

Zero Completion TestThe objective function can be minimized ifall free variables are set to zero.

If (smallest upper bound) fathomedIf otherwise (1) fathomed (2)

T

U

U

U

z

z z z

z z zz z z

c x

b 0

additional branching

Page 10: 5.2 Mixed Integer Linear Programming

Infeasibility TestIf no feasible completions (may or may not be

zero completion), then the node should be fathomed. 1 2 3 4 5 6

1 3

2 4 5 6

2 4 5 6

max

: 4 2 3 3 2Current partial solution: 1 and 1

2 3 5Introduce slack variable

5 2 35 2(1) (0) 1 3(0) 2 0

All completions are infeasible. fathomed

x x x x x xx x

x x x x

s x x x xs

Example

.

Page 11: 5.2 Mixed Integer Linear Programming

Example1 2 3 4 5

1 2 3 4 5

1 2 3 4 5

min 4 5 6 2 3. .4 2 3 2 1

5 2 2 2 5 binary

z x x x x xs t

x x x x xx x x x x

x

Page 12: 5.2 Mixed Integer Linear Programming

Subproblem P0All variables are free.

1 1 2 3 4 5

1,max

2 1 2

additional bran

Zero completion test:

Infeasibi

Zero completion is infeasible to both constraints.

0

1 4 2 3 21 4(1) 2(1) 3(0) 2(1) (

lity

0) 7 0

chin

te t

5 5 2

s

g

:

U

U

z

z z

s x x x x xs

s x x

3 4 5

2,max

2 25 (1) 5(1) 2(1) 2(0) 2(1)

inconclus

5 0

ive

x x xs

Page 13: 5.2 Mixed Integer Linear Programming

1 1x

0

12 3 4 5

2 3 4 5

2 3 4 5

min 4 5 6 2 3. .2 3 2 35 2 2 2 4 binary

z x x x xs t

x x x xx x x x

x

Page 14: 5.2 Mixed Integer Linear Programming

1 2 3 4 5

1,max

2 2 3 4 5

2,m

additional bran

Zero Completion Test:

Infeasibili

The zero completion is infeasible to the 2nd constraint.4

3 2 3 23 2(1) 3(0)

ty Test:

2(1) (0) 7 0

ch g

4

i

5 2 2

n

2

Uz z

s x x x xs

s x x x xs

ax 4 5(1) 2(1) 2(0) 2(1) 5

inconclusiv

0

e

Page 15: 5.2 Mixed Integer Linear Programming
Page 16: 5.2 Mixed Integer Linear Programming

1 2

3 4 5

10

9feasible!

9 (incumbent solution)Node 2 is fathomed.

U

x xx x xz

z z

Page 17: 5.2 Mixed Integer Linear Programming

3 1 2

3 4 5

3 4 5

3 4 5

1, 0

min 4 6 2 3. .

3 2 32 2 2 4 binary

P x x

z x x xs tx x x

x x x

Subproblem

x

Backtracking!

Page 18: 5.2 Mixed Integer Linear Programming

1 3 4 5

1,max

2 3 4 5

2,max

Additional B

Zero Completion Test:

Infeasi

The zero completion is infeasible.The trivial lower bound 4 9.

3 3

ranchibility Te

23 3(0) 2(1) (0) 5 0

4 2 2 24 2(1

g

)

st:n

Uz z

s x x xs

s x x xs

inconclusive

2(0) 2(1) 0

Page 19: 5.2 Mixed Integer Linear Programming

4 4 1 2 3

4 5

4 5

4 5

1, 0, 1

min 10 2 3. .2 0

2 2 2 binary

P x x x

z x xs t

x xx x

Subproblem

x

Page 20: 5.2 Mixed Integer Linear Programming

.The trivial lower bound is 10 9.

since additional branching can never produce an integer

Zero completion is infeasible

Node 4 can be fathomed solution as good as the

incumbent solution found in sub

Uz z

problem 2.

Page 21: 5.2 Mixed Integer Linear Programming
Page 22: 5.2 Mixed Integer Linear Programming

1 4 5

1,max

2 4 5

2,max

Zero Completion Test:

Infeasibil

The zero completion is infeasible.The trivial lower bound is 4 9.

3 23 2(1) (0) 5 0

4 2 24 2(0) 2(1) 2

Inf

ity Test

easible Node 5

0

is

:

Uz z

s x xs

s x xs

fathomed.

Page 23: 5.2 Mixed Integer Linear Programming
Page 24: 5.2 Mixed Integer Linear Programming

1 2 3 4 5

1,max

2 2 3 4

additional branching

Zero Completion Test:

Infeasibility Test:

The zero completion is infeasible.The trivial lower bound is 0 9.

1 2 3 21 2(1) 3(0) 2(1) (0) 3 0

5 5 2 2

Uz z

s x x x xs

s x x x

5

2,max

25 5(1) 2(1) 2(0) 2(1) 4

Inconclusi e

0

v

xs

Page 25: 5.2 Mixed Integer Linear Programming
Page 26: 5.2 Mixed Integer Linear Programming

1 2

3 4 5

Zero Completion Test:

fea

0, 10

5 9Since this test is , the new upper bound is

incumbent solutionNode 7 fathomed.

5sible

U

U

x xx x xz z

z

Page 27: 5.2 Mixed Integer Linear Programming

8 1 2

3 4 5

3 4 5

3 4 5

0, 0

min 6 2 3. .

3 2 12 2 2 5 binary

P x x

z x x xs tx x x

x x x

Subproblem

x

Page 28: 5.2 Mixed Integer Linear Programming

1 3 4 5

1,max

2 3 4 5

2,max

Zero Completion Test:

Infeasibility Test:

The zero completion is infeasible.The trivial lower bound is 0 5.

1 3 21 3(0) 2(1) (0) 1 0

5 2 2 25 2(1) 2(0) 2(1) 1 0

Uz z

s x x xs

s x x xs

Infeasible and fathomed

Page 29: 5.2 Mixed Integer Linear Programming

Solution

Page 30: 5.2 Mixed Integer Linear Programming

In a plant we have 2 production units designated as number 1 and 2, making product 1 and 2, respectively, from the 3 feed stocks (A, B and C). Unit 1 has a maximum capacity of 8000 lb/day, and unit 2 of 10000 lb/day.

To make 1 lb of product 1 requires 0.4 lb of A and 0.6 lb of B; to make 1 lb of product 2 requires 0.3 lb of B and 0.7 lb of C. A maximum 6000 lb/day of B is available, but there are no limits on the available amounts of A and C.

Page 31: 5.2 Mixed Integer Linear Programming

Blending Products including Batch Sizes

Assume the net revenue after expenses from the manufacture of product 1 is $0.16/lb, and of product 2 is $0.20/lb.

How much of products 1 and 2 should be produced per day, assuming that each must be made in batches of 2000lb?

Page 32: 5.2 Mixed Integer Linear Programming

1 2

1 2

1 2

1 2 1 2

Let and be the amounts of products 1 and 2 in two thousands of pounds per day.

max 0.16 2000 0.2 2000

. . 1, 2

0.6 2000 0.3 2000 60000 4, 0 5 , inte

i i

x x

f x x

s tx y i

x xy y y y

gers

Page 33: 5.2 Mixed Integer Linear Programming

1 2

1 2

1 2

1 2 1 2

Let and be the amounts of products 1 and 2 in two thousands of pounds per day.

max 0.16 0.2. .

1, 20.6 0.3 30 4, 0 5 , integers

i i

x x

f x xs tx y i

x xy y y y