SlideShare a Scribd company logo
1 of 34
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).
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

Similar to Balaji-opt-lecture6-act.ppt

Numerical analysis dual, primal, revised simplex
Numerical analysis  dual, primal, revised simplexNumerical analysis  dual, primal, revised simplex
Numerical analysis dual, primal, revised simplex
SHAMJITH KM
 
Lecture5-7_12946_Linear Programming The Graphical Method.pptx
Lecture5-7_12946_Linear Programming The Graphical Method.pptxLecture5-7_12946_Linear Programming The Graphical Method.pptx
Lecture5-7_12946_Linear Programming The Graphical Method.pptx
hlKh4
 
Solving Optimization Problems using the Matlab Optimization.docx
Solving Optimization Problems using the Matlab Optimization.docxSolving Optimization Problems using the Matlab Optimization.docx
Solving Optimization Problems using the Matlab Optimization.docx
whitneyleman54422
 
4optmizationtechniques-150308051251-conversion-gate01.pdf
4optmizationtechniques-150308051251-conversion-gate01.pdf4optmizationtechniques-150308051251-conversion-gate01.pdf
4optmizationtechniques-150308051251-conversion-gate01.pdf
BechanYadav4
 
Module 2ppt.pptx divid and conquer method
Module 2ppt.pptx divid and conquer methodModule 2ppt.pptx divid and conquer method
Module 2ppt.pptx divid and conquer method
JyoReddy9
 

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

NON LINEAR PROGRAMMING
NON LINEAR PROGRAMMING NON LINEAR PROGRAMMING
NON LINEAR PROGRAMMING
 
Dynamic programming prasintation eaisy
Dynamic programming prasintation eaisyDynamic programming prasintation eaisy
Dynamic programming prasintation eaisy
 
BranchandBoundAlgorithms[1].ppt
BranchandBoundAlgorithms[1].pptBranchandBoundAlgorithms[1].ppt
BranchandBoundAlgorithms[1].ppt
 
Numerical analysis dual, primal, revised simplex
Numerical analysis  dual, primal, revised simplexNumerical analysis  dual, primal, revised simplex
Numerical analysis dual, primal, revised simplex
 
Solving linear programming model by Simplex method.pptx
Solving linear programming model by Simplex method.pptxSolving linear programming model by Simplex method.pptx
Solving linear programming model by Simplex method.pptx
 
Lecture5-7_12946_Linear Programming The Graphical Method.pptx
Lecture5-7_12946_Linear Programming The Graphical Method.pptxLecture5-7_12946_Linear Programming The Graphical Method.pptx
Lecture5-7_12946_Linear Programming The Graphical Method.pptx
 
Solving Optimization Problems using the Matlab Optimization.docx
Solving Optimization Problems using the Matlab Optimization.docxSolving Optimization Problems using the Matlab Optimization.docx
Solving Optimization Problems using the Matlab Optimization.docx
 
OI.ppt
OI.pptOI.ppt
OI.ppt
 
4optmizationtechniques-150308051251-conversion-gate01.pdf
4optmizationtechniques-150308051251-conversion-gate01.pdf4optmizationtechniques-150308051251-conversion-gate01.pdf
4optmizationtechniques-150308051251-conversion-gate01.pdf
 
Optmization techniques
Optmization techniquesOptmization techniques
Optmization techniques
 
optmizationtechniques.pdf
optmizationtechniques.pdfoptmizationtechniques.pdf
optmizationtechniques.pdf
 
Integer Programming, Goal Programming, and Nonlinear Programming
Integer Programming, Goal Programming, and Nonlinear ProgrammingInteger Programming, Goal Programming, and Nonlinear Programming
Integer Programming, Goal Programming, and Nonlinear Programming
 
Dynamicpgmming
DynamicpgmmingDynamicpgmming
Dynamicpgmming
 
A Decomposition Technique For Solving Integer Programming Problems
A Decomposition Technique For Solving Integer Programming ProblemsA Decomposition Technique For Solving Integer Programming Problems
A Decomposition Technique For Solving Integer Programming Problems
 
Global optimization
Global optimizationGlobal optimization
Global optimization
 
linear programming
linear programming linear programming
linear programming
 
Deep learning Unit1 BasicsAllllllll.pptx
Deep learning Unit1 BasicsAllllllll.pptxDeep learning Unit1 BasicsAllllllll.pptx
Deep learning Unit1 BasicsAllllllll.pptx
 
352735343 rsh-qam11-tif-07-doc
352735343 rsh-qam11-tif-07-doc352735343 rsh-qam11-tif-07-doc
352735343 rsh-qam11-tif-07-doc
 
352735343 rsh-qam11-tif-07-doc
352735343 rsh-qam11-tif-07-doc352735343 rsh-qam11-tif-07-doc
352735343 rsh-qam11-tif-07-doc
 
Module 2ppt.pptx divid and conquer method
Module 2ppt.pptx divid and conquer methodModule 2ppt.pptx divid and conquer method
Module 2ppt.pptx divid and conquer method
 

Recently uploaded

Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Dr.Costas Sachpazis
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Christo Ananth
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
ankushspencer015
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
dollysharma2066
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Christo Ananth
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
rknatarajan
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Recently uploaded (20)

NFPA 5000 2024 standard .
NFPA 5000 2024 standard                                  .NFPA 5000 2024 standard                                  .
NFPA 5000 2024 standard .
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSIS
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
 
Vivazz, Mieres Social Housing Design Spain
Vivazz, Mieres Social Housing Design SpainVivazz, Mieres Social Housing Design Spain
Vivazz, Mieres Social Housing Design Spain
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
 

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).
  • 21.
  • 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