MIP Relaxation and Large Neighborhood Search for a Multi-Mode Resource-Constrained Multi-Project Scheduling Problem Christian artigues Emmanuel H´ ebrard LAAS-CNRS, Univ of Toulouse, France August 29, MISTA 2013, Ghent, Belgium C. Artigues, E. H´ ebrard (LAAS-CNRS) MIP&LNS for the MMRCMPSP MISTA 2013 1 / 10
the MMRCMPSP (1/2) P set of projects A ij activity j of project i , i ∈ P , j ∈ J i E i set of precedence constraints inside project i ∈ P G set of global (renewable) resources c k capacity of global resource k ∈ G L ρ i set of local renewable resources for project i ∈ P i set of local non-renewable resources for project i ∈ P L ν c ik capacity of resource k ∈ L ρ i ∪ L ν i M ij set of modes for activity A ij , i ∈ P , j ∈ J i d ijm duration of activity A ij in mode m r ijm demand of activity A ij for global resource k in mode m r ρ ijm demand of activity A ij for renewable local resource k in mode m r ν ijm demand of activity A ij for non-renewable local res. k in mode m C. Artigues, E. H´ ebrard (LAAS-CNRS) MIP&LNS for the MMRCMPSP MISTA 2013 2 / 10
the MMRCMPSP (2/2) � MMRCMPSP Lex ( c i , max i ∈P c i ) i ∈P c i ≥ s ij + d ijm ij ∀ i ∈ P , ∀ j ∈ J i � r ρ ijm ij k ≤ c k ∀ t ∈ { 0 , . . . , T } , ∀ k ∈ G A ij ∈A ( t ) � r ρ ∀ t ∈ { 0 , . . . , T } , ∀ i ∈ P , ∀ k ∈ L ρ ijm ij k ≤ c ik i A ij ∈A ( t ) � ijm ij k ≤ c ik ∀ i ∈ P , ∀ k ∈ L ν r ν i i ∈P , j ∈ J i s ij ≥ s iq + d iqm iq ∀ i ∈ P , ∀ ( q , j ) ∈ E i s ij ≥ 0 ∀ i ∈ P , ∀ j ∈ J i m ij ∈ M ij ∀ i ∈ P , ∀ j ∈ J i T : scheduling horizon (upper bound of the makespan for an optimal � i ∈P c i ) A ( t ): set of activities in progress at time t C. Artigues, E. H´ ebrard (LAAS-CNRS) MIP&LNS for the MMRCMPSP MISTA 2013 3 / 10
Our approach Some facts Need for a relatively good method within a short time. MMRCMPSP is made of ◮ a multiple knapsack subproblem (mode assignment/non renewable res. const) ◮ a RCPS subproblem Mode assignements implicitly induces highly disconnected RCPSPs = ⇒ extremely difficult to solve the problem in an integrated way So we opted for use off-the-shelf solver for initial solution / relaxation computations, constraint handling and (tree-search based) local search MKP solving via integer (0–1) programming RCPSP solving via constraint programming with global scheduling constraints C. Artigues, E. H´ ebrard (LAAS-CNRS) MIP&LNS for the MMRCMPSP MISTA 2013 4 / 10
The algorithm Preliminary definitions S : schedule (start times) M : mode assignment Problem RCMPSP( S , M ): solve the RCMPSP with all modes fixed to M and find a solution improving f ( S ) Problem MMRCMPSP( A , S , M ): solve the MMRCMPSP with all modes fixed to M except for activities in A and find a solution improving f ( S ) Algorithm MIP&LNS 1. Compute an initial solution for MMRCMPSP → M , S (CP) 2. Compute an initial mode assignment → M (MIP) 3. While not time over do 4. Solve RCMPSP( S , M ) → S (CP) 5. Select a set A of critical activities according to ( M , S ) 6. Solve MMRCMPSP( A , S , M ) → M , S (CP) 7. end while 8. return ( M , S ) C. Artigues, E. H´ ebrard (LAAS-CNRS) MIP&LNS for the MMRCMPSP MISTA 2013 5 / 10
Compute an initial mode assignment → M MIP relaxation � c i + β ˜ α ˜ MIP C i ∈P ˜ � r ρ C ≥ ijmk x ijm / c k ∀ k ∈ G i ∈P , j ∈ J i � r ρ ∀ i ∈ P , ∀ k ∈ L ρ ˜ c i ≥ ijmk x ijm / c ik i i ∈P , j ∈ J i ˜ c i ≥ s ij + p ijm x ijm ∀ i ∈ P � r ν ijmk x ijmk ≤ c ik ∀ i ∈ P , ∀ k ∈ L ν i i ∈P , j ∈ J i s ij ≥ s iq + d iqm iq ∀ i ∈ P , ∀ ( q , j ) ∈ E i s ij ≥ 0 x ijm ∈ { 0 , 1 } ∀ i ∈ P , ∀ j ∈ J i , ∀ m ∈ M ij C. Artigues, E. H´ ebrard (LAAS-CNRS) MIP&LNS for the MMRCMPSP MISTA 2013 6 / 10
Select a set A of critical activities according to ( M , S ) Usage Rate demand time C. Artigues, E. H´ ebrard (LAAS-CNRS) MIP&LNS for the MMRCMPSP MISTA 2013 7 / 10
Select a set A of critical activities according to ( M , S ) Usage Rate demand profile area time Usage = profile area / (time * capacity) Usage( A ) = same thing over activity A ’s time window C. Artigues, E. H´ ebrard (LAAS-CNRS) MIP&LNS for the MMRCMPSP MISTA 2013 7 / 10
Select a set A of critical activities according to ( M , S ) Resource Efficiency most current greediest economical mode mode mode C. Artigues, E. H´ ebrard (LAAS-CNRS) MIP&LNS for the MMRCMPSP MISTA 2013 8 / 10
Select a set A of critical activities according to ( M , S ) Resource Efficiency most current greediest economical mode mode mode A ′ s req in greediest mode − A ′ s req in current mode Efficiency( A ) = A ′ s req in greediest mode − A ′ s req in most economical mode (averaged over all renewable resources) C. Artigues, E. H´ ebrard (LAAS-CNRS) MIP&LNS for the MMRCMPSP MISTA 2013 8 / 10
Select a set A of critical activities according to ( M , S ) Resource Efficiency most current greediest economical mode mode mode A ′ s req in greediest mode − A ′ s req in current mode Efficiency( A ) = A ′ s req in greediest mode − A ′ s req in most economical mode (averaged over all renewable resources) Arbitrarily partition the schedule in n time slices and select the activities which Span the current slice have the highest distance between their inefficiency and resource usage (Ex: high resource usage during activity time window and low efficiency = ⇒ we have to change activity mode) C. Artigues, E. H´ ebrard (LAAS-CNRS) MIP&LNS for the MMRCMPSP MISTA 2013 8 / 10
Results • CP : IBM CPOptimizer 12.5 tree search (RCMSP: multipoint search, fail limit set to 100000000.0/nb activities. MMRCMSP: restart search, fail limit set to 100000000.0/(nb activities*slice nb) • MIP : IBM CPLEX 12.5 (single thread, default parameters, time limit set to 10s) Results on set A and B Instance Objective Instance Objective A-1.txt 100023 B-1.txt 43600129 A-2.txt 200041 B-2.txt 52600156 A-3.txt 50 B-3.txt 66300207 A-4.txt 6500042 B-4.txt 141600281 A-5.txt 16300106 B-5.txt 103600249 A-6.txt 16300087 B-6.txt 109700217 A-7.txt 64300194 B-7.txt 90700230 A-8.txt 30500146 B-8.txt 360800524 A-9.txt 23400116 B-9.txt 552400747 A-10.txt 108700304 B-10.txt 405300429 C. Artigues, E. H´ ebrard (LAAS-CNRS) MIP&LNS for the MMRCMPSP MISTA 2013 9 / 10
Register to the ROADEF/EURO 2014 Challenge (SNCF) ! Trains don’t vanish! http://roadef.challenge.org Increasing traffic, reduced capacities around stations: how to solve this ? Aim: schedule activities of each train between its arrival and its departure, while minimizing Uncovered departures, Conflicts on tracks between trains and Miscellaneous industrial performance costs Integrated “railway system” problem on a local perimeter (Parking on yards, Maintenance operations on dedicated facilities, Potential conflicts between trains on tracks, Assignment of platforms to arrivals/departures, Multiple-unit trains assembling/disassembling) C. Artigues, E. H´ ebrard (LAAS-CNRS) MIP&LNS for the MMRCMPSP MISTA 2013 10 / 10
Recommend
More recommend