M Tech Project – First Stage Improving Branch-And-Price Algorithms For Solving 1D Cutting Stock Problem Soumitra Pal [05305015]

Slides:



Advertisements
Similar presentations
1 Column Generation. 2 Outline trim loss problem different formulations column generation the trim loss problem master problem and subproblem in column.
Advertisements

1 Branch-and-Price (Column Generation) Solving Integer Programs With a Huge Number of Variables CP-AI-OR02 School on Optimization Le Croisic, France March.
Algorithm Design Methods Spring 2007 CSE, POSTECH.
IEOR 4004 Final Review part II.
Branch-and-Bound Technique for Solving Integer Programs
Solving IPs – Cutting Plane Algorithm General Idea: Begin by solving the LP relaxation of the IP problem. If the LP relaxation results in an integer solution,
1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized.
DMOR Branch and bound. Integer programming Modelling logical constraints and making them linear: – Conjuction – Disjunction – Implication – Logical constraints.
1 Cutting Plane Technique for Solving Integer Programs.
Lecture 10: Integer Programming & Branch-and-Bound
Progress in Linear Programming Based Branch-and-Bound Algorithms
5-1 Chapter 5 Tree Searching Strategies. 5-2 Satisfiability problem Tree representation of 8 assignments. If there are n variables x 1, x 2, …,x n, then.
Branch & Bound Algorithms
EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011.
Introduction to Linear and Integer Programming
Greedy vs Dynamic Programming Approach
Branch and Bound Searching Strategies
Dynamic lot sizing and tool management in automated manufacturing systems M. Selim Aktürk, Siraceddin Önen presented by Zümbül Bulut.
1 Branch and Bound Searching Strategies 2 Branch-and-bound strategy 2 mechanisms: A mechanism to generate branches A mechanism to generate a bound so.
Ch 13 – Backtracking + Branch-and-Bound
Branch and Bound Algorithm for Solving Integer Linear Programming
1 Contents college 3 en 4 Book: Appendix A.1, A.3, A.4, §3.4, §3.5, §4.1, §4.2, §4.4, §4.6 (not: §3.6 - §3.8, §4.2 - §4.3) Extra literature on resource.
Daniel Kroening and Ofer Strichman Decision Procedures An Algorithmic Point of View Deciding ILPs with Branch & Bound ILP References: ‘Integer Programming’
Integer programming Branch & bound algorithm ( B&B )
Decision Procedures An Algorithmic Point of View
1.3 Modeling with exponentially many constr.  Some strong formulations (or even formulation itself) may involve exponentially many constraints (cutting.
Group Construction for Cabin Crew Comparing Constraint Programming with Branch&Price Presentation at SweConsNet 2005 Jesper Hansen Carmen Systems AB
Operations Research Assistant Professor Dr. Sana’a Wafa Al-Sayegh 2 nd Semester ITGD4207 University of Palestine.
CSC401: Analysis of Algorithms CSC401 – Analysis of Algorithms Chapter Dynamic Programming Objectives: Present the Dynamic Programming paradigm.
Chapter 1. Formulations 1. Integer Programming  Mixed Integer Optimization Problem (or (Linear) Mixed Integer Program, MIP) min c’x + d’y Ax +
WOOD 492 MODELLING FOR DECISION SUPPORT
Method of Column Generation Used in IP Jan Pelikán, Jan Fábry ___________________________________________________________________________ MME 2004, Brno.
Chap 10. Integer Prog. Formulations
Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade.
1 Branch and Bound Searching Strategies Updated: 12/27/2010.
1 Network Models Transportation Problem (TP) Distributing any commodity from any group of supply centers, called sources, to any group of receiving.
Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation.
Divide and Conquer Optimization problem: z = max{cx : x  S}
Approximation Algorithms Department of Mathematics and Computer Science Drexel University.
Branch and Bound Algorithms Present by Tina Yang Qianmei Feng.
1 An Arc-Path Model for OSPF Weight Setting Problem Dr.Jeffery Kennington Anusha Madhavan.
Chapter 2. Optimal Trees and Paths Combinatorial Optimization
Algorithm Design Methods 황승원 Fall 2011 CSE, POSTECH.
EMIS 8373: Integer Programming Column Generation updated 12 April 2005.
IE 312 Review 1. The Process 2 Problem Model Conclusions Problem Formulation Analysis.
Branch and Bound Searching Strategies
Constraint Programming for the Diameter Constrained Minimum Spanning Tree Problem Thiago F. Noronha Celso C. Ribeiro Andréa C. Santos.
Discrete Optimization MA2827 Fondements de l’optimisation discrète Material from P. Van Hentenryck’s course.
Integer Programming An integer linear program (ILP) is defined exactly as a linear program except that values of variables in a feasible solution have.
Algorithm Design Methods
The minimum cost flow problem
EMGT 6412/MATH 6665 Mathematical Programming Spring 2016
EMIS 8373: Integer Programming
1.3 Modeling with exponentially many constr.
Chapter 6. Large Scale Optimization
Chapter 3 The Simplex Method and Sensitivity Analysis
Integer Linear Programming
Analysis & Design of Algorithms (CSCE 321)
Chapter 6. Large Scale Optimization
Chapter 1. Formulations (BW)
1.3 Modeling with exponentially many constr.
Algorithm Design Methods
11.5 Implicit Partitioning/Packing Problems
Algorithm Design Methods
11.5 Implicit Partitioning/Packing Problems
Branch-and-Bound Algorithm for Integer Program
Algorithm Design Methods
Chapter 6. Large Scale Optimization
Branch-and-Bound Technique for Solving Integer Programs
Presentation transcript:

M Tech Project – First Stage Improving Branch-And-Price Algorithms For Solving 1D Cutting Stock Problem Soumitra Pal [ ]

Agenda  Cutting stock problem & formulation  Generic Branch-and-price algorithm  Implementation by Vance [1994], etc  Work in next stage  Conclusion

Cutting stock problem  Bigger rolls (raw) available  Orders of smaller rolls are to be cut (items)  Minimize no of raws used

IP formulation  λ j denotes the no of rolls cut in pattern j  a ij denote no of times item i is cut from pattern j  b i is order for item i

Solution using branch-and-price  Branch-and-bound technique of IP  The bound is calculated using LP relaxation solved by column generation

Generic branch-and-price algorithm Generate Initial heuristic. Set it as incumbent. Make root node of BB tree and enter into Q Unexamined node exists in Q? Undiscovered? Calculate LB (column generation) Set the node as discovered LB = some feasible sol X and X< incumbent? Update incumbent to X LB >= incumbent? Branch (i.e. make two nodes and make them undiscovered and unexamined and enter in Q) Fathom (do nothing) Set the node as examined Stop; incumbent is the solution Y N N N N Y Y Y

Column Generation in brief  Take few initial feasible columns  Solve the restricted master problem  Use the dual solution of the master problem as the profit for the knapsack problem to get new better column  Continue as far as better columns can be found

BAP implementation variations  Initial heuristic solution  Branching rule  Node selection rule  Bounds

Branching rules  Excludes fractional solution  Guarantees feasible solution after a finite number of steps  Must encode branching info in subproblem  Creates trees of ~ equal size  Keeps master & subproblem tractable

Conventional branching  Excludes fractional solution  Finite no of steps since finite no of variables  Encoding of branch info is explained next λ p = α λ p ≤ floor(α) λ p ≥ ceil(α)

Subproblem modification  On the right branch, it is equivalent to reducing the demand vector & solve the residual  No need to modify the subproblem  On the left branch, the column should not be regenerated  This is done by keeping forbidden list in subproblem

Problem in conventional branching  Solution space is not equally divided on both the branches  Here, solution space is equivalent to all possible columns  On the right branch, no of possible new columns is reduced  Left branch reduces only one column  Subproblem may become difficult

Branching for BCS (demand=1)  Branching rule by Vance [1994]

Branching in BCS (2)  Left branch should include both items l and m together  This can be solved by replacing the two items by one item of combined width  On the right branch, at most one of them should get included  This is solved by including edge constraints in the subproblem  The subspaces are of ~ equal size

Solving the subproblem  When no edge constraint, solve using Horowitz-Sahni algorithm  When no overlapping edge constraints, solve using modified HS using Jhonson-Padberg bounds  When overlapping edge constraints, use general IP solver

Horowitz-Sahni algorithm  Backtracking with bounds  Items ordered in decreasing profit density (profit/weight)  In forward move, try inserting one item  Bound  If U>current best, move forward  Otherwise backtrack (remove last inserted item) & repeat  Update current best when last item is considered  Stop when no more backtracking is possible

Jhonson-Padberg algorithm  Solves Knapsack Problem with SOS  SOS is a set of variables, at most one can be set to 1

Jhonson-Padberg algorithm (2)  Order SOSs according to max p/w  If w 1 ≥W, set corresponding x 1 =W/w 1 and all other x i =0  Otherwise, RECORD x i for the item with minimum weight  Remove from S 1, all items having profit less than w i ; update remaining items in S 1, p j - =p i, w j -=w i and W-=w i  Repeat  If multiple items in same SOSs is RECORDED, set variables as shown in the example

JP algorithm Example

Modified HS  Use SOS ordering  In forward move at most one from each SOS can be inserted  Bound is calculated using JP  In backtrack, other item in the same SOS is considered next

Branching for general CSP  Branch on a set of variables  Need to explore more

Bounding  Bounding can be used to avoid tailing-off effect  When the following condition is satisfied, column generation can be stopped

Initial heuristic solution  First Fit Decreasing (FFD)  Items in decreasing size is fit in existing roll  If can not be fit, use a new roll

Work in next stage  Complete literature survey Vance [1998] Vanderbeck [1999] Degraeve and Peeters [2003] Carvalho [1999]  Comparative study of them Different set of experimental instances Time quoted are on different machines Need to gather absolute numbers such as no of nodes, no of sub-problems etc

Knapsack with forbidden list  A dynamic programming algorithm  KPFL(I,W,S) := max{KPFL(I-1,W,S), KPFL(I-1,W-w I,S uinon I)}  O(n x W x 2 n x L)  Need to improve that  Core algorithms

Conclusion  We explored solution of 1D CSP using branch-and-price  Need to improve the solution to subproblem for overall improvement  Dynamic programming etc to solve subproblem instead of using IP solvers