Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Integer Programming – based Decomposition Approaches for Solving Machine Scheduling Problems Ruslan SADYKOV Ecole Polytechnique, Laboratoire d’Informatique."— Presentation transcript:

1 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

2 Multi-machine assignment scheduling problem (MMASP)

3 An instance of the MMASP 12 34 5 67 r2r2 p 2 1 =p 2 2 d2d2 M1 M2 1 4 5 3 6 7

4 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.

5 Benders-type reformulation

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

7 Relaxation of the MIP formulation 12 34 5 67 0 51015

8 Initial formulation

9 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 + -

10 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 ) )

11 Family of “no-good” cuts 12 34 5 67 M11 6 2 7 Standard “no-good” cut:Stronger “no-good” cut:

12 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?

13 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. 1 2 3 4 5 0 510

14 Carlier algorithm (3) ab … … c

15 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 ).

16 Modified Carlier algorithm (2) 1 2 3 5 4 A leaf node: A non-leaf node: ab … … c b … cαcα …

17 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 + + + + − − − −

18 Dantzig-Wolfe reformulation

19 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.

20 The pricing problem

21 Results for the single-machine variant of the problem

22 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 )

23 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

24 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):209-217, 2006. 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.


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

Similar presentations


Ads by Google