Presentation is loading. Please wait.

Presentation is loading. Please wait.

Heuristics for a multi-objective car sequencing problem Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián Urrutia 1 1 Universidade.

Similar presentations


Presentation on theme: "Heuristics for a multi-objective car sequencing problem Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián Urrutia 1 1 Universidade."— Presentation transcript:

1 Heuristics for a multi-objective car sequencing problem Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián Urrutia 1 1 Universidade Católica do Rio de Janeiro, Brazil 2 Universidade Federal Fluminense, Brazil ROADEF Challenge February 2005 Tours, France

2 Heuristics for a multi-objective car sequencing problem 2/30 Summary Problem statement Basic findings Construction heuristics Neighborhoods Local search Improvements heuristics for each problem:  EP-RAF-(ENP), EP-ENP-RAF, RAF-EP-(ENP) Implementation issues Numerical results Concluding remarks

3 Heuristics for a multi-objective car sequencing problem 3/30 Problem statement Problem: find the sequence of cars that optimizes painting and mounting requirements. Three different problems are identified: 1)Minimize the number of violations of high priority ratio constraints 2)Minimize the number of paint color changes 3)* Minimize the number of violations of low priority ratio constraints 1)Minimize the number of violations of high priority ratio constraints 2)Minimize the number of paint color changes 3)* Minimize the number of violations of low priority ratio constraints 1)Minimize the number of violations of high priority ratio constraints 2)Minimize the number of violations of low priority ratio constraints 3)Minimize the number of paint color changes 1)Minimize the number of violations of high priority ratio constraints 2)Minimize the number of violations of low priority ratio constraints 3)Minimize the number of paint color changes 1)Minimize the number of paint color changes 2)Minimize the number of violations of high priority ratio constraints 3)* Minimize the number of violations of low priority ratio constraints 1)Minimize the number of paint color changes 2)Minimize the number of violations of high priority ratio constraints 3)* Minimize the number of violations of low priority ratio constraints EP-RAF-(ENP) EP-ENP-RAF RAF-EP-(ENP)

4 Heuristics for a multi-objective car sequencing problem 4/30 Problem statement Some notation:  Paint color changes: PCC  High priority ratio constraints: HPRC  Low priority ratio constraints: LPRC  Ratio constraint N/P: at most N cars associated with this constraint in any sequence of P cars  Number of cars: n  Number of constraints: m

5 Heuristics for a multi-objective car sequencing problem 5/30 Basic findings Heuristics are very sensitive to initial solutions:  Effective quick construction heuristics are a must. Same algorithm behaves differently for each problem:  Specific heuristics for each problem. Weight structure strongly differentiates the three objectives:  Algorithms should handle one objective at a time.  Specific algorithms for each objective of each problem.  All objectives should be taken into account: triggering strategies.

6 Heuristics for a multi-objective car sequencing problem 6/30 Basic findings Algorithms:EP-RAF-(ENP)EP-ENP-RAFRAF-EP-(ENP) Construction H6 H5 First objective ILS Second objective VNS ILS Third objective ILSVNSILS

7 Heuristics for a multi-objective car sequencing problem 7/30 Basic findings Many neighborhood definitions exist:  Explore simple neighborhoods for local search.  Use complex moves as perturbations. Time limit is restrictive:  Optimize move evaluations and local search.  Use appropriate data structures. Optimal number of paint color changes can be exactly computed in polynomial time:  Initial solutions for problem RAF-EP-(ENP) will have the minimum number of paint color changes.

8 Heuristics for a multi-objective car sequencing problem 8/30 Construction heuristics Heuristic H5:  Starts with the sequence of cars from day D-1.  At each iteration, a yet unselected car is considered for insertion into the partial solution.  Best position (possibly in the middle) to schedule this car into the sequence of cars already scheduled is that with the smallest increase in the cost function.  Insertions into positions corresponding to infeasible partial solutions are discarded.  Obtains a solution minimizing PCC.  Complexity: O(m.n 2 )

9 Heuristics for a multi-objective car sequencing problem 9/30 Construction heuristics Heuristic H6:  Greedy strategy using the number of additional HPRC violations to define the next car to be placed in the end of the partial sequence.  Ties are broken in favor of more equilibrated car distributions.  Second tie breaking criterion based on the hardness of each constraint: Harder constraints are those applied to more cars and that have smaller ratios. Cars with harder constraints are scheduled first.  Complexity: O(m.n 2 )

10 Heuristics for a multi-objective car sequencing problem 10/30 Neighborhoods Local search explores two different types of moves (neighborhoods) evaluated in time O(1):  swap: the positions of two cars are exchanged  shift: a car is moved from its current position to a new specific position

11 Heuristics for a multi-objective car sequencing problem 11/30 Local search Local search uses swap and shift moves.  Quick local search: only cars involved in violations.  Full search: too many cars involved in violations. For each car, select the best improving move.  In case of ties, best moves are kept in a candidate list from which one of them is randomly selected.  Better and same cost solutions are accepted. Move evaluations quickly performed in time O(m). Search stops when all cars have been investigated without improvement.

12 Heuristics for a multi-objective car sequencing problem 12/30 Other neighborhoods Four types of moves are explored as perturbations:  k-swap: k pairs of cars have their positions exchanged

13 Heuristics for a multi-objective car sequencing problem 13/30 Other neighborhoods Four types of moves are explored as perturbations:  group swap: two groups of cars painted with different colors are exchanged

14 Heuristics for a multi-objective car sequencing problem 14/30 Other neighborhoods Four types of moves are explored as perturbations:  inversion: order of the cars in a group painted with the same color is reverted

15 Heuristics for a multi-objective car sequencing problem 15/30 Other neighborhoods Four types of moves are explored as perturbations:  reinsertion: cars involved in violations are eliminated and greedily reinserted

16 Heuristics for a multi-objective car sequencing problem 16/30 Problem EP-RAF-(ENP) 1.Build initial solution: H6 2.Improve 1st objective: ILS with restarts 3.Make solution feasible for PCC 4.Improve 2nd objective without deteriorating the 1st: VNS 5.Improve 3rd objective without deteriorating the 1st and 2nd: ILS with restarts 1)Minimize the number of violations of high priority ratio constraints 2)Minimize the number of paint color changes 3)* Minimize the number of violations of low priority ratio constraints 1)Minimize the number of violations of high priority ratio constraints 2)Minimize the number of paint color changes 3)* Minimize the number of violations of low priority ratio constraints EP-RAF-(ENP)

17 Heuristics for a multi-objective car sequencing problem 17/30 Problem EP-RAF-(ENP) Optimization of the first objective HPRC:  Build initial solution: H6  Improvement: Iterated Local Search (ILS) with restarts  Only first objective is considered.  Local search: swap moves  Intensification: shift followed by swap moves  Perturbations: reinsertion moves  Reinitializations: H6 or reinsertions  Stopping criterion: number of reinitializations without improvement or given fraction of total time

18 Heuristics for a multi-objective car sequencing problem 18/30 Problem EP-RAF-(ENP) Optimization of the second objective PCC:  Repair heuristic to make solution feasible for PCC  Improvement: Variable Neighborhood Search (VNS)  First and second objectives are considered.  First objective does not deteriorate.  Local search: swap moves  Shaking: k-swap moves (k max =20)  Intensification: shift followed by swap moves  Stopping criterion: number of intensifications without improvement or given fraction of total time

19 Heuristics for a multi-objective car sequencing problem 19/30 Problem EP-RAF-(ENP) Optimization of the third objective LPRC:  Improvement: Iterated Local Search (ILS) with restarts  All three objectives are simultaneously considered.  First and second objectives do not deteriorate.  Local search: swap moves  Intensification: shift followed by swap moves  Perturbations: inversion and group swap moves  Reinitializations: variant of H6 that do not deteriorate the first and second objectives  Stopping criterion: time limit

20 Heuristics for a multi-objective car sequencing problem 20/30 Problem EP-ENP-RAF 1.Build initial solution: H6 2.Improve 1st objective: ILS with restarts 3.Improve 2nd objective without deteriorating the 1st: VNS 4.Make solution feasible for PCC 5.Improve 3rd objective without deteriorating the 1st and 2nd: VNS 1)Minimize the number of violations of high priority ratio constraints 2)Minimize the number of violations of low priority ratio constraints 3)Minimize the number of paint color changes 1)Minimize the number of violations of high priority ratio constraints 2)Minimize the number of violations of low priority ratio constraints 3)Minimize the number of paint color changes EP-ENP-RAF

21 Heuristics for a multi-objective car sequencing problem 21/30 Problem RAF-EP-(ENP) 1. Build initial solution minimizing 1st objective PCC: H5 2. Improve 2nd objective without deteriorating the 1st: ILS with restarts 3. Improve 3rd objective without deteriorating the 1st and 2nd: ILS with restarts 1)Minimize the number of paint color changes 2)Minimize the number of violations of high priority ratio constraints 3)* Minimize the number of violations of low priority ratio constraints 1)Minimize the number of paint color changes 2)Minimize the number of violations of high priority ratio constraints 3)* Minimize the number of violations of low priority ratio constraints RAF-EP-(ENP)

22 Heuristics for a multi-objective car sequencing problem 22/30 Implementation issues Same quality solutions (ties) encouraged, accepted, and explored to diversify the search. Neighbors that cannot improve the current solution are not investigated, for example:  To do not deteriorate PCC, a car inside (but not in the border of) a color group may only be exchanged with another car with the same color.  Swap of two cars not involved in violations cannot improve the total number of violations.  Only shift moves of isolated cars can reduce the number of paint color changes.

23 Heuristics for a multi-objective car sequencing problem 23/30 Implementation issues If the current solution was a local optimum, after a perturbation only moves of cars in the region affected by the perturbation can improve the solution. When a neighbor solution is being evaluated, first evaluate the first objective. If the latter deteriorates, then stop and discard this neighbor.

24 Heuristics for a multi-objective car sequencing problem 24/30 Implementation issues Codes in C++ compiled with version 3.2.2 of the gcc compiler with the optimization flag -O3. Extensive use of profiling for code optimization. Approximately 27000 lines of code. C++ library routines linked with flag -static -lstdc++ Computational experiments on a Pentium IV with 1.8 GHz clock and 512 Mbytes of RAM memory. Time limit: 600 seconds (10 runs) Schrage’s random number generator.

25 Heuristics for a multi-objective car sequencing problem 25/30 Numerical results – Set A Instances EP-ENP-RAF Our average resultsBest average results in Phase 1 HPRCLPRCPCCCostHPRCLPRCPCCCost 024_38_34.01.0343.44001343.44.010.4366.84010767.0 024_38_54.039.1339.34039439.34.049.8359.84050160.0 025_38_10.0128.5776.1129276.10.0133.6754.6134354.6 048_39_10.063.6303.063903.00.064.0351.064351.0 Best average results for all EP-ENP-RAF instances in test set A:  Improved results for the second objective LPRC

26 Heuristics for a multi-objective car sequencing problem 26/30 Numerical results – Set A Instances EP-RAF-(ENP) Our average resultsBest average results in Phase 1 HPRCLPRCPCCCostHPRCLPRCPCCCost 022_3_40.00.631.231200.60.0 31.031000.0 024_38_34.0208.0253.24253408.04.0160.4267.24267360,0 024_38_54.0129.4281.94282029.44.0106.4292.44292506,0 025_38_10.0601.6229.6230201.60.01819.2237.4239219.2 039_38_4 ch1*13.70.0120.813820800.013.40.0137.213537200.0 048_39_10.0741.8175.1175841.80.0642.0179,0179642.0 064_38_2 ch10.0763.7113.7114463.70.0761.0113.0113761.0 064_38_2 ch20.052.434.034052.40.051.034.034051.0 Best average results for four out of eigth EP-RAF- (ENP) instances in test set A:  Improved results for the second objective PCC

27 Heuristics for a multi-objective car sequencing problem 27/30 Numerical results – Set A Instances RAF-EP-(ENP) Our average resultsBest average results in Phase 1 HPRCLPRCPCCCostHPRCLPRCPCCCost 022_3_439.01.011.011039001.039.01.011.011039001.0 039_38_4155.60.068.068155600.0156.00.068.068156000.0 064_38_2 ch1423.0782.963.063423782.9423.0782.063.063423782.0 064_38_2 ch2367.052.627.027367052.6367.052.027.027367052.0 Best average results for two out of four RAF-EP- (ENP) instances in test set A:  Results are very close for the other four instances

28 Heuristics for a multi-objective car sequencing problem 28/30 Numerical results – Set B Instances EP-ENP-RAFHPRCLPRCPCCCost 022_EP_ENP_RAF_S22_J10.03.0113.03113.0 023_EP_ENP_RAF_S23_J348.00.0318.748000318.7 024_V2_EP_ENP_RAF_S22_J11074.8868.5492.01075668992.0 025_EP_ENP_RAF_S22_J30.03912.0525.63912525.6 028_ch1_EP_ENP_RAF_S22_J254.03.180.354003180.3 028_ch2_EP_ENP_RAF_S23_J30.070.06.070006.0 029_EP_ENP_RAF_S21_J635.02150.0167.337150167.3 035_ch1_EP_ENP_RAF_S22_J367.052.049.067052049.0 035_ch2_EP_ENP_RAF_S22_J3385.0341.0205.0385341205.0 039_ch1_EP_ENP_RAF_S22_J40.029.0184.329184.3 039_ch3_EP_ENP_RAF_S22_J40.0 205.4 048_ch1_EP_ENP_RAF_S22_J30.0 203.3 048_ch2_EP_ENP_RAF_S22_J33.00.0340.13000340.1 064_ch1_EP_ENP_RAF_S22_J30.0 198.4 064_ch2_EP_ENP_RAF_S22_J40.069.0130.069130.0

29 Heuristics for a multi-objective car sequencing problem 29/30 Numerical results – Set B Instances EP-RAF-ENPHPRCLPRCPCCCost 022_EP_RAF_ENP_S22_J10.0142.620.020142.6 023_EP_RAF_ENP_S23_J348.07.8311.248311207.8 024_V2_EP_RAF_ENP_S22_J11074.7637.8305.11075005738 025_EP_RAF_ENP_S22_J30.0450.7178.1178550.7 028_ch1_EP_RAF_ENP_S22_J254.0141.549.554049641.5 028_ch2_EP_RAF_ENP_S23_J30.071.04.04071.0 029_EP_RAF_ENP_S21_J635.0157.7168.635168757.7 035_ch1_EP_RAF_ENP_S22_J367.060.336.067036060.3 035_ch2_EP_RAF_ENP_S22_J3385.0351.0187.0385187351.0 039_ch1_EP_RAF_ENP_S22_J40.0156.578.178256.5 039_ch3_EP_RAF_ENP_S22_J40.0135.5189.0189135.5 048_ch1_EP_RAF_ENP_S22_J30.0445.3161.2161645.3 048_ch2_EP_RAF_ENP_S22_J33.031.794.73094731.7 064_ch1_EP_RAF_ENP_S22_J30.0221.3132.2132421.3 064_ch2_EP_RAF_ENP_S22_J40.069.0130.0130069.0

30 Heuristics for a multi-objective car sequencing problem 30/30 Numerical results – Set B Instances RAF-EP-(ENP)HPRCLPRCPCCCost 022_EP_RAF_ENP_S22_J122.0148.313.013022148.3 023_EP_RAF_ENP_S23_J3327.91032.551.051328932.5 024_V2_EP_RAF_ENP_S22_J12046.41307.9132.0134047707.9 025_EP_RAF_ENP_S22_J3122.05701.2126.0126127701.2 028_ch1_EP_RAF_ENP_S22_J298.0218.438.038098218.4 028_ch2_EP_RAF_ENP_S23_J30.071.04.04000071.0 029_EP_RAF_ENP_S21_J6712.92190.452.052715090.4 035_ch1_EP_RAF_ENP_S22_J3156.090.36.06156090.3 035_ch2_EP_RAF_ENP_S22_J3651.5671.07.07652171.0 039_ch1_EP_RAF_ENP_S22_J445.0109.155.055045109.1 039_ch3_EP_RAF_ENP_S22_J4214.0672.059.059214672.0 048_ch1_EP_RAF_ENP_S22_J3115.0674.364.064115674.3 048_ch2_EP_RAF_ENP_S22_J3282.01180.058.058283180.0 064_ch1_EP_RAF_ENP_S22_J396.4306.862.062096706.8 064_ch2_EP_RAF_ENP_S22_J452.0178.031.031052178.0

31 Heuristics for a multi-objective car sequencing problem 31/30 Problem EP-ENP-RAF 1.Build initial solution: H6 2.Improve 1st objective: ILS with restarts 3.Improve 2nd objective without deteriorating the 1st: VNS 4.Make solution feasible for PCC 5.Improve 3rd objective without deteriorating the 1st and 2nd: VNS 1)Minimize the number of violations of high priority ratio constraints 2)Minimize the number of violations of low priority ratio constraints 3)Minimize the number of paint color changes 1)Minimize the number of violations of high priority ratio constraints 2)Minimize the number of violations of low priority ratio constraints 3)Minimize the number of paint color changes EP-ENP-RAF

32 Heuristics for a multi-objective car sequencing problem 32/30 Problem EP-ENP-RAF Optimization of the first objective HPRC:  Build initial solution: H6  Improvement: Iterated Local Search (ILS) with restarts  Only first objective is considered.  Local search: swap moves  Intensification: shift followed by swap moves  Perturbations: reinsertion moves  Reinitializations: H6 or reinsertions  Stopping criterion: number of reinitializations without improvement or given fraction of total time

33 Heuristics for a multi-objective car sequencing problem 33/30 Problem EP-ENP-RAF Optimization of the second objective LPRC:  Improvement: Variable Neighborhood Search (VNS)  First and second objectives are considered.  First objective does not deteriorate.  Local search: swap moves  Shaking: reinsertion and k-swap moves  Intensification: shift followed by swap moves  Stopping criterion: number of intensifications without improvement or given fraction of total time

34 Heuristics for a multi-objective car sequencing problem 34/30 Problem EP-ENP-RAF Optimization of the third objective PCC:  Repair heuristics to make solution feasible for PCC: 1.Antecipatory analysis: build good solution for PCC 2.Swap moves to find feasible solution for PCC 3.Shift moves to ensure feasibility: solution may deteriorate  Improvement: Variable Neighborhood Search (VNS)  All three objectives are simultaneously considered.  First and second objectives do not deteriorate.  Local search: swap moves  Shaking: reinsertion and k-swap moves  Intensification: shift followed by swap moves  Stopping criterion: time limit

35 Heuristics for a multi-objective car sequencing problem 35/30 Problem RAF-EP-(ENP) 1. Build initial solution minimizing 1st objective PCC: H5 2. Improve 2nd objective without deteriorating the 1st: ILS with restarts 3. Improve 3rd objective without deteriorating the 1st and 2nd: ILS with restarts 1)Minimize the number of paint color changes 2)Minimize the number of violations of high priority ratio constraints 3)* Minimize the number of violations of low priority ratio constraints 1)Minimize the number of paint color changes 2)Minimize the number of violations of high priority ratio constraints 3)* Minimize the number of violations of low priority ratio constraints RAF-EP-(ENP)

36 Heuristics for a multi-objective car sequencing problem 36/30 Problem RAF-EP-(ENP) Optimization of the second objective HPRC:  Improvement: Iterated Local Search (ILS) with restarts  First and second objectives are considered.  First objective does not deteriorate.  Local search: swap moves  Intensification: shift followed by swap moves  Perturbations: group swap and inversion moves  Reinitializations: H5  Stopping criterion: same solution hit many times after given fraction of total time

37 Heuristics for a multi-objective car sequencing problem 37/30 Problem RAF-EP-(ENP) Optimization of the third objective LPRC:  Improvement: Iterated Local Search (ILS) with restarts  All three objectives are simultaneously considered.  First and second objectives do not deteriorate.  Local search: swap moves  Intensification: shift followed by swap moves  Perturbations: inversion and group swap moves  Reinitializations: variant of H6 that do not deteriorate the first and second objectives  Stopping criterion: time limit

38 Heuristics for a multi-objective car sequencing problem 38/30 Iterated Local Search procedure ILS while stopping criterion not satisfied do s 0  BuildRandomizedInitialSolution() s*  LocalSearch(s 0 ) repeat s’  Perturbation(s*) s’  LocalSearch(s’) s*  AcceptanceCriterion(s*,s’) until reinitialization criterion satisfied end-while end

39 Heuristics for a multi-objective car sequencing problem 39/30 Variable Neighborhood Search procedure VNS s*  BuildInitialSolution() Select neighborhoods N k, k = 1,...,k max while stopping criterion not satisfied do k  1 while k  k max do s’  Shaking(s*, N k ) s”  LocalSearch(s’) s*  AcceptanceCriterion(s*,s”) if s* = s” then k  1 else k  k + 1 end-while end


Download ppt "Heuristics for a multi-objective car sequencing problem Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián Urrutia 1 1 Universidade."

Similar presentations


Ads by Google