400 likes | 529 Views
A GRASP Heuristic to the Extended Car Sequencing Problem. Lucas Rizzo. Sebastián Urrutia. Federal University of Minas Gerais. {surrutia,rizzo}@dcc.ufmg.br. Outline. The Extended Car Sequencing Problem Heuristic Approach Results Conclusions. Introduction.
E N D
A GRASP Heuristic to the Extended Car Sequencing Problem Lucas Rizzo Sebastián Urrutia Federal Universityof Minas Gerais {surrutia,rizzo}@dcc.ufmg.br
Outline • The Extended Car Sequencing Problem • Heuristic Approach • Results • Conclusions
Introduction • The car sequencing problem (CSP) involves the schedule of different kinds of cars along an assembly line • A group of options need to be installed in each car along this assembly line • Each type of option is installed by a station • A limited number of cars can be simultaneously handled by each station
The Car Sequencing Problem Definition • The CSP is defined by the set of entries • C = {c1, c2, ... , cn} • V = {v1, v2, ..., vk} • Vectors p and qassociated to each option vi, such that in every sequence of q(vi) cars at most p(vi) of then require vi • A function t: C x V → {0,1}, that for each car ci and each option vj returns 1 if vj must be installed in ci and 0 otherwise.
The Car Sequencing Problem Definition • The CSP is a NP-Complete [2] feasibility problem • It consists in finding an arrangement of the cars in a sequence such that the number of upper violations in the objective function is zero where
The Extended Car Sequencing Problem • This work deals with the extended version of CSP (xCSP) [1] • Now is alsoconsideredlower limitations on the number of cars that a station can simultaneously deal with • This new limitations aim a more homogeneous distribution of work in the option installation stations
The Extended Car Sequencing Problem • The xCSP is defined by the same set (C,V,t,p,q) of entries shown for the CSP • Differently we have only • Vectors r and sassociated to each option vi, such that in every sequence of s(vi) cars at least r(vi) of then require vi
The Extended Car Sequencing Problem • The xCSP is an optimization problem with an objective function that considers both upper and lower violations • Upper violations are considered infinite times more important than the lower ones
The Extended Car Sequencing Problem • For upperviolations, subsequences with size smaller than q(vi) are considered at the beginning of the assembly line • The reason for this is that in the optimization problem, a subsequence that exceeds the limit of a station by a larger number of cars is considered worse than a subsequence that exceeds by a smaller number of cars
Example • Suppose a option va such that p(va) = 2 and q(va) = 4. Also suppose r(va) = 1 and s(va) = 4. X _ _ _ _ XXX _ XXX _ _ _ X X _ _ _ _ _ XX Assembly Line 1 Assembly Line 2 Assembly Line 3
Example • Suppose a option va such that p(va) = 2 and q(va) = 4. Also suppose r(va) = 1 and s(va) = 4. X _ _ _ _ XXX _ XXX _ _ _ X X _ _ _ _ _ XX Assembly Line 1 Assembly Line 2 Assembly Line 3
Example • Suppose a option va such that p(va) = 2 and q(va) = 4. Also suppose r(va) = 1 and s(va) = 4. X _ _ _ _ XXX _ XXX _ _ _ X X _ _ _ _ _ XX Assembly Line 1 Assembly Line 2 Assembly Line 3
Example • Suppose a option va such that p(va) = 2 and q(va) = 4. Also suppose r(va) = 1 and s(va) = 4. X _ _ _ _ XXX _ XXX _ _ _ X X _ _ _ _ _ XX Assembly Line 1 Assembly Line 2 Assembly Line 3
Example • Suppose a option va such that p(va) = 2 and q(va) = 4. Also suppose r(va) = 1 and s(va) = 4. X _ _ _ _ XXX _ XXX _ _ _ X X _ _ _ _ _ XX Assembly Line 1 Assembly Line 2 Assembly Line 3
Example • Suppose a option va such that p(va) = 2 and q(va) = 4. Also suppose r(va) = 1 and s(va) = 4. X _ _ _ _ XXX _ XXX _ _ _ X X _ _ _ _ _ XX Assembly Line 1 Assembly Line 2 Assembly Line 3
Example • Suppose a option va such that p(va) = 2 and q(va) = 4. Also suppose r(va) = 1 and s(va) = 4. X _ _ _ _ XXX _ XXX _ _ _ X X _ _ _ _ _ XX Assembly Line 1 Assembly Line 2 Assembly Line 3
Heuristic Approach • To heuristically solve the problem we implemented an algorithm based on the GRASP metaheuristic 1. Final Solution ← 2. For k=1 to MAX ITERATIONS 3. Solution ← RandomizedGreedyAlgorithm 4. Solution ← Local Search (Solution) 5. IfSolutionbetterthanFinal SolutionThen 6. Final Solution ← Solution 7. EndIf 8. End For 9. ReturnFinal Solution
Heuristic Approach • To heuristically solve the problem we implemented an algorithm based on the GRASP metaheuristic 1. Final Solution ← 2. For k=1 to MAX ITERATIONS 3. Solution ← RandomizedGreedyAlgorithm 4. Solution ← Local Search (Solution) 5. IfSolutionbetterthanFinal SolutionThen 6. Final Solution ← Solution 7. EndIf 8. End For 9. ReturnFinal Solution
Heuristic Approach • To heuristically solve the problem we implemented an algorithm based on the GRASP metaheuristic 1. Final Solution ← 2. For k=1 to MAX ITERATIONS 3. Solution ← RandomizedGreedyAlgorithm 4. Solution ← Local Search (Solution) 5. IfSolutionbetterthanFinal SolutionThen 6. Final Solution ← Solution 7. EndIf 8. End For 9. ReturnFinal Solution
Randomized Greedy Algorithm • Wecan build a initial solution byiterativelychoosingthecarthat minimize thecostofthe new sequence • Thiscar is added to thelastpositionofthesequence • Ties in this criterion are not only possible but frequent, for this case we present tie-breaking criterion
Tie-Breaking Criterion • Choose the car that minimizes the lower violations • If ties persist, create a restricted candidate list by randomly choosing two of the cars tied. • Choose the car that has the larger dynamic highest utilization rate [3].
Tie-Breaking Criteria • The dynamichighestutilization (DHU) for anoptionvi is theratiobetweenthenumberofcarsrequiringtheoptionvi in thecurrentsequence, andthenumberofcarsrequiringtheoptionthatcouldbe schedule in thecurrentsequencewithoutviolations • Thecarwiththelargerdynamichighestutilization rate is theonewhichhastheoptionswiththehighestDHU.
Local Search • Onlythe swap operatorwasimplemented. It consists in exchangingtwogivencars in a givensequence • All feasible solutions are reachable from any other solution by a finite number of swap movements. Therefore the neighborhood is connected. • Because of this property, the swap operator when well implemented allow us to construct an efficient local search
Local Search • To compare neighborssolutionsweconsiderfirstofallupperviolationsandonlyifthey are tied in thiscriterium, we compute lowerviolations. This is becauseupperviolationshaveinfinite times more importancethanlowerviolations • Furthermorethisstrategyreducestheevaluation time, resulting in a more efficient local search.
Swap Operator • Givencarsciandcj, the swap willonlychangethevalueoftheobjectivefunctionifexistanoptionvi Vsuchthatt(ci,vi) ≠ t(cj,vi) • The costfunctionmayonlyvary in subsequencesaffectedbythemovement • Auxiliaryvectors for eachoptionvistoresthenumberofcarsthathavevi in theirsubsequences. Thisallow us, in O(1), to decide when a carwillgenerate a violationifplaced in a sequence.
Swap Operator • That implies a complexity of O(|V|*qmax + |V|*smax) for a possible exchange • With this low complexity all possible exchanges can be tested in a very efficient way.
Results • A total of 74 instances, provided by CSPlib [7], were used in the experiments • Four instances have 100 cars while the other 70 instances have 200 cars. Each instance considers five possible options to be or not installed in each car
Results • Instances are divided in eight groups according to the percentage of use of each option. These vary between 60% and 90%. The first group contains four “classical” instances while the rest of the groups contain 10 instances each. • In order to adapt the instances to the xCSP we build the restrictions of minimum as s(vi) = q(vi) and r(vi) = p(vi) – 1 • Results are compared with [1]. As far as we know this is the only work dealing with the xCSP.
Results • Both instances and machine are identical to the ones used in [1] • The average time to each GRASP iteration was 0.3 seconds for the proposed algorithm while in [1] an average time of 1 second per GRASP iteration is reported
Conclusions • A heuristic based on the GRASP metaheuristic was implemented for the Extended Car Sequencing Problem • This heuristic presents a randomized greedy algorithm and a simple but efficient local search • Results were compared with the literature using the same instances and machine
Conclusions • A careful implementation of the local search procedure in terms of the cost evaluation of neighbors solutions allowed us to decrease the time of execution of every GRASP iteration in comparison with [1] • In consequence our algorithm found much better solutions in the same execution time
Conclusions • Further research includes the usage of other neighborhoods in the local search procedure and the developing of new heuristics based on other metaheuristics • We intend to perform a fine tuning of the algorithm, for example for the size of the restricted candidate list. Preliminary experiments show that better results may be obtained.
A GRASP Heuristic to the Extended Car Sequencing Problem Lucas Rizzo Sebastián Urrutia Federal Universityof Minas Gerais {surrutia,rizzo}@dcc.ufmg.br
References • [1] Bautista, J., Pereira, J. and Adenso-Díaz, B. A GRASP approach for the extended car sequencing problem, Journal of Scheduling, v.11, p.3-16, 2008. • [2] Gent, I. Two results on car-sequencing problems (Technical report APES-02-1998). • [3] Gottlieb, J., Puchta, M. and Solnon, C. A study of greedy, local search and ant colony optimization approaches for car sequencing problems. In Lecture notes in computer science: Vol. 2611, 246-257, 2003. • [4] Feo T. A. and Resende M. G. C. A probabilistic heuristic for a computationally difficult set covering problem. Operations Research Letters, 8, 67-71, 1989
References • [5] Regin, J. C. and Puget, J. F. A filtering algorithm for global sequencing constraints. In Lecture notes in computer science: Vol. 1330, 32-46, 1997. • [6] Resende, M.G.C. and Ribeiro, C.C. Greedy randomized adaptive search procedures: Advances, hybridizations, and applications, Handbook of Metaheuristics (M. Gendreau e J.- Y. Potvin, editors), 283-319, Springer, 2nd edition, 2010. • [7] http://www.csplib.org/