Integer Programming – based Decomposition Approaches for Solving Machine Scheduling Problems Ruslan SADYKOV Ecole Polytechnique, Laboratoire d’Informatique.

Slides:



Advertisements
Similar presentations
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,
Advertisements

EE 553 Integer Programming
Online Scheduling with Known Arrival Times Nicholas G Hall (Ohio State University) Marc E Posner (Ohio State University) Chris N Potts (University of Southampton)
Lecture 10: Integer Programming & Branch-and-Bound
Progress in Linear Programming Based Branch-and-Bound Algorithms
Shuai Li and Cheng-Kok Koh School of Electrical and Computer Engineering, Purdue University West Lafayette, IN, Mixed Integer Programming Models.
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.
EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011.
Introduction to Linear and Integer Programming
1 Logic-Based Benders Methods for Planning and Scheduling John Hooker Carnegie Mellon University August 2003.
1 Logic-Based Methods for Global Optimization J. N. Hooker Carnegie Mellon University, USA November 2003.
Improving Market-Based Task Allocation with Optimal Seed Schedules IAS-11, Ottawa. September 1, 2010 G. Ayorkor Korsah 1 Balajee Kannan 1, Imran Fanaswala.
Solving Integer Programs. Natural solution ideas that don’t work well Solution idea #1: Explicit enumeration: Try all possible solutions and pick the.
1 Introduction to Linear and Integer Programming Lecture 9: Feb 14.
1 Optimization problems such as MAXSAT, MIN NODE COVER, MAX INDEPENDENT SET, MAX CLIQUE, MIN SET COVER, TSP, KNAPSACK, BINPACKING do not have a polynomial.
Dealing with NP-Complete Problems
Approximation Algorithms
Dynamic lot sizing and tool management in automated manufacturing systems M. Selim Aktürk, Siraceddin Önen presented by Zümbül Bulut.
Job Scheduling Lecture 19: March 19. Job Scheduling: Unrelated Multiple Machines There are n jobs, each job has: a processing time p(i,j) (the time to.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract.
Integer Programming Difference from linear programming –Variables x i must take on integral values, not real values Lots of interesting problems can be.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract.
Distributed Combinatorial Optimization
1 Planning and Scheduling to Minimize Tardiness John Hooker Carnegie Mellon University September 2005.
Approximation Algorithms Motivation and Definitions TSP Vertex Cover Scheduling.
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.
Merging Constraint Programming Techniques with Mathematical Programming Tutorial John Hooker Carnegie Mellon University INFORMS 02 November 2002.
Lift-and-Project cuts: an efficient solution method for mixed-integer programs Sebastian Ceria Graduate School of Business and Computational Optimization.
Daniel Kroening and Ofer Strichman Decision Procedures An Algorithmic Point of View Deciding ILPs with Branch & Bound ILP References: ‘Integer Programming’
Decision Procedures An Algorithmic Point of View
1 Outline:  Outline of the algorithm  MILP formulation  Experimental Results  Conclusions and Remarks Advances in solving scheduling problems with.
STDM - Linear Programming 1 By Isuru Manawadu B.Sc in Accounting Sp. (USJP), ACA, AFM
A Polynomial Time Approximation Scheme For Timing Constrained Minimum Cost Layer Assignment Shiyan Hu*, Zhuo Li**, Charles J. Alpert** *Dept of Electrical.
ECE 556 Linear Programming Ting-Yuan Wang Electrical and Computer Engineering University of Wisconsin-Madison March
Integer Programming Key characteristic of an Integer Program (IP) or Mixed Integer Linear Program (MILP): One or more of the decision variable must be.
MILP algorithms: branch-and-bound and branch-and-cut
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
Approximation Algorithms for Prize-Collecting Forest Problems with Submodular Penalty Functions Chaitanya Swamy University of Waterloo Joint work with.
Solving the Maximum Cardinality Bin Packing Problem with a Weight Annealing-Based Algorithm Kok-Hua Loh University of Maryland Bruce Golden University.
1 Lagrangean Relaxation --- Bounding through penalty adjustment.
“LOGISTICS MODELS” Andrés Weintraub P
Gomory Cuts Updated 25 March Example ILP Example taken from “Operations Research: An Introduction” by Hamdy A. Taha (8 th Edition)“Operations Research:
Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation.
M Tech Project – First Stage Improving Branch-And-Price Algorithms For Solving 1D Cutting Stock Problem Soumitra Pal [ ]
Branch and Bound Algorithms Present by Tina Yang Qianmei Feng.
Outline Problem Definition Related Works & Complexity MILP Formulation Solution Algorithms Computational Experiments Conclusions & Future Research 1/26.
Chapter 2. Optimal Trees and Paths Combinatorial Optimization
Earliness and Tardiness Penalties Chapter 5 Elements of Sequencing and Scheduling by Kenneth R. Baker Byung-Hyun Ha R1.
CPS Computational problems, algorithms, runtime, hardness (a ridiculously brief introduction to theoretical computer science) Vincent Conitzer.
EMIS 8373: Integer Programming Column Generation updated 12 April 2005.
Branch-and-Bound & Beam-Search. Branch and bound Enumeration in a search tree each node is a partial solution, i.e. a part of the solution space... root.
Raunak Singh (ras2192) IEOR 4405: Production Scheduling 28 th April 2009.
Constraint Programming for the Diameter Constrained Minimum Spanning Tree Problem Thiago F. Noronha Celso C. Ribeiro Andréa C. Santos.
Approximation Algorithms based on linear programming.
1 Chapter 6 Reformulation-Linearization Technique and Applications.
Discrete Optimization MA2827 Fondements de l’optimisation discrète Material from P. Van Hentenryck’s course.
Linear program Separation Oracle. Rounding We consider a single-machine scheduling problem, and see another way of rounding fractional solutions to integer.
Tabu Search for Solving Personnel Scheduling Problem
Sebastian Ceria Graduate School of Business and
6.5 Stochastic Prog. and Benders’ decomposition
EMGT 6412/MATH 6665 Mathematical Programming Spring 2016
EMIS 8373: Integer Programming
Chapter 6. Large Scale Optimization
Integer Linear Programming
Integer Programming (정수계획법)
Chapter 6. Large Scale Optimization
Integer Programming (정수계획법)
6.5 Stochastic Prog. and Benders’ decomposition
Branch-and-Bound Algorithm for Integer Program
Chapter 6. Large Scale Optimization
Presentation transcript:

Integer Programming – based Decomposition Approaches for Solving Machine Scheduling Problems Ruslan SADYKOV Ecole Polytechnique, Laboratoire d’Informatique Le séminaire de l’équpe « GraphComb » du LRI, 18 mai 2007

Multi-machine assignment scheduling problem (MMASP)

An instance of the MMASP r2r2 p 2 1 =p 2 2 d2d2 M1 M

Importance of the problem Malgré le fait que c’est un problème théorique, ses variations apparaissent comme les problèmes de planification de production et d’ordonnancement en fabrication et en services, par exemple (Pinedo & Chao, 1998) en industrie chimique, par exemple (Maravelias & Grossmann, 2003) etc.

Benders-type reformulation

Branch-and-check solution scheme x2x2 x1x1 x1≤6x1≤6x 1 ≥7 relaxation objective infeasibility cut

Relaxation of the MIP formulation

Initial formulation

Branch-and-check algorithm We solve the initial formulation by branch-and-bound An integer solution X’ is found at some node of the search tree f* := «non» X’ is feasible? f* := wX’ Add an infeasibility cut which is violated by X’ end no more integer solutions + -

Families of infeasibility cuts Standard and strengthened “no-good” cuts will be described now if solution X’ is infeasible there is always a “no-good” inequality violated separation is NP-hard (but very fast in practice) “Edge-Finding”-based cuts use ideas of the “Edge-Finding” technique known in Constraint Programming an infeasible solution can satisfy all inequalities of this family (cannot be used alone) separation is polynomial ( O(mn 3 ), in practice – O(mn 2 ) )

Family of “no-good” cuts M Standard “no-good” cut:Stronger “no-good” cut:

Carlier algorithm (1) This algorithm (Carlier, 1982) is used to generate standard “no-good” cuts by solving the following problem. Given a set J of jobs with parameters {r j,p j,d j }, j  J, is it possible to schedule them non-preemptively on a single machine without violating the release and due dates? OR: whether set J of jobs is feasible?

Carlier algorithm (2) On each node of the search tree, we run the O(nlogn) Schrage algorithm: schedule jobs one by one; on the next place in the schedule, we put an available job with the smallest due date; if there is no available jobs, we put a job with the smallest due date among jobs with the smallest release date

Carlier algorithm (3) ab … … c

Modified Carlier algorithm (1) Used to generate strengthened “no-good” cuts by solving the following problem. A set J of jobs with parameters {r j,p j,d j }, j  J, is given. We check whether J is feasible. If J is infeasible, we try to find an infeasible subset S of jobs (S  J ).

Modified Carlier algorithm (2) A leaf node: A non-leaf node: ab … … c b … cαcα …

Run the modified Carlier algorithm Cut generation scheme (X’ is integer) Node limit is reached? Solution X’ is feasible? Save X’ Add strengthened “no-good” cut Run the separation alg. for the “Edge-Finding”– based inequalities An inequality violated by X’ is found? Add “Edge-Finding”− based cut Run the Carlier algorithm Solution X’ is feasible? Save X’ Add standard “no-good” cut − − − −

Dantzig-Wolfe reformulation

Column generation procedure Select a subset of variables which form a feasible solution Perform the loop  solve the LP relaxation with the restricted set of variables  check if there are variables with a negative reduced cost (solve the pricing problem using the dual information)  if there are, add such variable(s) to the formulation until there are no variables with a negative reduced cost Column generation procedure combined with branching results in a branch-and-price algorithm.

The pricing problem

Results for the single-machine variant of the problem

Results for the multi-machine variant of the problem The branch-and-check algorithm is more efficient than the branch-and-price one when solving small-size test instances (up to 7 machines, 30 jobs) For the larger instances, the branch-and-price one is more efficient (solved all 25 test instances with up to 9 machines and 54 jobs within 1 hour, whereas the branch-and-check one did not solve 7 test instances) Both our algorithms outperform other algorithms available in the literature (Jain & Grossmann, 2001, Thorsteinsson, 2001, Bockmayr & Pisaruk, 2003 )

Conclusions Main contributions:  problem’s relaxation, which is used as the initial formulation;  an algorithm for generation of strengthened “no-good” cuts;  a new family of “Edge-Finding”-based cuts, and a separation algorithm for it. Two algorithms for solving the MMASP is proposed:  branch-and-check algorithm (best choice for instances in which number of jobs is much more than the number of machines, for example when there is only one machine available)  branch-and-price algorithm (best choice for instances in which the ratio (# of jobs) / (# of machines) is not very large ) A good example of separating the optimality and the feasibility aspects of the problem

Notes The research was conducted in the CORE (Université Catholique de Louvain, Belgium). A part of the results presented is a joint work with Laurence Wolsey. Publications: R.Sadykov, L.Wolsey. Integer programming and constraint programming in solving a multi-machine assignment scheduling problem with deadlines and release dates. INFORMS Journal on Computing 18(2): , R.Sadykov. A branch-and-check algorithm for minimizing the weighted number of late jobs on a single machine with release dates. Accepted for publication in European Journal of Operations Research.