530 likes | 723 Views
A heuristic for a real-life car sequencing problem with multiple requirements. EURO VNS Tenerife, Spain November 2005. 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
A heuristic for a real-life car sequencing problemwith multiple requirements EURO VNS Tenerife, Spain November 2005 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 • Other neighborhoods • Improvement heuristics • ROADEF challenge • Implementation issues • Numerical results Heuristics for a multi-objective car sequencing problem
Problem statement • Scheduling in a car factory consists in: • Assigning a production day to each vehicle, according to production line capacities and delivery dates; • Scheduling the order of cars to be put on the production line for each day, while satisfying as many requirements as possible of the plant shops: body shop, paint shop and assembly line. X Heuristics for a multi-objective car sequencing problem
Problem statement • Paint shop requirements: • The paint shop has to minimize the consumption of paint solvent used to wash spray guns each time the paint color is changed between two consecutive scheduled vehicles. • Therefore, there is a requirement to group vehicles together by paint color. Minimize the number of paint color changes (PCC) in the sequence of scheduled vehicles. Heuristics for a multi-objective car sequencing problem
7 washes! 2 washes! Color batches have an upper bound on the batch size. HARD CONSTRAINT Problem statement Heuristics for a multi-objective car sequencing problem
Problem statement • Assembly line requirements: • Vehicles that require special assembly operations have to be evenly distributed throughout the total processed cars. • These cars may not exceed a given quota over any sequence of vehicles. • This requirement is modeled by a ratio constraint N/P: at most N cars in each consecutive sequence of P cars are associated with this constraint. Heuristics for a multi-objective car sequencing problem
There must be no more than 3 constrained cars in any consecutive sequence of 5 vehicles . N/P = 3/5 It means that 2 constrained cars must be separated by at least P-1 consecutive non-constrained vehicles . N/P = 1/P Problem statement P-1 cars X _ _ ... _ _ X Non-constrained car Constrained car Heuristics for a multi-objective car sequencing problem
Minimize the number of violations of ratio constraints. SOFT CONSTRAINTS Problem statement • Assembly line requirements (cont.) • There are two classes of ratio constraints: • High priority level ratio constraints (HPRC) are due to car characteristics that require a heavy workload on the assembly line. • Low priority level ratio constraints (LPRC) result from car characteristics that cause small inconvenience to production. Heuristics for a multi-objective car sequencing problem
Problem statement • Cost function: • Weights are associated to the objectives according to their priorities • Lexicographic formulation is handled as a single-objective problem Solution cost: P1 number of violations of HPRC + + P2 number of violations of LPRC + + P3 number of paint color changes EP-ENP-RAF P1 >> P2 >> P3 Heuristics for a multi-objective car sequencing problem
Problem statement • Problem: find the sequence of cars that optimizes painting and assembling requirements. • Three different lexicographic problems exist: 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
Notation • 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 • Four step approach: Construction heuristic First objective optimization Second objective optimization Third objective optimization 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 at 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
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
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 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
ROADEF Challenge • Real life problem proposed by Renault • First phase: • Test set A provided by Renault (16 instances) • Results evaluated for instances in test set A • Best teams selected (52 candidates) • Second phase: • Test set B provided by Renault (45 instances) • Teams improved their codes using test set B • Third and final phase: • Renault evaluated the algorithms using test set X of unknown instances (19 instances) • Instances of the three types in each test set Heuristics for a multi-objective car sequencing problem
ROADEF Challenge 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 • 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 (imposed by Renault). • Schrage’s random number generator. Heuristics for a multi-objective car sequencing problem
Numerical results Heuristics for a multi-objective car sequencing problem
Numerical results Heuristics for a multi-objective car sequencing problem
Numerical results Heuristics for a multi-objective car sequencing problem
Numerical results Heuristics for a multi-objective car sequencing problem
Numerical results average cost running time (s) Heuristics for a multi-objective car sequencing problem
Numerical results average cost running time (s) Heuristics for a multi-objective car sequencing problem
Numerical results average cost running time (s) Heuristics for a multi-objective car sequencing problem
Numerical results Heuristics for a multi-objective car sequencing problem
Numerical results Team A: B. Estelllon, F. Gardi, K. Nouioua Team PUC-UFF: D. Aloise, T. Noronha, C. Ribeiro, C. Rocha, S. Urrutia Heuristics for a multi-objective car sequencing problem