en programmation mathématique: application à un problème d’ordonnancement avec sélection Génération de contraintes et prétraitement en programmation mathématique: application à un problème d’ordonnancement avec sélection F.Della Croce1 , C. Koulamas2 , V T’kindt3 1. D.A.I. Politecnico di Torino, Italy and CNR, IEIIT, Torino, Italy 2. College of Business, Florida International University, USA 3. Université Francois-Rabelais, CNRS, Tours, France JIRC 2014 Tours, 16 Avril 2014 DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 1 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection 1 Introduction 2 Literature 3 ILP formulation, cuts and preprocessing 4 Constraint Generation Approach 5 Computational tests 6 Conclusions DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 2 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection 1 Introduction 2 Literature 3 ILP formulation, cuts and preprocessing 4 Constraint Generation Approach 5 Computational tests 6 Conclusions DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 3 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Introducing the problem F 2|di = d , unknown d |d , Ū A set of n jobs Each job i has proc. times ai on machine 1 and bi on machine 2. Cj ,i denotes the compl. time of job i on machine j . all jobs have the same due date d which is unknown. DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 4 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Introducing the problem F 2|di = d , unknown d |d , Ū A set of n jobs Machine 1 Machine 2 0 time Each job i has proc. times ai on machine 1 and bi on machine 2. Cj ,i denotes the compl. time of job i on machine j . all jobs have the same due date d which is unknown. DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 4 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Introducing the problem F 2|di = d , unknown d |d , Ū A set of n jobs Machine 1 Machine 2 0 time ai Machine 1 i bi Machine 2 i time 0 C2,i Each job i has proc. times ai on machine 1 and bi on machine 2. Cj ,i denotes the compl. time of job i on machine j . all jobs have the same due date d which is unknown. DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 4 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Introducing the problem F 2|di = d , unknown d |d , Ū A set of n jobs Machine 1 Machine 2 0 time ai Machine 1 i bi Machine 2 i time 0 C2,i Each job i has proc. times ai on machine 1 and bi on machine 2. Cj ,i denotes the compl. time of job i on machine j . all jobs have the same due date d which is unknown. DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 4 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Introducing the problem F 2|di = d , unknown d |d , Ū A set of n jobs Machine 1 Machine 2 0 time ai Machine 1 i bi Machine 2 i time 0 C2,i Each job i has proc. times ai on machine 1 and bi on machine 2. Cj ,i denotes the compl. time of job i on machine j . all jobs have the same due date d which is unknown. DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 4 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Introducing the problem F 2|di = d , unknown d |d , Ū P Ū = ni=1 Ui denotes the number of late jobs, where Ui = 1 if job i is late (C2,i > d ), otherwise Ui = 0. The objective is to minimize the number of late jobs Ū as well as the common due date d ; A solution of the problem is a couple (s, d s ), where s is a schedule and d s its common due date, to which a criteria vector [Ū (s); d s ] is associated. DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 5 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Introducing the problem F 2|di = d , unknown d |d , Ū P Ū = ni=1 Ui denotes the number of late jobs, where Ui = 1 if job i is late (C2,i > d ), otherwise Ui = 0. The objective is to minimize the number of late jobs Ū as well as the common due date d ; A solution of the problem is a couple (s, d s ), where s is a schedule and d s its common due date, to which a criteria vector [Ū (s); d s ] is associated. DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 5 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Introducing the problem F 2|di = d , unknown d |d , Ū P Ū = ni=1 Ui denotes the number of late jobs, where Ui = 1 if job i is late (C2,i > d ), otherwise Ui = 0. The objective is to minimize the number of late jobs Ū as well as the common due date d ; A solution of the problem is a couple (s, d s ), where s is a schedule and d s its common due date, to which a criteria vector [Ū (s); d s ] is associated. schedule s M1 M2 time ds DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 5 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Introducing the problem F 2|di = d , unknown d |d , Ū What are we looking for ? Pareto optimal solutions (s, d s ), A solution (s, d s ) is a strict Pareto optimum iff there does not 0 exist another solution (s 0 , d s ) such that Ū (s 0 ) ≤ Ū (s) and s s0 d ≤ d with at least one strict inequality. ⇒ The enumeration problem is weakly N P-hard. Computing one Pareto optimum by the -constraint approach is also weakly N P-hard, Problem 1 : F 2|di = d , unknown d |(d /Ū ) is equivalent to F 2|di = d , unknown d , Ū = |d Problem 2 : F 2|di = d , unknown d |(Ū /d ) is equivalent to F 2|di = |Ū DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 6 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Introducing the problem F 2|di = d , unknown d |d , Ū What are we looking for ? Pareto optimal solutions (s, d s ), A solution (s, d s ) is a strict Pareto optimum iff there does not 0 exist another solution (s 0 , d s ) such that Ū (s 0 ) ≤ Ū (s) and s s0 d ≤ d with at least one strict inequality. ⇒ The enumeration problem is weakly N P-hard. Computing one Pareto optimum by the -constraint approach is also weakly N P-hard, Problem 1 : F 2|di = d , unknown d |(d /Ū ) is equivalent to F 2|di = d , unknown d , Ū = |d Problem 2 : F 2|di = d , unknown d |(Ū /d ) is equivalent to F 2|di = |Ū DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 6 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Introducing the problem F 2|di = d , unknown d |d , Ū What are we looking for ? Pareto optimal solutions (s, d s ), A solution (s, d s ) is a strict Pareto optimum iff there does not 0 exist another solution (s 0 , d s ) such that Ū (s 0 ) ≤ Ū (s) and s s0 d ≤ d with at least one strict inequality. ⇒ The enumeration problem is weakly N P-hard. Computing one Pareto optimum by the -constraint approach is also weakly N P-hard, Problem 1 : F 2|di = d , unknown d |(d /Ū ) is equivalent to F 2|di = d , unknown d , Ū = |d Problem 2 : F 2|di = d , unknown d |(Ū /d ) is equivalent to F 2|di = |Ū DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 6 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Introducing the problem F 2|di = d , unknown d |d , Ū What are we looking for ? Pareto optimal solutions (s, d s ), A solution (s, d s ) is a strict Pareto optimum iff there does not 0 exist another solution (s 0 , d s ) such that Ū (s 0 ) ≤ Ū (s) and s s0 d ≤ d with at least one strict inequality. ⇒ The enumeration problem is weakly N P-hard. Computing one Pareto optimum by the -constraint approach is also weakly N P-hard, Problem 1 : F 2|di = d , unknown d |(d /Ū ) is equivalent to F 2|di = d , unknown d , Ū = |d Problem 2 : F 2|di = d , unknown d |(Ū /d ) is equivalent to F 2|di = |Ū DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 6 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Introducing the problem F 2|di = d , unknown d |d , Ū Why are they selection problems ? Problem 1 : I give you a number of jobs to be processed ⇒ compute the minimum makespan, Problem 2 : I give you a time horizon [0; ] ⇒ try to process as much jobs as possible, ... can be usefull for deriving lower bounds for other scheduling problems... DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 7 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Introducing the problem F 2|di = d , unknown d |d , Ū Why are they selection problems ? Problem 1 : I give you a number of jobs to be processed ⇒ compute the minimum makespan, Problem 2 : I give you a time horizon [0; ] ⇒ try to process as much jobs as possible, ... can be usefull for deriving lower bounds for other scheduling problems... DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 7 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Introducing the problem F 2|di = d , unknown d |d , Ū Why are they selection problems ? Problem 1 : I give you a number of jobs to be processed ⇒ compute the minimum makespan, Problem 2 : I give you a time horizon [0; ] ⇒ try to process as much jobs as possible, ... can be usefull for deriving lower bounds for other scheduling problems... DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 7 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Introducing the problem F 2|di = d , unknown d |d , Ū Why are they selection problems ? Problem 1 : I give you a number of jobs to be processed ⇒ compute the minimum makespan, Problem 2 : I give you a time horizon [0; ] ⇒ try to process as much jobs as possible, ... can be usefull for deriving lower bounds for other scheduling problems... DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 7 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Introducing the problem F 2|di = d , unknown d |d , Ū An important remark.... Problem 1 (F 2|di = d , unknown d , Ū = |d ) : in case = 0, we have the F 2||Cmax problem, Polynomially solvable in O(n log(n)) time by Johnson’s algorithm (1954), Given any subset of (n − ) jobs the associated value of d can be computed by that algorithm. DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 8 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Introducing the problem F 2|di = d , unknown d |d , Ū An important remark.... Problem 1 (F 2|di = d , unknown d , Ū = |d ) : in case = 0, we have the F 2||Cmax problem, Polynomially solvable in O(n log(n)) time by Johnson’s algorithm (1954), Given any subset of (n − ) jobs the associated value of d can be computed by that algorithm. DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 8 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Introducing the problem F 2|di = d , unknown d |d , Ū An important remark.... Problem 1 (F 2|di = d , unknown d , Ū = |d ) : in case = 0, we have the F 2||Cmax problem, Polynomially solvable in O(n log(n)) time by Johnson’s algorithm (1954), Given any subset of (n − ) jobs the associated value of d can be computed by that algorithm. DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 8 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Introducing the problem F 2|di = d , unknown d |d , Ū An important remark.... Problem 1 (F 2|di = d , unknown d , Ū = |d ) : in case = 0, we have the F 2||Cmax problem, Polynomially solvable in O(n log(n)) time by Johnson’s algorithm (1954), Given any subset of (n − ) jobs the associated value of d can be computed by that algorithm. DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 8 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection 1 Introduction 2 Literature 3 ILP formulation, cuts and preprocessing 4 Constraint Generation Approach 5 Computational tests 6 Conclusions DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 9 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Literature Hariri and Potts, 1989 : exact approach for problem F ||Ū . Jozefowska et al., 1994 : Complexity issues on various shop problems including problem F 2|di = d |U¯w Gupta and Hariri, 1997 : special cases and polynomial time heuristics for problem F 2||Ū . Della Croce et al., 2000 : exact approach for problem F 2|di = d |Ū (Problem 2/900 jobs). T’kindt et al., 2007 : exact approach for problem F 2|di = d , unknown d , Ū = |d (Problem 1/3000 jobs). Della Croce et al., 2014 : exact IP approach for problem F 2|di = d , unknown d , Ū = |d (Problem 1/100000 jobs). DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 10 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Literature Hariri and Potts, 1989 : exact approach for problem F ||Ū . Jozefowska et al., 1994 : Complexity issues on various shop problems including problem F 2|di = d |U¯w Gupta and Hariri, 1997 : special cases and polynomial time heuristics for problem F 2||Ū . Della Croce et al., 2000 : exact approach for problem F 2|di = d |Ū (Problem 2/900 jobs). T’kindt et al., 2007 : exact approach for problem F 2|di = d , unknown d , Ū = |d (Problem 1/3000 jobs). Della Croce et al., 2014 : exact IP approach for problem F 2|di = d , unknown d , Ū = |d (Problem 1/100000 jobs). DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 10 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Literature Hariri and Potts, 1989 : exact approach for problem F ||Ū . Jozefowska et al., 1994 : Complexity issues on various shop problems including problem F 2|di = d |U¯w Gupta and Hariri, 1997 : special cases and polynomial time heuristics for problem F 2||Ū . Della Croce et al., 2000 : exact approach for problem F 2|di = d |Ū (Problem 2/900 jobs). T’kindt et al., 2007 : exact approach for problem F 2|di = d , unknown d , Ū = |d (Problem 1/3000 jobs). Della Croce et al., 2014 : exact IP approach for problem F 2|di = d , unknown d , Ū = |d (Problem 1/100000 jobs). DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 10 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Literature Hariri and Potts, 1989 : exact approach for problem F ||Ū . Jozefowska et al., 1994 : Complexity issues on various shop problems including problem F 2|di = d |U¯w Gupta and Hariri, 1997 : special cases and polynomial time heuristics for problem F 2||Ū . Della Croce et al., 2000 : exact approach for problem F 2|di = d |Ū (Problem 2/900 jobs). T’kindt et al., 2007 : exact approach for problem F 2|di = d , unknown d , Ū = |d (Problem 1/3000 jobs). Della Croce et al., 2014 : exact IP approach for problem F 2|di = d , unknown d , Ū = |d (Problem 1/100000 jobs). DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 10 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection 1 Introduction 2 Literature 3 ILP formulation, cuts and preprocessing 4 Constraint Generation Approach 5 Computational tests 6 Conclusions DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 11 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection ILP formulation of problem F 2|di = d , unknown d |(d /Ū ) Data : n, number of jobs ai , 1 ≤ i ≤ n, proc. time on machine 1 of the job in i th position in Johnson’s schedule bi , 1 ≤ i ≤ n, proc. time on machine 2 of the job in i th position in Johnson’s schedule , number of late jobs Variables : xi , 1 ≤ i ≤ n, is equal to 1 if job i is early, 0 otherwise d , the common due date DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 12 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection ILP formulation of problem F 2|di = d , unknown d |(d /Ū ) Problem A : Minimize d Constraints : Pn =n − Pn i=1 ai xi + i=u bi xi ≤ d , ∀u = 1, ..., n i=1 xi Pu xi ∈ {0; 1}, ∀i = 1, ..., n DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 13 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Example for problem A with = 1 Ji 1 2 3 4 ai 25 40 50 65 Min d x1 + x2 + x3 + x4 = 3 25x1 + 70x1 + 40x2 + 20x3 + 15x4 25x1 + 40x2 + 40x2 + 20x3 + 15x4 25x1 + 40x2 + 50x3 + 20x3 + 15x4 25x1 + 40x2 + 50x3 + 65x4 + 15x4 xi ∈ {0; 1}, ∀i = 1, ..., 4 DellaCroce, Koulamas, T’kindt bi 70 40 20 15 ≤d ≤d ≤d ≤d constraint c1 constraint cn Constraints generation for the F 2|di = d, unknown d|d, Ū 14 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Let us go back to 2007 : preprocessing Goal : reduce the size of the IP formulation, How ?... by exploiting simple properties between IP and its linear relaxation LP, Notations : x LP : values of the x variables of the LP-relaxation, x IP : values of the x variables of the IP, ∗ zLP : optimal value of the objective function of the LP-relaxation, B ∗ : be the associated basis, ∗ zIP : optimal value of the objective function of the IP, DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 15 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Let us go back to 2007 : preprocessing Goal : reduce the size of the IP formulation, How ?... by exploiting simple properties between IP and its linear relaxation LP, Notations : x LP : values of the x variables of the LP-relaxation, x IP : values of the x variables of the IP, ∗ zLP : optimal value of the objective function of the LP-relaxation, B ∗ : be the associated basis, ∗ zIP : optimal value of the objective function of the IP, DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 15 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Let us go back to 2007 : preprocessing Goal : reduce the size of the IP formulation, How ?... by exploiting simple properties between IP and its linear relaxation LP, Notations : x LP : values of the x variables of the LP-relaxation, x IP : values of the x variables of the IP, ∗ zLP : optimal value of the objective function of the LP-relaxation, B ∗ : be the associated basis, ∗ zIP : optimal value of the objective function of the IP, DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 15 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Let us go back to 2007 : preprocessing Goal : reduce the size of the IP formulation, How ?... by exploiting simple properties between IP and its linear relaxation LP, Notations : x LP : values of the x variables of the LP-relaxation, x IP : values of the x variables of the IP, ∗ zLP : optimal value of the objective function of the LP-relaxation, B ∗ : be the associated basis, ∗ zIP : optimal value of the objective function of the IP, DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 15 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Let us go back to 2007 : preprocessing Goal : reduce the size of the IP formulation, How ?... by exploiting simple properties between IP and its linear relaxation LP, Notations : x LP : values of the x variables of the LP-relaxation, x IP : values of the x variables of the IP, ∗ zLP : optimal value of the objective function of the LP-relaxation, B ∗ : be the associated basis, ∗ zIP : optimal value of the objective function of the IP, DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 15 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Let us go back to 2007 : preprocessing Goal : reduce the size of the IP formulation, How ?... by exploiting simple properties between IP and its linear relaxation LP, Notations : x LP : values of the x variables of the LP-relaxation, x IP : values of the x variables of the IP, ∗ zLP : optimal value of the objective function of the LP-relaxation, B ∗ : be the associated basis, ∗ zIP : optimal value of the objective function of the IP, DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 15 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Let us go back to 2007 : preprocessing Goal : reduce the size of the IP formulation, How ?... by exploiting simple properties between IP and its linear relaxation LP, Notations : x LP : values of the x variables of the LP-relaxation, x IP : values of the x variables of the IP, ∗ zLP : optimal value of the objective function of the LP-relaxation, B ∗ : be the associated basis, ∗ zIP : optimal value of the objective function of the IP, DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 15 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Let us go back to 2007 : preprocessing Goal : reduce the size of the IP formulation, How ?... by exploiting simple properties between IP and its linear relaxation LP, Notations : x LP : values of the x variables of the LP-relaxation, x IP : values of the x variables of the IP, ∗ zLP : optimal value of the objective function of the LP-relaxation, B ∗ : be the associated basis, ∗ zIP : optimal value of the objective function of the IP, DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 15 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Let us go back to 2007 : preprocessing / B ∗, Concerning non-basic variables xiLP ∈ We know that : X ∗ ∗ zMIP = zLP + ri xiLP , (1) xiLP ∈B / ∗ with ri the reduced cost associated to variable xiLP . ∗ Let UB be an upper bound to zMIP . Then, we can write : X ∗ . (2) ri xiLP ≤ UB − zLP xiLP ∈B / ∗ ∗ then in any Fixing rule : ∀xiLP ∈ / B ∗ , if ri > UB − zLP optimal solution of the IP formulation, xiIP = 0. By reasoning on the slack variables si associated to the constraints xi ≤ 1, we can deduce when xiIP = 1. DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 16 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Let us go back to 2007 : preprocessing / B ∗, Concerning non-basic variables xiLP ∈ We know that : X ∗ ∗ zMIP = zLP + ri xiLP , (1) xiLP ∈B / ∗ with ri the reduced cost associated to variable xiLP . ∗ Let UB be an upper bound to zMIP . Then, we can write : X ∗ . (2) ri xiLP ≤ UB − zLP xiLP ∈B / ∗ ∗ then in any Fixing rule : ∀xiLP ∈ / B ∗ , if ri > UB − zLP optimal solution of the IP formulation, xiIP = 0. By reasoning on the slack variables si associated to the constraints xi ≤ 1, we can deduce when xiIP = 1. DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 16 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Let us go back to 2007 : preprocessing / B ∗, Concerning non-basic variables xiLP ∈ We know that : X ∗ ∗ zMIP = zLP + ri xiLP , (1) xiLP ∈B / ∗ with ri the reduced cost associated to variable xiLP . ∗ Let UB be an upper bound to zMIP . Then, we can write : X ∗ . (2) ri xiLP ≤ UB − zLP xiLP ∈B / ∗ ∗ then in any Fixing rule : ∀xiLP ∈ / B ∗ , if ri > UB − zLP optimal solution of the IP formulation, xiIP = 0. By reasoning on the slack variables si associated to the constraints xi ≤ 1, we can deduce when xiIP = 1. DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 16 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Let us go back to 2007 : preprocessing / B ∗, Concerning non-basic variables xiLP ∈ We know that : X ∗ ∗ zMIP = zLP + ri xiLP , (1) xiLP ∈B / ∗ with ri the reduced cost associated to variable xiLP . ∗ Let UB be an upper bound to zMIP . Then, we can write : X ∗ . (2) ri xiLP ≤ UB − zLP xiLP ∈B / ∗ ∗ then in any Fixing rule : ∀xiLP ∈ / B ∗ , if ri > UB − zLP optimal solution of the IP formulation, xiIP = 0. By reasoning on the slack variables si associated to the constraints xi ≤ 1, we can deduce when xiIP = 1. DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 16 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Let us go back to 2007 : preprocessing Concerning basic variables xiLP ∈ B ∗ , All reduced costs are equal to 0, Pseudo-costs li and ui (Driebeek’s penalties), Fixing rule : 1 2 ∗ ∀xiLP ∈ B ∗ , if (li xjtLP ) > (UB − zLP ) then xiIP = 1, LP ∗ LP ∗ ∀xi ∈ B , if (ui (1 − xjt )) > (UB − zLP ) then xiIP = 0. DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 17 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Let us go back to 2007 : preprocessing Concerning basic variables xiLP ∈ B ∗ , All reduced costs are equal to 0, Pseudo-costs li and ui (Driebeek’s penalties), Fixing rule : 1 2 ∗ ∀xiLP ∈ B ∗ , if (li xjtLP ) > (UB − zLP ) then xiIP = 1, LP ∗ LP ∗ ∀xi ∈ B , if (ui (1 − xjt )) > (UB − zLP ) then xiIP = 0. DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 17 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Let us go back to 2007 : preprocessing Concerning basic variables xiLP ∈ B ∗ , All reduced costs are equal to 0, Pseudo-costs li and ui (Driebeek’s penalties), Fixing rule : 1 2 ∗ ∀xiLP ∈ B ∗ , if (li xjtLP ) > (UB − zLP ) then xiIP = 1, LP ∗ LP ∗ ∀xi ∈ B , if (ui (1 − xjt )) > (UB − zLP ) then xiIP = 0. DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 17 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Let us go back to 2007 : preprocessing Concerning basic variables xiLP ∈ B ∗ , All reduced costs are equal to 0, Pseudo-costs li and ui (Driebeek’s penalties), Fixing rule : 1 2 ∗ ∀xiLP ∈ B ∗ , if (li xjtLP ) > (UB − zLP ) then xiIP = 1, LP ∗ LP ∗ ∀xi ∈ B , if (ui (1 − xjt )) > (UB − zLP ) then xiIP = 0. DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 17 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Let us go back to 2007 : preprocessing Fixing rules are very simple... and known for a long time (since 1966), Fixing non-basic variable is yet implemented in commercial solvers (like CPLEX), What is the interest of doing preprocessing ? .... exploit the knowledge of a good UB dedicated to our problem, .... adequately make use of cuts to strengthen the LP relaxation, DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 18 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Let us go back to 2007 : preprocessing Fixing rules are very simple... and known for a long time (since 1966), Fixing non-basic variable is yet implemented in commercial solvers (like CPLEX), What is the interest of doing preprocessing ? .... exploit the knowledge of a good UB dedicated to our problem, .... adequately make use of cuts to strengthen the LP relaxation, DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 18 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Let us go back to 2007 : preprocessing Fixing rules are very simple... and known for a long time (since 1966), Fixing non-basic variable is yet implemented in commercial solvers (like CPLEX), What is the interest of doing preprocessing ? .... exploit the knowledge of a good UB dedicated to our problem, .... adequately make use of cuts to strengthen the LP relaxation, DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 18 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Let us go back to 2007 : preprocessing Fixing rules are very simple... and known for a long time (since 1966), Fixing non-basic variable is yet implemented in commercial solvers (like CPLEX), What is the interest of doing preprocessing ? .... exploit the knowledge of a good UB dedicated to our problem, .... adequately make use of cuts to strengthen the LP relaxation, DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 18 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Let us go back to 2007 : preprocessing Fixing rules are very simple... and known for a long time (since 1966), Fixing non-basic variable is yet implemented in commercial solvers (like CPLEX), What is the interest of doing preprocessing ? .... exploit the knowledge of a good UB dedicated to our problem, .... adequately make use of cuts to strengthen the LP relaxation, DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 18 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Let us go back to 2007 : cuts Logical cuts (∀i = 1...n) : 2a1 x1 +...+2ai−1 xi−1 +(ai +bi )xi +(ai+1 +bi+1 )xi+1 +bi+2 xi+2 +...+bn xn ≤ 2d −τ (3) where τ = mini−+1≤h<i,i+≥l>i+1 {ai+1 , bi , |ai+1 − bi |, 2bh , 2al }. We also generated 1-cuts (problem independent), These cuts have been added to the LP relaxation and then preprocessing is applied, DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 19 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Let us go back to 2007 : cuts Logical cuts (∀i = 1...n) : 2a1 x1 +...+2ai−1 xi−1 +(ai +bi )xi +(ai+1 +bi+1 )xi+1 +bi+2 xi+2 +...+bn xn ≤ 2d −τ (3) where τ = mini−+1≤h<i,i+≥l>i+1 {ai+1 , bi , |ai+1 − bi |, 2bh , 2al }. We also generated 1-cuts (problem independent), These cuts have been added to the LP relaxation and then preprocessing is applied, DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 19 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Let us go back to 2007 : cuts Logical cuts (∀i = 1...n) : 2a1 x1 +...+2ai−1 xi−1 +(ai +bi )xi +(ai+1 +bi+1 )xi+1 +bi+2 xi+2 +...+bn xn ≤ 2d −τ (3) where τ = mini−+1≤h<i,i+≥l>i+1 {ai+1 , bi , |ai+1 − bi |, 2bh , 2al }. We also generated 1-cuts (problem independent), These cuts have been added to the LP relaxation and then preprocessing is applied, DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 19 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Let us go back to 2007 : experimentation (preprocessing) n 100 200 300 400 500 1000 1500 2000 2500 3000 Gavg 2.06 1.11 0.60 0.53 0.38 0.16 0.08 0.07 0.05 0.02 with G = DellaCroce, Koulamas, T’kindt LBcut /UB Davg Dmax 37.85 80.00 30.69 66.66 30.46 50.00 26.14 50.00 25.98 50.00 29.82 50.00 35.97 50.00 29.16 50.00 28.33 33.33 34.44 50.00 1000 UB−LB and D Opt Gmax 5.37 2.76 2.05 1.49 1.34 0.40 0.27 0.15 0.14 0.10 tavg 0.03 0.06 0.23 0.26 0.43 3.10 9.23 23.26 43.83 96.10 = tmax Fix 1 83.90 1 80.00 1 78.87 1 79.46 1 76.40 4 88.41 10 88.82 32 89.84 48 85.97 115 86.68 100 Opt−LB UB−LB . Constraints generation for the F 2|di = d, unknown d|d, Ū 20 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Let us go back to 2007 : experimentation (exact solution) n 100 200 300 400 500 1000 1500 2000 2500 3000 3500 tavg 0.13 0.43 1.23 2.10 3.50 21.20 65.70 136.53 IP (CPLEX 8.0) tmax ndavg 1 44.80 1 64.50 2 114.63 5 63.86 7 84.73 52 84.56 143 117.40 303 79.80 Out of time Out of time Out of time ndmax 121 280 386 326 592 428 630 537 tavg 0.03 0.23 0.40 0.80 1.53 9.36 21.46 49.36 91.50 156.36 BaB tmax ndavg 1 40.06 1 85.23 1 97.43 2 117.40 4 134.53 28 171.33 55 136.30 210 153.13 177 208.73 341 179.93 Out of time ndmax 181 231 329 331 383 921 481 1383 987 1089 time limit = 180s. DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 21 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection From 2007 to 2014 : experimentation (exact solution) n 1000 2000 3000 4000 tavg 4.70 20.23 54.06 IP (CPLEX 12.2) tmax navg 10 128.26 45 285.03 151 439.60 Out of Memory nmax 512 663 978 tavg 1.90 11.13 42.46 BaB tmax navg nmax 4 112.53 347 17 136.86 379 189 403.80 4097 Out of Memory Why Out of Memory for 4000 jobs ? ⇒ Approximately 800 binary variables (not so much)... ⇒ ...exactly 4001 constraints (not so much)... ⇒ ... but 16, 000, 000 non-zero coefficients. Even the LP is not solvable by the solver. DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 22 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection From 2007 to 2014 : experimentation (exact solution) n 1000 2000 3000 4000 tavg 4.70 20.23 54.06 IP (CPLEX 12.2) tmax navg 10 128.26 45 285.03 151 439.60 Out of Memory nmax 512 663 978 tavg 1.90 11.13 42.46 BaB tmax navg nmax 4 112.53 347 17 136.86 379 189 403.80 4097 Out of Memory Why Out of Memory for 4000 jobs ? ⇒ Approximately 800 binary variables (not so much)... ⇒ ...exactly 4001 constraints (not so much)... ⇒ ... but 16, 000, 000 non-zero coefficients. Even the LP is not solvable by the solver. DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 22 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection From 2007 to 2014 : experimentation (exact solution) n 1000 2000 3000 4000 tavg 4.70 20.23 54.06 IP (CPLEX 12.2) tmax navg 10 128.26 45 285.03 151 439.60 Out of Memory nmax 512 663 978 tavg 1.90 11.13 42.46 BaB tmax navg nmax 4 112.53 347 17 136.86 379 189 403.80 4097 Out of Memory Why Out of Memory for 4000 jobs ? ⇒ Approximately 800 binary variables (not so much)... ⇒ ...exactly 4001 constraints (not so much)... ⇒ ... but 16, 000, 000 non-zero coefficients. Even the LP is not solvable by the solver. DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 22 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection 1 Introduction 2 Literature 3 ILP formulation, cuts and preprocessing 4 Constraint Generation Approach 5 Computational tests 6 Conclusions DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 23 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Relaxing all but two constraints in the ILP formulation of problem F 2|di = d , unknown d |(d /Ū ) Problem Arel Minimize d Constraints : Pn x = n − i i=1 P1 Pn i=1 ai xi + i=1 bi xi ≤ d , Pn Pn i=1 ai xi + i=n bi xi ≤ d , constraint c1 constraint cn xi ∈ {0; 1}, ∀i = 1, ..., n DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 24 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Comparing A and Arel Property : OPTA OPTArel ≤ 2 and this ratio is asymptotically tight. The idea of our CG approach is to start with Arel and iteratively add missing constraints from A, Can work if few of such constraints are added since solving Arel is much faster than solving A, No more preprocessing on the variables / Preprocessing on the constraints. DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 25 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Comparing A and Arel Property : OPTA OPTArel ≤ 2 and this ratio is asymptotically tight. The idea of our CG approach is to start with Arel and iteratively add missing constraints from A, Can work if few of such constraints are added since solving Arel is much faster than solving A, No more preprocessing on the variables / Preprocessing on the constraints. DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 25 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Comparing A and Arel Property : OPTA OPTArel ≤ 2 and this ratio is asymptotically tight. The idea of our CG approach is to start with Arel and iteratively add missing constraints from A, Can work if few of such constraints are added since solving Arel is much faster than solving A, No more preprocessing on the variables / Preprocessing on the constraints. DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 25 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Comparing A and Arel Property : OPTA OPTArel ≤ 2 and this ratio is asymptotically tight. The idea of our CG approach is to start with Arel and iteratively add missing constraints from A, Can work if few of such constraints are added since solving Arel is much faster than solving A, No more preprocessing on the variables / Preprocessing on the constraints. DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 25 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Constraint Generation Approach : pseudo-code 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: End=False while !End do Solve the IP of Arel : x̄ is its solution with value OPTArel Compute the value OPTA of the IP of A for solution x̄ if (OPTA = OPTArel ) then End=True else Let cj be the most violated constraint in A Add cj to Arel end if end while return x̄ as the optimal solution of A DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 26 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection 1 Introduction 2 Literature 3 ILP formulation, cuts and preprocessing 4 Constraint Generation Approach 5 Computational tests 6 Conclusions DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 27 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Computational tests ai ’s and bi ’s drawn at random using an uniform distribution between 10 and 100. The value can take (n + 1) values. We tested = d n2 e, = n − 10 and = n − 5. For each problem size, 30 instances are generated. All tests were performed on a PC Computer Intel i5 with 4 cores of 2.6GHz and 8Gb of RAM. Whenever we solved an IP model we used the CPLEX 12.2 mathematical solver. DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 28 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Computational tests for the F 2|dj = d , unknown d P |(d / Uj ) problem Comparing BaB (the exact algorithm of T’kindt et al, 2007), IP (the ILP model solved by CPLEX 12.2) and IPCG (the constraint generation approach) for = n/2. n 1000 2000 3000 4000 DellaCroce, Koulamas, T’kindt IP BaB tavg tmax tavg tmax 4.70 10 1.90 4 20.23 45 11.13 17 54.06 151 42.46 189 Out of Memory Out of Memory Solving instances for = n2 IPCG tavg tmax 0.03 1 0.06 1 0.10 1 0.10 1 Constraints generation for the F 2|di = d, unknown d|d, Ū 29 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Computational tests n 10000 20000 30000 40000 50000 60000 70000 80000 90000 100000 DellaCroce, Koulamas, T’kindt IPCG tavg tmax navg nmax 0.46 1 36.06 174 0.76 2 33.96 228 1.36 5 35.66 331 3.03 8 75.26 330 6.13 16 181.86 600 5.96 12 141.03 450 6.26 10 160.20 527 8.26 16 161.80 442 9.33 17 144.66 400 11.00 27 198.46 934 Solving large instances for = itavg 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 itmax 1 1 1 1 1 1 1 1 1 1 n 2 Constraints generation for the F 2|di = d, unknown d|d, Ū 30 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Computational tests n 10000 20000 30000 40000 50000 60000 70000 80000 90000 100000 DellaCroce, Koulamas, T’kindt tavg 0.40 1.46 3.80 8.73 16.83 36.10 69.06 107.66 140.23 208.33 Solving tmax 1 4 8 16 26 62 105 140 264 311 large IPCG navg nmax itavg 117.30 696 14.76 372.63 1478 29.90 678.76 2119 47.30 1320.23 5011 68.80 1872.10 6793 87.46 3639.26 22673 116.70 4513.16 26700 138.50 5398.03 30913 167.63 6657.63 15460 194.66 9512.46 15310 219.80 instances for = n − 10 Constraints generation for the F 2|di = d, unknown d|d, Ū itmax 27 43 70 89 115 149 176 194 227 253 31 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Computational tests n 10000 20000 30000 40000 50000 60000 70000 80000 90000 100000 DellaCroce, Koulamas, T’kindt tavg tmax 0.43 1 1.23 2 3.40 5 8.10 11 16.36 23 32.16 44 54.73 73 86.20 112 133.43 190 196.86 254 Solving large IPCG navg nmax itavg 141.13 606 23.66 383.13 842 41.43 599.10 1150 63.26 1108.20 2065 85.60 1468.93 2842 110.66 2021.63 3455 137.06 2797.33 4621 160.63 4168.40 7088 183.33 6139.33 10678 206.76 9663.96 16279 230.90 instances for = n − 5 Constraints generation for the F 2|di = d, unknown d|d, Ū itmax 38 55 84 101 130 156 182 203 232 258 32 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Computational tests n tavg 500 32.30 1000 62.86 1500 152.50 Enumeration of the DellaCroce, Koulamas, T’kindt IPCG tmax navg nmax itavg itmax 50 8475.16 10557 600.70 789 115 22413.10 40688 1131.03 1697 269 33811.70 39205 1647.36 1976 strict Pareto optima for the flow shop problem Constraints generation for the F 2|di = d, unknown d|d, Ū 33 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection 1 Introduction 2 Literature 3 ILP formulation, cuts and preprocessing 4 Constraint Generation Approach 5 Computational tests 6 Conclusions DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 34 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Conclusions and extensions A constraint generation approach applied to the IP formulation of the problem has been proposed. The approach is capable of solving problems with up to 100000 jobs. The approach has been extended to job shop and open shop with similar results. The presence of jobs weights does not affect the strength of the solution approach. Possible extensions of this approach may occur in all scheduling problems that can be expressed by means of multidimensional knapsack problems, as, for instance, the P 1|| wj Uj problem with or without deadline constraints. DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 35 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Conclusions and extensions A constraint generation approach applied to the IP formulation of the problem has been proposed. The approach is capable of solving problems with up to 100000 jobs. The approach has been extended to job shop and open shop with similar results. The presence of jobs weights does not affect the strength of the solution approach. Possible extensions of this approach may occur in all scheduling problems that can be expressed by means of multidimensional knapsack problems, as, for instance, the P 1|| wj Uj problem with or without deadline constraints. DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 35 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Conclusions and extensions A constraint generation approach applied to the IP formulation of the problem has been proposed. The approach is capable of solving problems with up to 100000 jobs. The approach has been extended to job shop and open shop with similar results. The presence of jobs weights does not affect the strength of the solution approach. Possible extensions of this approach may occur in all scheduling problems that can be expressed by means of multidimensional knapsack problems, as, for instance, the P 1|| wj Uj problem with or without deadline constraints. DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 35 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Conclusions and extensions A constraint generation approach applied to the IP formulation of the problem has been proposed. The approach is capable of solving problems with up to 100000 jobs. The approach has been extended to job shop and open shop with similar results. The presence of jobs weights does not affect the strength of the solution approach. Possible extensions of this approach may occur in all scheduling problems that can be expressed by means of multidimensional knapsack problems, as, for instance, the P 1|| wj Uj problem with or without deadline constraints. DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 35 / 35 en programmation mathématique: application à un problème d’ordonnancement avec sélection Conclusions and extensions A constraint generation approach applied to the IP formulation of the problem has been proposed. The approach is capable of solving problems with up to 100000 jobs. The approach has been extended to job shop and open shop with similar results. The presence of jobs weights does not affect the strength of the solution approach. Possible extensions of this approach may occur in all scheduling problems that can be expressed by means of multidimensional knapsack problems, as, for instance, the P 1|| wj Uj problem with or without deadline constraints. DellaCroce, Koulamas, T’kindt Constraints generation for the F 2|di = d, unknown d|d, Ū 35 / 35