SlideShare a Scribd company logo
Water Resources Development and Management
Optimization
(Integer Programming)
CVEN 5393
Mar 28, 2011
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
Today’s Lecture
• Integer Programming
– Examples
• Dynamic Programming
• 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
Because the last two decisions represent mutually exclusive alternatives (the
company wants at most one new warehouse), we need the constraint
x1: building a factory in Los Angeles? Yes (x1=1) or No (x1=0)
x2: building a factory in San Francisco? Yes (x2=1) or No (x2=0)
x3: building a warehouse in Los Angeles? Yes (x3=1) or No (x3=0)
x4: building a warehouse in San Francisco? Yes (x4=1) or No (x4=0)
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
The complete BIP model for this problem is
(2) Example of MIP
2. Some Perspectives on Solving Integer Programming Problems
subject to
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.
n=10, 1024 solutions
n=20, more than 1 million solutions
n=30; 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 ?
Question 3: Can we use the approximate
procedure of simply applying the simplex method
to get an LP optimal solution and then rounding
the noninteger values of the solution to integers ?
A B
subject to
A
B
C
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
Solution Tree
The variable used to do this branching
at any iteration by assigning values to
the variable is called the branching
variable
Bounding
LP relaxation of the whole problem
LP relaxation of subproblem 1 LP relaxation of subproblem 2
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 Z*=9, 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 subproblem’s LP relaxation has no
feasible solutions, then the subproblem itself must have no feasible solutions, so
it can be dismissed (fathomed).
Balaji-opt-lecture6-act.ppt
Using the BIP Branch-and Bround Algorithm to
Solve the California Manufacturing Co. Example
(1) Initiliazation
Set Z*= − ∞. Solve the relaxation of the whole problem by the
simplex method. The optimal solution of the relaxation is
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.
(2) Iteration 1
Subproblem 1 with x1=0. The optimal solution of its relaxation is (0,1,0,1) with Z=9.
The optimal solution is integer, which is the best feasible solution found so far. So this
integer solution with Z*=9 is stored as the first incumbent. Since the optimal solution of
its relaxation is integer, subproblem 1 is fathomed
Subproblem 2 with x1=1. Because subproblem 2 is not fathomed, it should be divided
into subproblems.
Subproblem 1
Subproblem 2
(3) Iteration 2
The only remaining subproblem corresponds to the x1=1 node, so we shall branch from
this node to create the two new subproblems.
Subproblem 4 with x1=1, x2=1.
Subproblem 3 with x1=1, x2=0. LP relaxation of subproblem 3
LP relaxation of subproblem 4
Bound for subproblem 3 :
Bound for subproblem 4 :
Subproblem 1
Subproblem 2
Subproblem 3
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 x1=1, x2=1, x3=0.
Subproblem 6 with x1=1, x2=1, x3=1.
LP relaxation of subproblem 5 :
LP relaxation of subproblem 6 :
No feasible solutions
Bound for subproblem 5 : Z≤ 16
Subproblem 1
Subproblem 2
Subproblem 3
Subproblem 4
Subproblem 5
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 Z=14 is better than
the incumbent with Z*=9, so
(1,1,0,0) with Z*=14 becomes the
new incumbent.
Because a new incumbent has been
found, we reapply fathoming test 1
with the new incumbent to the only
remaining subproblem 3.
Subproblem3:
There are no remaining (unfathomed) subproblems. Therefore, the optimality test
indicates that the current incumbent is optimal.
Subproblem 1
Subproblem 2
Subproblem 3
Subproblem 4
Subproblem 5
Subproblem 6
4. The Branch-and-Bound Algorithm for MIP
An MIP Example
Change 1:The bounding step
BIP algorithm: With integer coefficients in the objective function of BIP, the value of Z for
the optimal solution for the subproblem’s 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 subproblem’s 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 subproblem’s LP relaxation, because this
suffices to ensure that the solution is feasible, and therefore optimal, for the subproblem..
Subproblem 1
Subproblem 2
Subproblem 1
Subproblem 2
Change 3:Choice 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 4:The 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 1
Subproblem 2
Subproblem 3
Subproblem 4
Subproblem 3 Subproblem 5
Subproblem 6
Subproblem 1
Subproblem 2
Subproblem 3
Subproblem 4
Subproblem 5
Subproblem 6
HUGHES-MCMAKEE-NOTESCHAPTER-
06.PDF
INTEGER / MIXED-INTEGER
PROGRAMMING
(PROF. MCMAKEE NOTES)
INTRODUCTION & EXAMPLES
Hughes-McMakee-noteschapter-07.pdf

More Related Content

PDF
Integer Programming PPt.ernxzamnbmbmspdf
PDF
Chapter 6-INTEGER PROGRAMMING note.pdf
PPTX
Linear mixed integer programs for chemical engineering
PDF
A Decomposition Technique For Solving Integer Programming Problems
PPTX
Branch and Bound technique to solve Integer Linear Programming
PDF
Optimum Engineering Design - Day 4 - Clasical methods of optimization
PDF
Branch-and-Bound Technique for Solving Integer Programs
 
PPT
RSH_10_Ch_11.ppt Interger programming Goal
Integer Programming PPt.ernxzamnbmbmspdf
Chapter 6-INTEGER PROGRAMMING note.pdf
Linear mixed integer programs for chemical engineering
A Decomposition Technique For Solving Integer Programming Problems
Branch and Bound technique to solve Integer Linear Programming
Optimum Engineering Design - Day 4 - Clasical methods of optimization
Branch-and-Bound Technique for Solving Integer Programs
 
RSH_10_Ch_11.ppt Interger programming Goal

Similar to Balaji-opt-lecture6-act.ppt (20)

PPTX
Integer Linear Programming
PPT
Lp and ip programming cp 9
PDF
Integer Programming, Goal Programming, and Nonlinear Programming
PPT
BranchandBoundAlgorithms[1].ppt
PDF
A Comparison between FPPSO and B&B Algorithm for Solving Integer Programming ...
PDF
Integer Programming - MNIT Jaipur - Taha et al
 
PDF
Integer programming branch and bound
PDF
Mixed-integer and Disjunctive Programming - Ignacio E. Grossmann
PPTX
Overview of techniques for solving integer programs
PPT
ai linMixed Integer Programming (MIP) is a type of mathematical optimization ...
PPTX
integerS programming OperaTIONS RESEARCH
PDF
An Accelerated Branch-And-Bound Algorithm For Assignment Problems Of Utility ...
PDF
Unlocking the Power of Integer Programming
PPTX
Global optimization
PDF
Practical Guidelines for Solving Difficult Mixed Integer Programs
PPT
beyond linear programming: mathematical programming extensions
DOC
Mat 540 week 9 quiz 5
PDF
Mip formulations quick_reference (2)
PPTX
Using binary integer linear programming to deal with yes no decisions.
PDF
Chapter 1 Integer programming problemspdf
Integer Linear Programming
Lp and ip programming cp 9
Integer Programming, Goal Programming, and Nonlinear Programming
BranchandBoundAlgorithms[1].ppt
A Comparison between FPPSO and B&B Algorithm for Solving Integer Programming ...
Integer Programming - MNIT Jaipur - Taha et al
 
Integer programming branch and bound
Mixed-integer and Disjunctive Programming - Ignacio E. Grossmann
Overview of techniques for solving integer programs
ai linMixed Integer Programming (MIP) is a type of mathematical optimization ...
integerS programming OperaTIONS RESEARCH
An Accelerated Branch-And-Bound Algorithm For Assignment Problems Of Utility ...
Unlocking the Power of Integer Programming
Global optimization
Practical Guidelines for Solving Difficult Mixed Integer Programs
beyond linear programming: mathematical programming extensions
Mat 540 week 9 quiz 5
Mip formulations quick_reference (2)
Using binary integer linear programming to deal with yes no decisions.
Chapter 1 Integer programming problemspdf
Ad

Recently uploaded (20)

PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PDF
Digital Logic Computer Design lecture notes
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
PDF
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
DOCX
573137875-Attendance-Management-System-original
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
PPTX
web development for engineering and engineering
PPTX
Lecture Notes Electrical Wiring System Components
PPTX
Geodesy 1.pptx...............................................
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PPTX
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
PPTX
Construction Project Organization Group 2.pptx
PPTX
UNIT 4 Total Quality Management .pptx
PDF
Arduino robotics embedded978-1-4302-3184-4.pdf
PPTX
Internet of Things (IOT) - A guide to understanding
PPTX
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
PPTX
OOP with Java - Java Introduction (Basics)
PDF
composite construction of structures.pdf
PPTX
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
CYBER-CRIMES AND SECURITY A guide to understanding
Digital Logic Computer Design lecture notes
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
573137875-Attendance-Management-System-original
Operating System & Kernel Study Guide-1 - converted.pdf
web development for engineering and engineering
Lecture Notes Electrical Wiring System Components
Geodesy 1.pptx...............................................
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
Construction Project Organization Group 2.pptx
UNIT 4 Total Quality Management .pptx
Arduino robotics embedded978-1-4302-3184-4.pdf
Internet of Things (IOT) - A guide to understanding
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
OOP with Java - Java Introduction (Basics)
composite construction of structures.pdf
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
Ad

Balaji-opt-lecture6-act.ppt

  • 1. Water Resources Development and Management Optimization (Integer Programming) CVEN 5393 Mar 28, 2011
  • 2. 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
  • 3. Today’s Lecture • Integer Programming – Examples • Dynamic Programming • R-resources / demonstration
  • 5. 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.
  • 6. In some decision-making problems, the only two possible choices for decisions are yes and no.
  • 7. 1. Examples of Integer Programming (1) Example of BIP
  • 8. All the decision variables have the binary form Because the last two decisions represent mutually exclusive alternatives (the company wants at most one new warehouse), we need the constraint x1: building a factory in Los Angeles? Yes (x1=1) or No (x1=0) x2: building a factory in San Francisco? Yes (x2=1) or No (x2=0) x3: building a warehouse in Los Angeles? Yes (x3=1) or No (x3=0) x4: building a warehouse in San Francisco? Yes (x4=1) or No (x4=0)
  • 9. 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 The complete BIP model for this problem is
  • 11. 2. Some Perspectives on Solving Integer Programming Problems subject to 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. n=10, 1024 solutions n=20, more than 1 million solutions n=30; more than 1 billion solutions.
  • 12. Question 2: Is IP easier to solve than LP because IP tends to have much fewer feasible solutions than LP ? Question 3: Can we use the approximate procedure of simply applying the simplex method to get an LP optimal solution and then rounding the noninteger values of the solution to integers ? A B
  • 14. 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.
  • 15. California Manufacturing Co. Example Branching
  • 16. Original problem Solution Tree The variable used to do this branching at any iteration by assigning values to the variable is called the branching variable
  • 17. Bounding LP relaxation of the whole problem
  • 18. LP relaxation of subproblem 1 LP relaxation of subproblem 2
  • 19. Fathoming Three cases where a subproblem is conquered (fathomed). (1) A subproblem is conquered if its LP relaxation has an integer optimal solution
  • 20. (2) A subproblem is conquered if it is inferior to the current incumbent. Since Z*=9, 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 subproblem’s LP relaxation has no feasible solutions, then the subproblem itself must have no feasible solutions, so it can be dismissed (fathomed).
  • 22. Using the BIP Branch-and Bround Algorithm to Solve the California Manufacturing Co. Example (1) Initiliazation Set Z*= − ∞. Solve the relaxation of the whole problem by the simplex method. The optimal solution of the relaxation is 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. (2) Iteration 1 Subproblem 1 with x1=0. The optimal solution of its relaxation is (0,1,0,1) with Z=9. The optimal solution is integer, which is the best feasible solution found so far. So this integer solution with Z*=9 is stored as the first incumbent. Since the optimal solution of its relaxation is integer, subproblem 1 is fathomed Subproblem 2 with x1=1. Because subproblem 2 is not fathomed, it should be divided into subproblems. Subproblem 1 Subproblem 2
  • 23. (3) Iteration 2 The only remaining subproblem corresponds to the x1=1 node, so we shall branch from this node to create the two new subproblems. Subproblem 4 with x1=1, x2=1. Subproblem 3 with x1=1, x2=0. LP relaxation of subproblem 3 LP relaxation of subproblem 4 Bound for subproblem 3 : Bound for subproblem 4 : Subproblem 1 Subproblem 2 Subproblem 3 Subproblem 4
  • 24. (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 x1=1, x2=1, x3=0. Subproblem 6 with x1=1, x2=1, x3=1. LP relaxation of subproblem 5 : LP relaxation of subproblem 6 : No feasible solutions Bound for subproblem 5 : Z≤ 16 Subproblem 1 Subproblem 2 Subproblem 3 Subproblem 4 Subproblem 5 Subproblem 6
  • 25. (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 Z=14 is better than the incumbent with Z*=9, so (1,1,0,0) with Z*=14 becomes the new incumbent. Because a new incumbent has been found, we reapply fathoming test 1 with the new incumbent to the only remaining subproblem 3. Subproblem3: There are no remaining (unfathomed) subproblems. Therefore, the optimality test indicates that the current incumbent is optimal. Subproblem 1 Subproblem 2 Subproblem 3 Subproblem 4 Subproblem 5 Subproblem 6
  • 26. 4. The Branch-and-Bound Algorithm for MIP
  • 28. Change 1:The bounding step BIP algorithm: With integer coefficients in the objective function of BIP, the value of Z for the optimal solution for the subproblem’s 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 subproblem’s 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 subproblem’s LP relaxation, because this suffices to ensure that the solution is feasible, and therefore optimal, for the subproblem..
  • 30. Change 3:Choice 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 4:The 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.
  • 32. Subproblem 3 Subproblem 5 Subproblem 6
  • 33. Subproblem 1 Subproblem 2 Subproblem 3 Subproblem 4 Subproblem 5 Subproblem 6
  • 34. HUGHES-MCMAKEE-NOTESCHAPTER- 06.PDF INTEGER / MIXED-INTEGER PROGRAMMING (PROF. MCMAKEE NOTES) INTRODUCTION & EXAMPLES Hughes-McMakee-noteschapter-07.pdf