300 likes | 456 Views
A genetic algorithm for the parallel machines scheduling problem with sequence dependent setup times and weighted earliness-tardiness minimisation. Eva Vallada, Rubén Ruiz. INSTITUTO TECNOLÓGICO DE INFORMÁTICA GRUPO DE SISTEMAS DE OPTIMIZACIÓN APLICADA UNIVERSITAT POLITÈCNICA DE VALÈNCIA.
E N D
A genetic algorithm for the parallel machines scheduling problem with sequence dependent setup times and weighted earliness-tardiness minimisation Eva Vallada, Rubén Ruiz INSTITUTO TECNOLÓGICO DE INFORMÁTICA GRUPO DE SISTEMAS DE OPTIMIZACIÓN APLICADA UNIVERSITAT POLITÈCNICA DE VALÈNCIA HAROSA 2012, Barcelona June 13-15
Outline • Introduction • Objectives • MIP mathematical models • Genetic algorithm • Computational experiments • Conclusions
Introduction UNRELATED PARALLEL MACHINE SCHEDULING PROBLEM WITH SEQUENCE DEPENDENT SETUP TIMES • A set ofnjobs has to be processed on exactly one machine out of a set of mmachines • Unrelated parallel machines: the processing times of the jobs depend on the machine to which they are assigned to • Setup times: machine and job sequence dependent setup times • Most common objective: minimisation of the maximum completion time of the jobs or makespan (Cmax)
Introduction UNRELATED PARALLEL MACHINE SCHEDULING PROBLEM WITH SEQUENCE DEPENDENT SETUP TIMES • More realisticobjective: basedondue dates • Letdj be thedue date of a jobj: • Thetardinessisdefined as: Tj= max{Cj -dj , 0} • Theearlinessisdefined as: Ej = max{dj - Cj, 0}
Introduction UNRELATED PARALLEL MACHINE SCHEDULING PROBLEM WITH SEQUENCE DEPENDENT SETUP TIMES
Objectives • To propose an effective Genetic Algorithm for the unrelated parallel machine scheduling problem with setup times, minimising the total weighted earliness-tardiness objective • To evaluate and compare several versions of the proposed method and also against two mathematical models
MIP mathematical models • Anadaptedversion of thatproposedbyGuinet, A. (1993). Schedulingsequencedependentjobsonidenticalparallel machines tominimizecompletion time criteria. International Journal of ProductionResearch, 31(7), 1579-1594. • Anadaptedversion of thatproposedbyBalakrishnan, N., Kanet, J.J., and Sridharan, V. (1999). Early/tardyschedulingwithsequencedependentsetup times onuniformparallel machines. Computers & OperationsResearch, 26(2), 127-141.
MIP mathematical models • More details about the adapted versions in Vallada, E. and Ruiz, R. (2012). Scheduling unrelated parallel machines with sequence dependent setup times and weighted earliness-tardiness minimisation. In Just in Time Systems. Springer. Edited by Roger Z. Ríos-Mercado and Yasmín A. Ríos-Solís.
Genetic algorithm • Representation of solutions: foreach machine anarray of jobsthatindicatestheprocessingorder • Initialisation of thepopulation: • MultipleInsertionheuristic + Random • Multiple insertion (MI) heuristic (Kurz and Askin, 2001): inserts each job into every position of every machine Machine 1 Machine 2
Genetic algorithm • Initial Population • While Not TerminationCriteria do • Selection • Crossover • Mutation • Offspring Evaluation • Offspring Local Search • Offspring Acceptance • End While
Genetic algorithm • Initial Population • While Not TerminationCriteria do • Selection • Crossover • Mutation • Offspring Evaluation • Offspring Local Search • Offspring Acceptance • End While • Idle Time Insertion (postprocess)
Genetic algorithm • Initial Population • Idle Time Insertion • While Not TerminationCriteria do • Selection • Crossover • Mutation • Offspring Evaluation • Idle Time Insertion • Offspring Local Search • Idle Time Insertion • Offspring Acceptance • End While
Genetic algorithm • Selection Operator: n-tournament • A given percentage of the population is randomly selected (pressure) • Crossover Operator: • For each machine one position p is randomly selected from the father • Offspring 1 from 1 to p • Offspring 2 from p + 1 to the end • Missing jobs from the mother are inserted at the end of the partial sequence • Mutation Operator: • A machine is randomly selected • A job is randomly selected, removed and re-inserted in a random position in the same machine
Genetic algorithm • Local Search • Inter-machine insertionneighbourhood (IMI) • Forallthe machines, allthejobs are inserted in every position • A jobfrom a given machine iisextracted and insertedintoall positions of allother machines, excepti • Thejobisfinally placed in thebest position (minimumweighted total earliness-tardinessvalue)
Genetic algorithm Acceptance of movements in the neighbourhood • Inter-machine: • TWET of both affected machines is reduced:movement accepted • TWET of one machine is reduced and TWET of the other machine is increased: • Movement accepted if TWET reduced in one machine > TWET increased in the other machine and the TWET value (for all machines) is not increased • Offspring Acceptance • The offspring are accepted into the population if they are better than the worst individuals and they do not already exist in the population
Genetic algorithm Idle time insertion • procedureIdle Time Insertion • Foreach machine m do • whilenot false do • Findthefirstearlyjob in m • Compute the sum of weights of theearlysubsequentjobs (TotalWE) • Compute the sum of weights of thetardysubsequentjobs (TotalWT) • Compute theminimumearlinessamongalltheearlyjobs (MinEarly) • IfTotalWE> TotalWTthen • InsertMinEarlyIdle times justbeforethefirstearlyjob • Compute the new Total WeightedEarliness-Tardinessvalue • EndIf • Else • Break • EndWhile • EndFor • End
Computational Experiments • Genetic algorithm without Idle Time Insertion: GANoIdle • Genetic algorithm with Idle Time Insertion (postprocess): GaIdlePost • Genetic algorithm with Idle Time Insertion inside the algorithm (standard parameters): GAIdleSt • Genetic algorithm with Idle Time Insertion inside the algorithm (calibrated parameters): GAIdleCal • Mathematical models: Model 1 (Guinet, 1993) and Model 2 (Balakrishnan, 1999)
Computational experiments • Allthemethodswerecoded in Delphi 2009 and runona cluster of 30 blade servers, two Intel XEON processors, 2.5 GHz and 16 GB of RAM • Evaluationusing a proposedbenchmark of instances • Processing times: uniformlydistributedbetween 1 and 99 • Setup times: uniformlydistributedbetween1 to49 and 1 to 124 • Weightsforearliness-tardiness: uniformdistribution in therange 1 to 9 • Small instances • n={6;8;10;12}, m={2;3;4;5} • Large instances • n={50;100;150;200;250}, m={10;15;20;25;30}
Computational experiments • Due dates of thejobs: uniformdistribution • [P(1-T-R/2),P(1-T+R/2)] • Combinationsof T, R, n and m and setuptimes • T={0.4;0.6}, R={0.2;0.6} • n={6;8;10;12}, m={2;3;4;5} (small instances) • n={50;100;150;200;250}, m={10;15;20;25;30} (large instances) • Setup Times = {1-49; 1-124} • Five replicates for each combination: 640 small instances, 1000 large instances • Calibration instances: large instances, one replicate for each combination. In total, 200 calibration instances
Computational experiments • Instances available in http://soa.iti.es • Stopping criterion for all the metaheuristics: maximum elapsed CPU time following the expression: n ∙ (m/2) ∙ t ms, where t = 60; 120 • Performance measure:
Computational experiments • Testing the MIP mathematical models: • IBM ILOG CPLEX (version 11.0) • Single thread vs two threads • Stopping time criteria: 3600 and 7200 seconds • Small instances (640 instances): each one is run four times (serial 3600 sec, serial 7200 sec, parallel 3600 sec, parallel 7200 sec) • Optimal solution found in all 640 instances • Model 2 better than Model 1: all instances are solved optimally and CPU times needed are much shorter • CPLEX with two cores improves results significantly
Computational experiments • Standard parameters (GAIdleSt): • Pls 0.5 • Pc 0.5 • Pm 0.5 • Pressure 10 • Psize 80 • Calibration(GAIdleCal): • Pls0.5; 1 • Pc 0.5; 1 • Pm 0.5; 1 • Pressure 10 • Psize 60; 80
Computational experiments Relative Percentage Deviation (RPD): Small instances Relative Percentage Deviation (RPD): Large instances
Conclusions • A geneticalgorithmfortheparallel machine schedulingproblemwiththeobjective of minimisingthe total weightedearliness-tardinessisproposed • A procedureforinserting idle times • Fourversions of thealgorithm • Twoadaptedmathematicalmodels are tested • Evaluation of theversions, calibrationexperiment • Thecalibratedversion of thealgorithmincludingthe idle times insertioninside, obtainsthebest performance
A genetic algorithm for the parallel machines scheduling problem with sequence dependent setup times and weighted earliness-tardiness minimisation Eva Vallada, Rubén Ruiz INSTITUTO TECNOLÓGICO DE INFORMÁTICA GRUPO DE SISTEMAS DE OPTIMIZACIÓN APLICADA UNIVERSITAT POLITÈCNICA DE VALÈNCIA HAROSA 2012, Barcelona June 13-15