- 82 Views
- Uploaded on
- Presentation posted in: General

A heuristic for a real-life car sequencing problem with multiple requirements

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

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

- 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

- 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

- 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

Heuristics for a multi-objective car sequencing problem

- 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

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

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

- There are two classes of ratio constraints:

Heuristics for a multi-objective car sequencing problem

- 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: 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

- 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

- 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

- Four step approach:

Construction heuristic

First objective optimization

Second objective optimization

Third objective optimization

Heuristics for a multi-objective car sequencing problem

Heuristics for a multi-objective car sequencing problem

- 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

- 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

- 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

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

- 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

- 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

- 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

- 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

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

Heuristics for a multi-objective car sequencing problem

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

- 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

- 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

- 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

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

- 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

- 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

- 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

- Repair heuristics to make solution feasible for PCC:

Heuristics for a multi-objective car sequencing problem

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

- 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

- 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

- 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

Heuristics for a multi-objective car sequencing problem

- 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

- 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

Heuristics for a multi-objective car sequencing problem

Heuristics for a multi-objective car sequencing problem

Heuristics for a multi-objective car sequencing problem

Heuristics for a multi-objective car sequencing problem

average cost

running time (s)

Heuristics for a multi-objective car sequencing problem

average cost

running time (s)

Heuristics for a multi-objective car sequencing problem

average cost

running time (s)

Heuristics for a multi-objective car sequencing problem

Heuristics for a multi-objective car sequencing problem

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