410 likes | 600 Views
Heuristics for a multi-objective car sequencing problem. ROADEF Challenge February 2005 Tours, France. 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
E N D
Heuristics for a multi-objective car sequencing problem ROADEF Challenge February 2005 Tours, France Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián Urrutia1 1Universidade Católica do Rio de Janeiro, Brazil 2Universidade Federal Fluminense, Brazil
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 Heuristics for a multi-objective car sequencing problem
Problem statement • Problem: find the sequence of cars that optimizes painting and mounting requirements. • Three different problems are identified: EP-RAF-(ENP) • Minimize the number of violations of high priority ratio constraints • Minimize the number of paint color changes • * Minimize the number of violations of low priority ratio constraints EP-ENP-RAF • Minimize the number of violations of high priority ratio constraints • Minimize the number of violations of low priority ratio constraints • Minimize the number of paint color changes RAF-EP-(ENP) • Minimize the number of paint color changes • Minimize the number of violations of high priority ratio constraints • * Minimize the number of violations of low priority ratio constraints Heuristics for a multi-objective car sequencing problem
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 Heuristics for a multi-objective car sequencing problem
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. Heuristics for a multi-objective car sequencing problem
Basic findings Heuristics for a multi-objective car sequencing problem
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. Heuristics for a multi-objective car sequencing problem
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.n2) Heuristics for a multi-objective car sequencing problem
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.n2) Heuristics for a multi-objective car sequencing problem
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 Heuristics for a multi-objective car sequencing problem
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. Heuristics for a multi-objective car sequencing problem
Other neighborhoods • Four types of moves are explored as perturbations: • k-swap: k pairs of cars have their positions exchanged Heuristics for a multi-objective car sequencing problem
Other neighborhoods • Four types of moves are explored as perturbations: • group swap: two groups of cars painted with different colors are exchanged Heuristics for a multi-objective car sequencing problem
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 Heuristics for a multi-objective car sequencing problem
Other neighborhoods • Four types of moves are explored as perturbations: • reinsertion: cars involved in violations are eliminated and greedily reinserted Heuristics for a multi-objective car sequencing problem
Problem EP-RAF-(ENP) EP-RAF-(ENP) • Build initial solution: H6 • Improve 1st objective: ILS with restarts • Make solution feasible for PCC • Improve 2nd objective without deteriorating the 1st: VNS • Improve 3rd objective without deteriorating the 1st and 2nd: ILS with restarts • Minimize the number of violations of high priority ratio constraints • Minimize the number of paint color changes • * Minimize the number of violations of low priority ratio constraints Heuristics for a multi-objective car sequencing problem
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 Heuristics for a multi-objective car sequencing problem
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 (kmax=20) • Intensification: shift followed by swap moves • Stopping criterion: number of intensifications without improvement or given fraction of total time Heuristics for a multi-objective car sequencing problem
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 Heuristics for a multi-objective car sequencing problem
Problem EP-ENP-RAF EP-ENP-RAF • Build initial solution: H6 • Improve 1st objective: ILS with restarts • Improve 2nd objective without deteriorating the 1st: VNS • Make solution feasible for PCC • Improve 3rd objective without deteriorating the 1st and 2nd: VNS • Minimize the number of violations of high priority ratio constraints • Minimize the number of violations of low priority ratio constraints • Minimize the number of paint color changes Heuristics for a multi-objective car sequencing problem
Problem RAF-EP-(ENP) RAF-EP-(ENP) • Build initial solution minimizing 1st objective PCC: H5 • Improve 2nd objective without deteriorating the 1st: ILS with restarts • Improve 3rd objective without deteriorating the 1st and 2nd: ILS with restarts • Minimize the number of paint color changes • Minimize the number of violations of high priority ratio constraints • * Minimize the number of violations of low priority ratio constraints Heuristics for a multi-objective car sequencing problem
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. Heuristics for a multi-objective car sequencing problem
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. Heuristics for a multi-objective car sequencing problem
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. Heuristics for a multi-objective car sequencing problem
Numerical results – Set A • Best average results for all EP-ENP-RAF instances in test set A: • Improved results for the second objective LPRC Heuristics for a multi-objective car sequencing problem
Numerical results – Set A • Best average results for four out of eigth EP-RAF-(ENP) instances in test set A: • Improved results for the second objective PCC Heuristics for a multi-objective car sequencing problem
Numerical results – Set A • 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 Heuristics for a multi-objective car sequencing problem
Numerical results – Set B Heuristics for a multi-objective car sequencing problem
Numerical results – Set B Heuristics for a multi-objective car sequencing problem
Numerical results – Set B Heuristics for a multi-objective car sequencing problem
Problem EP-ENP-RAF EP-ENP-RAF • Build initial solution: H6 • Improve 1st objective: ILS with restarts • Improve 2nd objective without deteriorating the 1st: VNS • Make solution feasible for PCC • Improve 3rd objective without deteriorating the 1st and 2nd: VNS • Minimize the number of violations of high priority ratio constraints • Minimize the number of violations of low priority ratio constraints • Minimize the number of paint color changes Heuristics for a multi-objective car sequencing problem
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 Heuristics for a multi-objective car sequencing problem
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 Heuristics for a multi-objective car sequencing problem
Problem EP-ENP-RAF • Optimization of the third objective PCC: • Repair heuristics to make solution feasible for PCC: • Antecipatory analysis: build good solution for PCC • Swap moves to find feasible solution for PCC • 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 Heuristics for a multi-objective car sequencing problem
Problem RAF-EP-(ENP) RAF-EP-(ENP) • Build initial solution minimizing 1st objective PCC: H5 • Improve 2nd objective without deteriorating the 1st: ILS with restarts • Improve 3rd objective without deteriorating the 1st and 2nd: ILS with restarts • Minimize the number of paint color changes • Minimize the number of violations of high priority ratio constraints • * Minimize the number of violations of low priority ratio constraints Heuristics for a multi-objective car sequencing problem
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 Heuristics for a multi-objective car sequencing problem
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 Heuristics for a multi-objective car sequencing problem
Iterated Local Search procedureILS whilestopping criterion not satisfieddo s0 BuildRandomizedInitialSolution() s* LocalSearch(s0) repeat s’ Perturbation(s*) s’ LocalSearch(s’) s* AcceptanceCriterion(s*,s’) until reinitialization criterion satisfied end-while end Heuristics for a multi-objective car sequencing problem
procedureVNS s* BuildInitialSolution() Select neighborhoods Nk, k = 1,...,kmax while stopping criterion not satisfied do k 1 while k kmaxdo s’ Shaking(s*, Nk) s” LocalSearch(s’) s* AcceptanceCriterion(s*,s”) if s* = s” then k 1 else k k + 1 end-while end-while end Variable Neighborhood Search Heuristics for a multi-objective car sequencing problem