1 / 24

Integer Programming – based Decomposition Approaches for Solving Machine Scheduling Problems

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

rcornell
Download Presentation

Integer Programming – based Decomposition Approaches for Solving Machine Scheduling Problems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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 6 7 5 3 4 1 2 r2 d2 p21=p22 1 4 5 M1 3 6 7 M2

  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. objective infeasibility cut x1≤6 x1≥7 Branch-and-check solution scheme x2 relaxation x1

  7. Relaxation of the MIP formulation 6 7 5 3 4 1 2 5 10 15 0

  8. Initial formulation

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

  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(mn3), in practice – O(mn2) )

  11. Family of “no-good” cuts 6 7 5 3 4 1 2 1 6 2 7 M1 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 {rj,pj,dj}, 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) 5 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. 4 3 2 1 5 10 0

  14. Carlier algorithm (3) … … c a b

  15. Modified Carlier algorithm (1) Used to generate strengthened “no-good” cuts by solving the following problem. A set J of jobs with parameters {rj,pj,dj}, 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) A leaf node: 1 … … c a b 3 2 A non-leaf node: … … cα b 5 4

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

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

More Related