a heuristic for a real-life car sequencing problem with multiple requirements daniel aloise 1 thiago...

49
A heuristic for a A heuristic for a real-life real-life car sequencing car sequencing problem problem with multiple with multiple requirements requirements Daniel Aloise Daniel Aloise 1 Thiago Noronha Thiago Noronha 1 Celso Ribeiro Celso Ribeiro 1,2 1,2 Caroline Rocha Caroline Rocha 2 Sebastián Urrutia Sebastián Urrutia 1 1 Universidade Católica do Rio de Janeiro, Brazil Universidade Católica do Rio de Janeiro, Brazil 2 Universidade Federal Fluminense, Brazil Universidade Federal Fluminense, Brazil MIC’2005 MIC’2005 Vienna, Austria Vienna, Austria

Post on 19-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

A heuristic for a real-life A heuristic for a real-life car sequencing problemcar sequencing problem

with multiple requirementswith multiple requirements

Daniel Aloise Daniel Aloise 11

Thiago Noronha Thiago Noronha 11

Celso Ribeiro Celso Ribeiro 1,21,2

Caroline Rocha Caroline Rocha 22

Sebastián UrrutiaSebastián Urrutia 11 11 Universidade Católica do Rio de Janeiro, BrazilUniversidade Católica do Rio de Janeiro, Brazil22 Universidade Federal Fluminense, Brazil Universidade Federal Fluminense, Brazil

MIC’2005MIC’2005Vienna, AustriaVienna, Austria

Page 2: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

Heuristics for a multi-objective car sequencing problemHeuristics for a multi-objective car sequencing problem 22/49/49

SummarySummary

Problem statement Basic findings Construction heuristics Neighborhoods Local search Other neighborhoods Improvement heuristics ROADEF challenge Implementation issues Numerical results

Page 3: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

Heuristics for a multi-objective car sequencing problemHeuristics for a multi-objective car sequencing problem 33/49/49

Problem statementProblem statement Scheduling in a car factory consists in:

1. Assigning a production day to each vehicle, according to production line capacities and delivery dates;

2. 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

Page 4: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

Heuristics for a multi-objective car sequencing problemHeuristics for a multi-objective car sequencing problem 44/49/49

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.

Problem statementProblem statement

Minimize the number of paint color changes (Minimize the number of paint color changes (PCCPCC) in ) in the sequence of scheduled vehiclesthe sequence of scheduled vehicles..

Minimize the number of paint color changes (Minimize the number of paint color changes (PCCPCC) in ) in the sequence of scheduled vehiclesthe sequence of scheduled vehicles..

Page 5: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

Heuristics for a multi-objective car sequencing problemHeuristics for a multi-objective car sequencing problem 55/49/49

Color batches have an upper bound on the Color batches have an upper bound on the batch sizebatch size..

Color batches have an upper bound on the Color batches have an upper bound on the batch sizebatch size..

HARD CONSTRAINTHARD CONSTRAINT

7 washes!7 washes!

2 washes!2 washes!

Problem statementProblem statement

Page 6: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

Heuristics for a multi-objective car sequencing problemHeuristics for a multi-objective car sequencing problem 66/49/49

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.

Problem statementProblem statement

Page 7: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

Heuristics for a multi-objective car sequencing problemHeuristics for a multi-objective car sequencing problem 77/49/49

N/P = 3/5N/P = 3/5 There must be no more than 3 constrained cars in any consecutive sequence of 5 vehicles .

N/P = 1/PN/P = 1/P It means that 2 constrained cars must be separated by at least P-1 consecutive non-constrained vehicles .

Problem statementProblem statement

X _ _ ... _ _ XX _ _ ... _ _ X

Constrained car Non-constrained car

P-1 cars

Page 8: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

Heuristics for a multi-objective car sequencing problemHeuristics for a multi-objective car sequencing problem 88/49/49

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.

Problem statementProblem statement

Minimize the number of violations of ratio constraints.Minimize the number of violations of ratio constraints. Minimize the number of violations of ratio constraints.Minimize the number of violations of ratio constraints.

SOFT CONSTRAINTSSOFT CONSTRAINTS

Page 9: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

Heuristics for a multi-objective car sequencing problemHeuristics for a multi-objective car sequencing problem 99/49/49

Cost function: Weights are associated to the objectives

according to their priorities

Lexicographic formulation is handled as a single-objective problem

Solution cost:Solution cost:

P1 P1 number of violations of HPRC + number of violations of HPRC +

+ P2 + P2 number of violations of LPRC + number of violations of LPRC +

+ P3 + P3 number of paint color changes number of paint color changes

Solution cost:Solution cost:

P1 P1 number of violations of HPRC + number of violations of HPRC +

+ P2 + P2 number of violations of LPRC + number of violations of LPRC +

+ P3 + P3 number of paint color changes number of paint color changes

P1 >> P2 >> P3

Problem statementProblem statement

EP-ENP-RAF

Page 10: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

Heuristics for a multi-objective car sequencing problemHeuristics for a multi-objective car sequencing problem 1010/49/49

Problem: find the sequence of cars that optimizes painting and assembling requirements.

Three different lexicographic problems exist:

1)1) Minimize the number of violations of high priority ratio constraintsMinimize the number of violations of high priority ratio constraints2)2) Minimize the number of paint color changesMinimize the number of paint color changes3)3) * Minimize the number of violations of low priority ratio constraints* Minimize the number of violations of low priority ratio constraints

1)1) Minimize the number of violations of high priority ratio constraintsMinimize the number of violations of high priority ratio constraints2)2) Minimize the number of paint color changesMinimize the number of paint color changes3)3) * Minimize the number of violations of low priority ratio constraints* Minimize the number of violations of low priority ratio constraints

1)1) Minimize the number of violations of high priority ratio constraintsMinimize the number of violations of high priority ratio constraints2)2) Minimize the number of violations of low priority ratio constraintsMinimize the number of violations of low priority ratio constraints3)3) Minimize the number of paint color changesMinimize the number of paint color changes

1)1) Minimize the number of violations of high priority ratio constraintsMinimize the number of violations of high priority ratio constraints2)2) Minimize the number of violations of low priority ratio constraintsMinimize the number of violations of low priority ratio constraints3)3) Minimize the number of paint color changesMinimize the number of paint color changes

1)1) Minimize the number of paint color changesMinimize the number of paint color changes2)2) Minimize the number of violations of high priority ratio constraintsMinimize the number of violations of high priority ratio constraints3)3) * Minimize the number of violations of low priority ratio constraints* Minimize the number of violations of low priority ratio constraints

1)1) Minimize the number of paint color changesMinimize the number of paint color changes2)2) Minimize the number of violations of high priority ratio constraintsMinimize the number of violations of high priority ratio constraints3)3) * Minimize the number of violations of low priority ratio constraints* Minimize the number of violations of low priority ratio constraints

EP-RAF-(ENP)

EP-ENP-RAF

RAF-EP-(ENP)

Problem statementProblem statement

Page 11: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

Heuristics for a multi-objective car sequencing problemHeuristics for a multi-objective car sequencing problem 1111/49/49

NotationNotation

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

Page 12: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

Heuristics for a multi-objective car sequencing problemHeuristics for a multi-objective car sequencing problem 1212/49/49

Basic findingsBasic 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.

Page 13: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

Heuristics for a multi-objective car sequencing problemHeuristics for a multi-objective car sequencing problem 1313/49/49

Four step approach:

Construction heuristicConstruction heuristic

First objective optimizationFirst objective optimization

Second objective optimizationSecond objective optimization

Third objective optimizationThird objective optimization

Basic findingsBasic findings

Page 14: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

Heuristics for a multi-objective car sequencing problemHeuristics for a multi-objective car sequencing problem 1414/49/49

Basic findingsBasic findings

Algorithms: EP-RAF-(ENP) EP-ENP-RAF RAF-EP-(ENP)

Construction H6 H6

H5

First objective ILS ILS

Second objective VNS VNS ILS

Third objective ILS VNS ILS

Page 15: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

Heuristics for a multi-objective car sequencing problemHeuristics for a multi-objective car sequencing problem 1515/49/49

Basic findingsBasic 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.

Page 16: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

Heuristics for a multi-objective car sequencing problemHeuristics for a multi-objective car sequencing problem 1616/49/49

Construction heuristicsConstruction 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)

Page 17: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

Heuristics for a multi-objective car sequencing problemHeuristics for a multi-objective car sequencing problem 1717/49/49

Construction heuristicsConstruction 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)

Page 18: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

Heuristics for a multi-objective car sequencing problemHeuristics for a multi-objective car sequencing problem 1818/49/49

NeighborhoodsNeighborhoods

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

Page 19: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

Heuristics for a multi-objective car sequencing problemHeuristics for a multi-objective car sequencing problem 1919/49/49

Local searchLocal 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.

Page 20: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

Heuristics for a multi-objective car sequencing problemHeuristics for a multi-objective car sequencing problem 2020/49/49

Other neighborhoodsOther neighborhoods

Four types of moves are explored as perturbations: k-swap: k pairs of cars have their positions

exchanged

Page 21: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

Heuristics for a multi-objective car sequencing problemHeuristics for a multi-objective car sequencing problem 2121/49/49

Other neighborhoodsOther neighborhoods

Four types of moves are explored as perturbations: group swap: two groups of cars painted with

different colors are exchanged

Page 22: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

Heuristics for a multi-objective car sequencing problemHeuristics for a multi-objective car sequencing problem 2222/49/49

Other neighborhoodsOther neighborhoods

Four types of moves are explored as perturbations: inversion: order of the cars in a group painted with

the same color is reverted

Page 23: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

Heuristics for a multi-objective car sequencing problemHeuristics for a multi-objective car sequencing problem 2323/49/49

Other neighborhoodsOther neighborhoods

Four types of moves are explored as perturbations:

reinsertion: cars involved in violations are eliminated and greedily reinserted

Page 24: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

Heuristics for a multi-objective car sequencing problemHeuristics for a multi-objective car sequencing problem 2424/49/49

Iterated Local SearchIterated Local Search

procedure ILS

while stopping criterion not satisfied do

s0 BuildRandomizedInitialSolution()

s* LocalSearch(s0)

repeat

s’ Perturbation(s*)

s’ LocalSearch(s’)

s* AcceptanceCriterion(s*,s’)

until reinitialization criterion satisfied

end-while

end

Page 25: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

Heuristics for a multi-objective car sequencing problemHeuristics for a multi-objective car sequencing problem 2525/49/49

Variable Neighborhood SearchVariable Neighborhood Search

procedure VNS

s* BuildInitialSolution()

Select neighborhoods Nk, k = 1,...,kmax

while stopping criterion not satisfied do

k 1

while k kmax do

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

Page 26: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

Heuristics for a multi-objective car sequencing problemHeuristics for a multi-objective car sequencing problem 2626/49/49

Problem EP-RAF-(ENP)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)1) Minimize the number of violations of high priority ratio constraintsMinimize the number of violations of high priority ratio constraints2)2) Minimize the number of paint color changesMinimize the number of paint color changes3)3) * Minimize the number of violations of low priority ratio constraints* Minimize the number of violations of low priority ratio constraints

1)1) Minimize the number of violations of high priority ratio constraintsMinimize the number of violations of high priority ratio constraints2)2) Minimize the number of paint color changesMinimize the number of paint color changes3)3) * Minimize the number of violations of low priority ratio constraints* Minimize the number of violations of low priority ratio constraints

EP-RAF-(ENP)

Page 27: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

Heuristics for a multi-objective car sequencing problemHeuristics for a multi-objective car sequencing problem 2727/49/49

Problem EP-RAF-(ENP)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

Page 28: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

Heuristics for a multi-objective car sequencing problemHeuristics for a multi-objective car sequencing problem 2828/49/49

Problem EP-RAF-(ENP)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

Page 29: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

Heuristics for a multi-objective car sequencing problemHeuristics for a multi-objective car sequencing problem 2929/49/49

Problem EP-RAF-(ENP)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

Page 30: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

Heuristics for a multi-objective car sequencing problemHeuristics for a multi-objective car sequencing problem 3030/49/49

Problem EP-ENP-RAFProblem 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)1) Minimize the number of violations of high priority ratio constraintsMinimize the number of violations of high priority ratio constraints2)2) Minimize the number of violations of low priority ratio constraintsMinimize the number of violations of low priority ratio constraints3)3) Minimize the number of paint color changesMinimize the number of paint color changes

1)1) Minimize the number of violations of high priority ratio constraintsMinimize the number of violations of high priority ratio constraints2)2) Minimize the number of violations of low priority ratio constraintsMinimize the number of violations of low priority ratio constraints3)3) Minimize the number of paint color changesMinimize the number of paint color changes

EP-ENP-RAF

Page 31: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

Heuristics for a multi-objective car sequencing problemHeuristics for a multi-objective car sequencing problem 3131/49/49

Problem EP-ENP-RAFProblem 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

Page 32: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

Heuristics for a multi-objective car sequencing problemHeuristics for a multi-objective car sequencing problem 3232/49/49

Problem EP-ENP-RAFProblem 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

Page 33: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

Heuristics for a multi-objective car sequencing problemHeuristics for a multi-objective car sequencing problem 3333/49/49

Problem EP-ENP-RAFProblem EP-ENP-RAF

Optimization of the third objective PCC: Repair heuristics to make solution feasible for PCC:

1. Antecipatory analysis: build good solution for PCC2. Swap moves to find feasible solution for PCC3. 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

Page 34: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

Heuristics for a multi-objective car sequencing problemHeuristics for a multi-objective car sequencing problem 3434/49/49

Problem RAF-EP-(ENP)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)1) Minimize the number of paint color changesMinimize the number of paint color changes2)2) Minimize the number of violations of high priority ratio constraintsMinimize the number of violations of high priority ratio constraints3)3) * Minimize the number of violations of low priority ratio constraints* Minimize the number of violations of low priority ratio constraints

1)1) Minimize the number of paint color changesMinimize the number of paint color changes2)2) Minimize the number of violations of high priority ratio constraintsMinimize the number of violations of high priority ratio constraints3)3) * Minimize the number of violations of low priority ratio constraints* Minimize the number of violations of low priority ratio constraints

RAF-EP-(ENP)

Page 35: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

Heuristics for a multi-objective car sequencing problemHeuristics for a multi-objective car sequencing problem 3535/49/49

Problem RAF-EP-(ENP)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

Page 36: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

Heuristics for a multi-objective car sequencing problemHeuristics for a multi-objective car sequencing problem 3636/49/49

Problem RAF-EP-(ENP)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

Page 37: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

Heuristics for a multi-objective car sequencing problemHeuristics for a multi-objective car sequencing problem 3737/49/49

ROADEF ChallengeROADEF 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

Page 38: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

Heuristics for a multi-objective car sequencing problemHeuristics for a multi-objective car sequencing problem 3838/49/49

ROADEF ChallengeROADEF Challenge

IDInstances

EP-ENP-RAF

X1 025_S49_J1

X2 028_CH1_S50_J4

X3 028_CH2_S51_J1

IDInstances

EP-RAF-ENP

X4 023_S49_J2

X5 024_S49_J2

X6 029_S49_J5

X7 034_VP_S51_J1_J2_J3

X8 034_VU_S51_J1_J2_J3

X9 039_CH1_S49_J1

X10 039_CH3_S49_J1

X11 048_CH1_S50_J4

X12 048_CH2_S49_J5

X13 064_CH1_S49_J1

X14 064_CH2_S49_J4

X15 655_CH1_S51_J2_J3_J4

X16 655_CH2_S52_J1_J2_S01_J1

IDInstances

RAF-EP-(ENP)

X17 022_S49_J2

X18 035_CH1_S50_J4*

X19 035_CH2_S50_J4*

Page 39: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

Heuristics for a multi-objective car sequencing problemHeuristics for a multi-objective car sequencing problem 3939/49/49

Implementation issuesImplementation 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.

Page 40: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

Heuristics for a multi-objective car sequencing problemHeuristics for a multi-objective car sequencing problem 4040/49/49

Implementation issuesImplementation 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.

Page 41: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

Heuristics for a multi-objective car sequencing problemHeuristics for a multi-objective car sequencing problem 4141/49/49

Numerical resultsNumerical results

Instances EP-ENP-RAF

Our average results (5 runs) Best average results (5 runs)

HPRC LPRC PCC Cost HPRC LPRC PCC Cost

X1 0.0 160.0 602.2 160602.2 0.0 160.0 407.6 160407.6

X2 36.0 341.4 95.4 36341495.4 36.0 341.4 95.4 36341495.4

X3 0.0 0.0 3.0 3.0 0.0 0.0 3.0 3.0

Team ATeam A

PUC-UFFPUC-UFF

PUC-UFF+PUC-UFF+

Page 42: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

Heuristics for a multi-objective car sequencing problemHeuristics for a multi-objective car sequencing problem 4242/49/49

Numerical resultsNumerical results

Instances EP-RAF-(ENP)

Our average results (5 runs) Best average results (5 runs)

HPRC LPRC PCC Cost HPRC LPRC PCC Cost

X4 0.0 77.2 193.0 193077.2 0.0 66.0 192.4 192466.0

X5 0.0 12.0 352.8 352812.0 0.0 6.0 337.0 337006.0

X6 0.0 66.0 111.8 111866.0 0.0 98.4 110.2 110298.4

X7 0.0 643.6 58.0 58643.6 0.0 794.8 55.2 55994.8

X8 8.0 35.8 87.0 8087035.8 8.0 35.8 87.0 8087035.8

X9 0.0 479.6 69.0 69479.6 0.0 239.0 69.0 69239.0

Team ATeam A

Team ATeam A

Team CTeam C

Team ETeam E

PUC-UFFPUC-UFF

Team ATeam A

Page 43: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

Heuristics for a multi-objective car sequencing problemHeuristics for a multi-objective car sequencing problem 4343/49/49

Numerical resultsNumerical results

Instances EP-RAF-(ENP)

Our average results (5 runs) Best average results (5 runs)

HPRC LPRC PCC Cost HPRC LPRC PCC Cost

X10 0.0 2162.6 231.0 233162.6 0.0 30.0 231.0 231030.0

X11 0.0 1016.0 196.0 197016.0 0.0 1005.6 196.0 197005.0

X12 31.0 1128.4 79.0 31080128.4 31.0 1116.2 76.8 31077916.2

X13 61.0 81.4 190.8 61190881.4 61.0 29.8 187.2 61187229.8

X14 0.0 37.0 0.0 37000.0 0.0 37.0 0.0 37000.0

X15 0.0 30.0 0.0 30000.0 0.0 30.0 0.0 30000.0

X16 153.0 0.0 34.0 153034000.0 153.0 0.0 34.0 153034000.0

Team BTeam B

Team DTeam D

Team ATeam A

Team ATeam A

PUC-UFF+PUC-UFF+

PUC-UFF+PUC-UFF+

PUC-UFF+PUC-UFF+

Page 44: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

Heuristics for a multi-objective car sequencing problemHeuristics for a multi-objective car sequencing problem 4444/49/49

Numerical resultsNumerical results

Instances RAF-EP-(ENP)

Our average results (5 runs) Best average results (5 runs)

HPRC LPRC PCC Cost HPRC LPRC PCC Cost

X17 2.0 3.0 12.0 12002003.0 2.0 3.0 12.0 12002003.0

X18 10.0 0.0 5.0 5010000.0 10.0 0.0 5.0 5010000.0

X19 56.0 0.0 6.0 6056000.0 56.0 0.0 6.0 6056000.0

PUC-UFF+PUC-UFF+

PUC-UFF+PUC-UFF+

PUC-UFF+PUC-UFF+

Page 45: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

Heuristics for a multi-objective car sequencing problemHeuristics for a multi-objective car sequencing problem 4545/49/49

Numerical resultsNumerical results

running time (s)

aver

age

cost

Page 46: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

Heuristics for a multi-objective car sequencing problemHeuristics for a multi-objective car sequencing problem 4646/49/49

Numerical resultsNumerical results

running time (s)

aver

age

cost

Page 47: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

Heuristics for a multi-objective car sequencing problemHeuristics for a multi-objective car sequencing problem 4747/49/49

Numerical resultsNumerical results

running time (s)

aver

age

cost

Page 48: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

Heuristics for a multi-objective car sequencing problemHeuristics for a multi-objective car sequencing problem 4848/49/49

Numerical resultsNumerical results

0

1

2

3

4

5

6

7

8

9

10

1st 2nd 3rd 4th 5th 6th 7th

Ranking (our algorithm)

Nu

mb

er

of

ins

tan

ce

s

Page 49: A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián

Heuristics for a multi-objective car sequencing problemHeuristics for a multi-objective car sequencing problem 4949/49/49

Numerical resultsNumerical results

0

2

4

6

8

10

12

14

A B C D E PUC-UFF

Team

Nu

mb

er o

f vi

cto

ries

Team A: B. Estelllon, F. Gardi, K. NouiouaTeam PUC-UFF: D. Aloise, T. Noronha, C. Ribeiro, C. Rocha, S. Urrutia