Integer Programming Computationally speaking, we can partition problems into two categories.
1K - views

Integer Programming Computationally speaking, we can partition problems into two categories.

Similar presentations


Download Presentation

Integer Programming Computationally speaking, we can partition problems into two categories.




Download Presentation - The PPT/PDF document "Integer Programming Computationally spea..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.



Presentation on theme: "Integer Programming Computationally speaking, we can partition problems into two categories."— Presentation transcript:

Slide1

Integer Programming

Slide2

Computationally speaking, we can partition problems into two categories.

Easy Problems and Hard ProblemsWe can say that easy problem ( or in some languages polynomial problems) are those problems with their solution time proportional to nk. Where n is the number of variables in the problem, and k is a constant, say 2, 3, 4 … Let’s assume that k = 2. Therefore, easy problems are those problems with their solution time proportional to n2. Where n is the number of variables in the problem.Difficult problems are those problems with their solution time proportional to kn, or in our case 2n.

Computational Complexity

Slide3

Now

suppose we have an easy problem with n variables. Therefore, the solution time is proportional to n2 . We have solved this problem in 1 hour using a computer with 5 GHz CPU.Suppose we have a new computer with its processing capabilities 10000 times of a 5 GHz computer, and we have one century time. What is the size of the largest problem that we can solve with this revolutionary computer in one century (100 years and about 10000 hours per year).

1

n2(10000) (100)(10000) (n+x)2

Computational Complexity

Slide4

1

n2(10)10 (n+x)21 (n+x)2 = (10)10 n2(n+x)2 / n2 = (10)10 (n+x /

n

) 2 = (10)10 n+x / n = (10)5 = 100000n+x = 100,000nThe number of variables in the new problem is 100,000 times greater that the number of variables in the old problem

.

Computational Complexity

Slide5

Now supposed we have a hard problem with

n variables. Therefore, the solution time is proportional to 2n . We have solved this problem in one hour using a computer with 900 MHz CPU.Suppose we have a new computer with 900,000 MHz CPU, and we have one century time. What is the size of the largest problem that we can solve in one century using a 900, 000 MHz CPU.1 2n(10)10 2(n+x)Computational Complexity

Slide6

1

2n(10)10 2(n+x)(1) 2(n+x) = (10)102n2(n+x) / 2n = (10)10 2x = (10)10

log 2

x = log (10)10x log 2 = 10 log (10)x ( .301) = 10(1)x = 33The number of variables in the new problem is 33 variables greater that the number of variables in the old problem.

Computational Complexity

Slide7

Working with Binary Variables

Slide8

1-

Exactly one of the two projects is selectedX1+X2 =1 2- At least one of the two projects is selectedX1+X2 ≥1 3-At most one of the two projects is selectedX1+X2 ≤1 4- None of the projects should be selectedX1+X2 =05- Both projects must be selectedX1+X2 =2

6-

none, or one or both of projects are selected7- If project 1 is selected then project 2 must be selectedX2 ≥ X18- If project 1 is selected then project 2 could not be selectedX1+X2 ≤1 !!!

Binary Variables

Slide9

More Practice

Slide10

Either project 1&2 or projects 3&4&5 are

selectedX1=X2X3=X4=X5X1+X3=1Suppose Y1 is our production of product 1 . Due to technical considerations, we want one of the following two constraints to be satisfied. If the other one is also satisfied it does not create any problem.If the other one is violated it does not create any problem. More Practice

Slide11

We can produce 3 products but due to managerial difficulties, we want to produce only two of them.

We can produce these products either in plant 1 or plant 2 but not in both. In other words, we should also decide whether we produce them in plant one or plant two.Other information are given below Required hrs Available hrs Product 1 Product 2 Product 3Plant 1 3 4 2 30Plant 2 4 6

2

40Unit profit 5 7 3 Sales potential 7 5 9

One constraint out of two

Xij

volume of production of product i in plant j, i=1,2,3, j=1,2..

Yi is 1 if plant I produces and 0 otherwise.

Tij

w volume of production of product i, i=1,2,3.

Slide12

Required hrs Available hrs Product 1 Product 2 Product 3Plant 1 3 4 2 30Plant 2 4 6 2 40Unit profit 5 7 3 Sales potential 7 5 9

One constraint out of two

X1+X2+X3 ≤ 2Y1+Y2

1

Yi Plant i produces, i=1,2

Slide13

Consider a linear program with the following set of constraints:

12x1 + 24x2 + 18x3 ≤ 2400 15x1 + 32x2 + 12x3 ≤ 1800 20x1 + 15x2 + 20x3 ≤ 2000 18x1 + 21x2 + 15

x

3 ≥ 1600 Suppose that meeting 3 out of 4 of these constraints is “good enough”.

Meeting a Subset of Constraints

Slide14

We want two of the following 4 constraints to be satisfied.

The other 2 are free, they may be automatically satisfied, but if they are not satisfied there is no problemy1 + y2  100y1 +2 y3  160y2 + y3  50y1 + y2 + y3  170

In general we want to satisfy k constraints out of n constraints

Still Fun

Slide15

A Constraint With k Possible Values

y1 + y2 = 10 or 20 or 100Mastering Formulation of Binary Variables

Slide16

We have 5 demand centers, referred to as 1, 2, 3, 4,5.

We plan to open one or more Distribution Centers (DC) to serve these markets. There are 5 candidate locations for these DCs, referred to as A, B, C, D, and E. Annual cost of meeting all demand of each market from a DC located in each candidate location is given below DC1 DC2 DC3 DC4 DC5 Market 1 1 5 18 13 17 Market 2 15 2 26 14 14Market 3 28 18 7 8 8Market 4 100 120 8 8 9Market 5 30 20 20 30 40Each DC can satisfy the demand of one, two, three, four, or five marketA Location Allocation Problem

Slide17

Depreciated initial investment and operating cost of a DC in location A, B, C, D, and E is 199, 177, 96, 148, 111.

The objective function is to minimize total cost (Investment &Operating and Distribution) of the system.Suppose we want to open only one DC. Where is the optimal location.Suppose we don't impose any constraint on the number of DCs. What is the optimal number of DCs.A Location Allocation Problem

Slide18

Mercer Development is considering the potential of four different development projects. Each project would be completed in at most three years. The required cash outflow for each project is given in the table below, along with the net present value of each project to Mercer, and the cash that is available (from previous projects) each year.

Ca

s

h Ou

tflo

w

R

eq

uir

ed

($

m

il

l

io

n

)

Ca

s

h

A

v

a

il

ab

le

Pr

o

j

e

c

t

1

Pr

o

j

e

c

t

2

Pr

o

j

e

c

t

3

Pr

o

j

e

c

t

4

(

$

mi

l

lio

n

)

Ye

ar

1

1

0

8

6

1

2

3

0

Ye

ar

2

8

5

4

0

1

5

Ye

ar

3

8

0

6

0

1

2

N

P

V

3

5

1

8

2

4

1

6

Example #1 (Capital Budgeting)

Slide19

Maximum Flow Problem : D.V. and OF

51222

4

1432

5

3

Slide20

Maximum Flow Problem : Arc Capacity Constraints

51222

4

1432

5

3

Slide21

Maximum Flow Problem : Flow Balance Constraint

51222

4

1432

5

3

t

ij

=

t

ji

i  N \ O and D

Slide22

Maximum Flow Problem : Flow Balance Constraint

51222

4

1432

5

3

2

1

2

2

2

3

1

4

3

2

5

3

1

1

2

1

2

4

1

4

3

2

5

3

2

1

2

1

1

4

1

4

3

2

5

3

Slide23

Maximum Flow Problem with Restricted Number of Arcs

xij : The decision variable for the directed arc from node i to nod j.xij = 1 if arc ij is on the flow pathxij = 0 if arc ij is not on the flow path x

ij

 4

Slide24

Maximum Flow Problem with Restricted Number of Arcs

5

1

2

2

2

4

1

4

3

2

5

3

1

1

2

1

2

4

1

4

3

2

5

3

Slide25

Divisibility

1.5, 500.3, 111.11Certaintycj, aij, biLinearity No x1 x2, x12, 1/x1, sqrt (x1)aijxjaijxj + aikxk Nonnegativity

The relationship between flow and arc variables

t

23

could be greater than 0 while

x

23

is 0

,

Slide26

Relationship between Flow and Arcs

51122

4

1432

5

3

5

1

2

2

2

4

1

4

3

2

5

3

Slide27

On a Path

5

1

2

2

2

4

1

4

3

2

5

3

5

1

2

2

2

4

1

4

3

2

5

3

5

1

2

2

2

4

1

4

3

2

5

3

5

1

2

2

2

4

1

4

3

2

5

3

Slide28

Maximum Flow on a Path

5

1

2

2

2

4

1

4

3

2

5

3

Slide29

The Shortest Route Problem

The shortest route between two pointsl ij : The length of the directed arc ij. l ij is a parameter, not a decision variable. It could be the length in term of distance or in terms of time or cost ( the same as c ij )

For those nodes which we are sure that we go from i to j we only have one directed arc from i to j. For those node which we are not sure that we go from i to j or from j to i,

we have

two directed arcs

, one from

i to j,

the other from

j to i.

We may have symmetric or asymmetric network

.

In a

symmetric

network

l

ij

= l

ji

 ij

In a

asymmetric

network

this condition

does not hold

Slide30

Example

6

3

4

2

5

7

2

6

5

6

4

8

7

2

2

1

2

2

2

Slide31

Decision Variables and Formulation

xij : The decision variable for the directed arc from node i to nod j.xij = 1 if arc ij is on the shortest routexij = 0 if arc ij is not on the shortest route

x

ij -  xji = 0  i  N \ O and D xoj =1 xiD = 1

Min Z =

l

ij

x

ij

6

3

4

2

5

7

2

6

5

6

4

8

7

2

2

1

2

2

2

Slide32

Example

6

3

4

2

5

7

2

6

5

6

4

8

7

2

2

1

2

2

2

+ x

13

+ x

14

+ x

12

= 1

- x

57

- x

67

= -1

+ x

34

+ x

35

- x

43

- x

13

= 0

+ x

42

+ x

43

+ x

45

+ x

46

- x

14

- x

24

- x

34

= 0

….

…..

Min Z = + 5x

12

+ 4x

13

+ 3x

14

+ 2x

24

+ 6x

26

+ 2x

34

+ 3x

35

+ 2x

43

+ 2x

42

+ 5x

45

+ 4x

46

+ 3x

56

+ 2x

57

+ 3x

65

+ 2x

67

Slide33

The ShR Problem : Binary Decision Variables

8

3

4

5

7

10

4

3

5

6

4

5

3

2

2

1

2

6

9

11

6

2

4

3

4

6

6

O

D

2

3

6

5

3

2

3

2

2

1

4

3

2

Find the shortest route of these two networks.

But for red bi-directional edges you are not allowed to define two decision variables.

Only one.

Solve the small problem.

Only using 5 variables

Slide34

Do not worry about the length of the arcs, we do not need to write the objective functions.

Note that we do not know whether we may go from node 2 to 3 or from 3 to 2. Now we want to formulate this problem as a shortest route. The ShR Problem : Binary Decision Variables 1

4

32

Slide35

To formulate the problem as a shortest route, you probably want to define a pair of decision variables for arcs 2-3 and 3-2, and then for example write the constraint on node 2 as follows

X23+X24 = X12 + X32 But you are not allowed to define two variables for 2-3 and 3-2. You should formulated the problem only using the following variablesX23 is a binary variable corresponding to the NON-DIRECTED edge between nodes 2 and 3. It is equal to 1 if arc 2-3 or 3-2 is on the shortest route and it is 0 otherwise.

The ShR Problem : Binary Decision Variables

Slide36

As usual we can have the following variables

X12 X13 X24 X34 each corresponding to a directed arcThe solution of (X12 = 1 , X23 = 1, X34 = 1 all other variables are 0) means that the shortest route is 1-2-3-4.The solution of (X13

= 1

, X32 = 1, X24 = 1 all other variables are 0) ) means that the shortest route is 1-3-2-4.The solution of (X13 = 1 , X34= 1 all other variables are 0) ) means that the shortest route is 1-3-4.

The ShR Problem : Smaller Number of Binary Variables

Slide37

Now you should formulate the shortest route problem using defining only one variable for each edge.

Your formulation should be general, not only for this example. How many variables do you need to formulate this problem? The ShR Problem : Smaller Number of Binary Variables

Slide38

How Many Binary Variables for this ShR problem

8

3

4

5

7

10

4

3

5

6

4

5

3

2

2

1

2

6

9

11

6

2

4

3

4

6

6

O

D

2

3

6

5

3

2

3

2

2

Slide39

When are “non-integer” solutions okay?

Solution is naturally divisible Solution represents a rate Solution only for planning purposesWhen is rounding okay?Integer Programming

Slide40

Rounded solution may not be feasible

Rounded solution may not be close to optimal There can be many rounded solutionsExample:

Consider a problem with 30 variables that are non-integer in the LP solution. How many possible rounded solutions are there?

The Challenge of Rounding

Slide41

How Integer Programs are solved

Slide42

Spreadsheet Solution to Example #1

Slide43

Suppose the Washington State legislature is trying to decide on locations at which to base search-and-rescue teams. The teams are expensive, and hence they would like as few as possible. However, since response time is critical, they would like every county to either have a team located in that county, or in an adjacent county. Where should the teams be located?

1

2

3

4

7

6

9

1

0

1

1

1

2

8

5

1

3

1

4

1

5

1

6

1

7

1

8

1

9

2

0

2

1

2

2

2

3

2

5

2

4

2

6

2

7

2

8

2

9

3

0

3

1

3

2

3

3

3

4

3

5

3

6

3

7

Counties

1. Clallum

2. Jefferson

3. Grays Harbor

4. Pacific

5. Wahkiakum

6. Kitsap

7. Mason

8. Thurston

9. Whatcom

10. Skagit

11. Snohomish

12. King

13. Pierce

14. Lewis

15. Cowlitz

16. Clark

17. Skamania

18. Okanogan

19. Chelan

20. Douglas

21. Kittitas

22. Grant

23. Yakima

24. Klickitat

25. Benton

26. Ferry

27. Stevens

28. Pend Oreille

29. Lincoln

30. Spokane

31. Adams

32. Whitman

33. Franklin

34. Walla Walla

35. Columbia

36. Garfield

37. Asotin

Example #2 (Set Covering Problem)

Slide44

1

2

3

4

7

6

9

1

0

1

1

1

2

8

5

1

3

1

4

1

5

1

6

1

7

1

8

1

9

2

0

2

1

2

2

2

3

2

5

2

4

2

6

2

7

2

8

2

9

3

0

3

1

3

2

3

3

3

4

3

5

3

6

3

7

Counties

1. Clallum

2. Jefferson

3. Grays Harbor

4. Pacific

5. Wahkiakum

6. Kitsap

7. Mason

8. Thurston

9. Whatcom

10. Skagit

11. Snohomish

12. King

13. Pierce

14. Lewis

15. Cowlitz

16. Clark

17. Skamania

18. Okanogan

19. Chelan

20. Douglas

21. Kittitas

22. Grant

23. Yakima

24. Klickitat

25. Benton

26. Ferry

27. Stevens

28. Pend Oreille

29. Lincoln

30. Spokane

31. Adams

32. Whitman

33. Franklin

34. Walla Walla

35. Columbia

36. Garfield

37. Asotin

Spreadsheet Solution to Example #2

Slide45

Spreadsheet Solution to Example #2

Slide46

Spreadsheet Solution to Example #2 (Formulas)