Water Resources Development and

Management Optimization (Integer Programming)

CVEN 5393 Mar 11, 2013

- Acknowledgements
- Dr. Yicheng Wang (Visiting Researcher, CADSWES

during Fall 2009 early Spring 2010) for slides

from his Optimization course during Fall 2009 - Introduction to Operations Research by Hillier

and Lieberman, McGraw Hill

Todays Lecture

- Integer Programming
- Examples
- R-resources / demonstration

Integer Programming

Integer Programming

In many practical problems, the decision

variables actually make sense only if they have

integer values. If some or all of the decision

variables in a linear programming formulation are

required to have integer values, then it is an

Integer Programming (IP) problem. The

mathematical model for integer programming is the

linear programming model with one additional

restriction that some or all of the decision

variables must have integer values. If only some

of the decision variables are required to have

integer values, then the model is called Mixed

Integer Programming (MIP) problem.

If all of the decision variables are required to

have integer values, then the model is called

Pure Integer Programming problem.

In some decision-making problems, the only two

possible choices for decisions are yes and no.

1. Examples of Integer Programming

(1) Example of BIP

All the decision variables have the binary form

x1 building a factory in Los Angeles? Yes (x11)

or No (x10)

x2 building a factory in San Francisco? Yes

(x21) or No (x20)

x3 building a warehouse in Los Angeles? Yes

(x31) or No (x30)

x4 building a warehouse in San Francisco? Yes

(x41) or No (x40)

Because the last two decisions represent mutually

exclusive alternatives (the company wants at most

one new warehouse), we need the constraint

Furthermore, decisions 3 and 4 are contingent

decisions, because they are contingent on

decisions 1 and 2, respectively (the company

would consider building a warehouse in a city

only if a new factory also were going there).

Thus, in the case of decision 3, we require that

x3 0 if x1 0. This restriction on x3 (when

x1 0) imposed by adding the constraint

Similarly, the requirement that x4 0 if x2 0

is imposed by adding the constraint

(2) Example of MIP

2. Some Perspectives on Solving Integer

Programming Problems

Question 1 Pure IP problems have a finite number

of feasible solutions. Is it possible to solve

pure IP problems by exhaustive enumeration ?

Consider the simple case of BIP problems.

With n variables, there are 2n solutions to be

considered. Each time n is increased by 1, the

number of solutions is doubled. n10, 1024

solutions n20, more than 1 million

solutions n30 more than 1 billion

solutions.

Question 2 Is IP easier to solve than LP because

IP tends to have much fewer feasible solutions

than LP ?

(No Transcript)

3. The Branch-and-Bound Technique and Its

Application to BIP

The Branch-and-Bound Technique is the most

popular mode for IP algorithms. The basic

concept underlying the branch-and-bound technique

is to divide and conquer. The original problem

is divided into smaller and smaller subproblems

until these subproblems can be conquered. The

dividing (branching) is done by partitioning the

entire set of feasible solutions into smaller and

smaller subsets. The conquering (fathoming) is

done partially by bounding how good the best

solution in the subset can be and then discarding

the subset if its bound indicates that it cannot

possibly contain an optimal solution for the

original problem.

California Manufacturing Co. Example

Branching

Original problem

Bounding

LP relaxation of the whole problem

(No Transcript)

Fathoming

Three cases where a subproblem is conquered

(fathomed).

(1) A subproblem is conquered if its LP

relaxation has an integer optimal solution

(2) A subproblem is conquered if it is inferior

to the current incumbent.

Since Z9, there is no reason to consider

further any subproblem whose bound 9, since

such a subproblem cannot have a feasible solution

better than the incumbent. Stated more

generally, a subproblem is fathomed whenever its

(3) If the simplex method finds that a

subproblems LP relaxation has no feasible

solutions, then the subproblem itself must have

no feasible solutions, so it can be dismissed

(fathomed).

(No Transcript)

Using the BIP Branch-and Bround Algorithm to

Solve the California Manufacturing Co. Example

(1) Initiliazation

Set Z - 8. Solve the relaxation of the whole

problem by the simplex method. The optimal

solution of the relaxation is

Subproblem 1

1)The bound of the whole problem is less than

Z. 2)The relaxation of the whole problem has

feasible solution. 3)The optimal solution

includes a noninteger value of x1. So the whole

problem can not be fathomed and should be divided

(branched) into subproblems.

Subproblem 2

(3) Iteration 2

The only remaining subproblem corresponds to the

x11 node, so we shall branch from this node to

create the two new subproblems.

Subproblem 3 with x11, x20.

Subproblem 4 with x11, x21.

Subproblem 3

Subproblem 1

Subproblem 2

Subproblem 4

(4) Iteration 3

So far, the algorithm has created 4 subproblems.

Subproblem 1 has been fathomed, and subproblem 2

has been replaced by subproblems 3 and 4, but

these last two remain under consideration.

Because they were created simultaneously, but

subproblem 4 has the larger bound, the next

branching is done from subproblem 4, which

creates the following new subproblems

Subproblem 5 with x11, x21, x30.

Subproblem 1

Subproblem 6 with x11, x21, x31.

Subproblem 3

Subproblem 5

Subproblem 2

Subproblem 4

Subproblem 6

(5) Iteration 4

The subproblems 3 and 5 corresponding to nodes

(1,0) and (1,1,0) remain under consideration.

Since subproblem 5 was created most recently, so

it is selected for branching. Since x4 is the

last variable, fixing its value at either 0 or 1

actually creates a single solution rather than

subproblems. These single solutions are

(1,1,0,0) with Z14 is better than the incumbent

with Z9, so (1,1,0,0) with Z14 becomes the

new incumbent.

Subproblem 1

Subproblem 3

Subproblem 2

Subproblem 5

Subproblem 4

Subproblem 6

4. The Branch-and-Bound Algorithm for MIP

An MIP Example

Change 1The bounding step BIP algorithm With

integer coefficients in the objective function of

BIP, the value of Z for the optimal solution for

the subproblems LP relaxation is rounded down to

obtain the bound, because any feasible solution

for the subproblem must have an integer Z. MIP

algorithm With some of the variables not

integer-restricted, the bound is the value of Z

without rounding down.

Change 2 The fathoming test BIP algorithm With

a BIP problem, one of the fathoming tests is that

the optimal solution for the subproblems LP

relaxation is integer, since this ensures that

the solution is feasible, and therefore optimal,

for the subproblem.. MIP algorithm With a MIP

problem, the test requires only that the

integer-restricted variables be integer in the

optimal solution for the subproblems LP

relaxation, because this suffices to ensure that

the solution is feasible, and therefore optimal,

for the subproblem..

Subproblem 1

Subproblem 1

Subproblem 2

Subproblem 2

Change 3Choice of the branching variable BIP

algorithm The next variable in the natural

ordering x1, x2, , xn is chosen

automatically. MIP algorithm The only variables

considered are the integer-restricted variables

that have a noninteger value in the optimal

solution for the LP relaxation of the current

subproblem. The rule for choosing among these

variables is to select the first one in the

natural ordering.

Change 4The values assigned to the branching

variables BIP algorithm The binary variable is

fixed at 0 and 1, respectively, for the 2 new

subproblems. MIP algorithm The general

integer-restricted variable is given two ranges

for the 2 new subproblems.

Subproblem 3

Subproblem 1

Subproblem 2

Subproblem 4

Subproblem 3

Subproblem 5

Subproblem 6

Subproblem 5

Subproblem 3

Subproblem 1

Subproblem 6

Subproblem 4

Subproblem 2

Hughes-McMakee-notes\chapter-06.pdf

Integer / Mixed-integer programming (prof.

mcmakee notes) Introduction Examples

Hughes-McMakee-notes\chapter-07.pdf