Title: A heuristic for a reallife car sequencing problem with multiple requirements
1A heuristic for a real-life car sequencing
problemwith multiple requirements
- Daniel Aloise 1
- Thiago Noronha 1
- Celso Ribeiro 1,2
- Caroline Rocha 2
- Sebastián Urrutia 1
MIC2005 Vienna, Austria
1 Universidade Católica do Rio de Janeiro,
Brazil 2 Universidade Federal Fluminense, Brazil
2Summary
- Problem statement
- Basic findings
- Construction heuristics
- Neighborhoods
- Local search
- Other neighborhoods
- Improvement heuristics
- ROADEF challenge
- Implementation issues
- Numerical results
3Problem 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
4Problem 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.
5Problem statement
6Problem 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.
7Problem statement
P-1 cars
X _ _ ... _ _ X
Non-constrained car
Constrained car
8Problem 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.
9Problem 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 gtgt P2 gtgt P3
10Problem 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
11Notation
- 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
12Basic 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.
13Basic findings
Construction heuristic
First objective optimization
Second objective optimization
Third objective optimization
14Basic findings
15Basic 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.
16Construction 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)
17Construction 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)
18Neighborhoods
- 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
19Local 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.
20Other neighborhoods
- Four types of moves are explored as
perturbations - k-swap k pairs of cars have their positions
exchanged
21Other neighborhoods
- Four types of moves are explored as
perturbations - group swap two groups of cars painted with
different colors are exchanged
22Other neighborhoods
- Four types of moves are explored as
perturbations - inversion order of the cars in a group painted
with the same color is reverted
23Other neighborhoods
- Four types of moves are explored as
perturbations - reinsertion cars involved in violations are
eliminated and greedily reinserted
24Iterated Local Search
procedure ILS while stopping criterion not
satisfied do s0 ? BuildRandomizedInitialSolu
tion() s ? LocalSearch(s0) repeat
s ? Perturbation(s) s ?
LocalSearch(s) s ? AcceptanceCriterion(
s,s) until reinitialization criterion
satisfied end-while end
25Variable Neighborhood Search
26Problem 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
27Problem 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
28Problem 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 (kmax20)
- Intensification shift followed by swap moves
- Stopping criterion number of intensifications
without improvement or given fraction of total
time
29Problem 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
30Problem 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
31Problem 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
32Problem 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
33Problem 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
34Problem 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
35Problem 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
36Problem 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
37ROADEF 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
38ROADEF Challenge
39Implementation 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.
40Implementation 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).
- Schrages random number generator.
41Numerical results
42Numerical results
43Numerical results
44Numerical results
45Numerical results
average cost
running time (s)
46Numerical results
average cost
running time (s)
47Numerical results
average cost
running time (s)
48Numerical results
49Numerical results
Team A B. Estelllon, F. Gardi, K. Nouioua Team
PUC-UFF D. Aloise, T. Noronha, C. Ribeiro, C.
Rocha, S. Urrutia