12.07.2015 Views

A Case Study on Earliness/Tardiness Scheduling by Constraint ...

A Case Study on Earliness/Tardiness Scheduling by Constraint ...

A Case Study on Earliness/Tardiness Scheduling by Constraint ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Fig. 1. The lacquer recipes.of the optimizati<strong>on</strong>. Next, some resources have more exact model of behaviourc<strong>on</strong>cerning changeover times and costs. Operating hours of resources have anexact model with breaks. Tasks cannot be scheduled during breaks, and sincesome tasks have processing time l<strong>on</strong>ger than the available time between breaks,these task are breakable, i.e. allowed to be interrupted <strong>by</strong> breaks.The third case study instance is the extended case study with performancefactors (EOP), where the performance factors model the unavailability of resourcesdue to breakdown or maintenance [2]. The performance factor is assignedto each resource, and is used to extend the processing time of a task requiringthe resource.ResourcesThe resources are grouped according to their types. Some groups c<strong>on</strong>tain morethan <strong>on</strong>e machine, i.e. there are more machines of that type. Inside the group,the machines are parallel identical resources in terms of the scheduling theory [7],or in terms of c<strong>on</strong>straint-based scheduling [8], the groups are discrete resourceswith capacity greater than <strong>on</strong>e.Groups with parallel identical resources are:


– Mixing vessel metal G 1 = {R 11 , R 12 , R 13 } is used in producti<strong>on</strong> of metallicand br<strong>on</strong>ze lacquers.– Mixing vessel uni G 2 = {R 21 , R 22 } is used for producti<strong>on</strong> of uni lacquers.– Dose spinner G 3 = {R 31 , R 32 } is used in all recipes.– Filling stati<strong>on</strong> G 4 = {R 41 , R 42 } is used in all recipes. These are resourceswith changeover time and cost – cleaning is needed when two successive jobsare of different lacquer type.Dedicated resources are:– Disperser G 5 = {R 5 } is used in uni lacquer recipe.– Dispersing line G 6 = {R 6 } is used in uni lacquer recipe.– Br<strong>on</strong>ze mixer G 7 = {R 7 } is used in br<strong>on</strong>ze lacquer recipe.– Br<strong>on</strong>ze dose spinner G 8 = {R 8 } is used in br<strong>on</strong>ze lacquer recipe.Finally, there is unrestricted resource laboratory G 9 .3 Modelling the ProblemWith naive applicati<strong>on</strong> of c<strong>on</strong>straint programming, <strong>on</strong>ly soluti<strong>on</strong>s for smaller instancesof the problem were found. So the state space of the problem was reduced,and a search heuristic was applied, as it is described in following paragraphs.C<strong>on</strong>straints in the modelHeuristic c<strong>on</strong>straint called n<strong>on</strong>-overtaking [2] is used in order to reduce the searchspace of the problem. It ensures that the job started earlier will be finishedearlier. We used even more c<strong>on</strong>straining versi<strong>on</strong> of this heuristic. Tasks of a jobwith earlier due date are c<strong>on</strong>strained to start earlier. Jobs of the same lacquerrecipe of the type r are indexed with i ∈ {1, . . . , n r } according to the increasingdue date. T r is the set of indices of tasks in recipe of the type r, and S i,krepresents starting time of the task k of the job i. Then the c<strong>on</strong>straints aredeclared as follows:S i,k ≤ S i+1,k , ∀i ∈ {1, . . . , n r − 1} and ∀k ∈ T r .Applying this heuristic <strong>on</strong> the model with c<strong>on</strong>stant processing times of tasks willremove symmetry from the search space. However, this heuristic was used alsoin the extended case study with task processing times dependent <strong>on</strong> the quantityof lacquer, leading to loss of some soluti<strong>on</strong>s.C<strong>on</strong>cerning the filtering algorithms <strong>on</strong> resources, the Edge-Finding algorithm[8] was used <strong>on</strong> unary and also <strong>on</strong> discrete resources. Due to the changeovertimes, the discrete resource G 4 was modelled as a set of alternative unary resources.


Search ProcedureThe search procedures that are available in OPL studio are written to minimizeC max . For example, the SetTimes search heuristic [9, 10] builds the schedulefrom earliest starting dates, and also default labeling procedure starts from thebeginning of the domains. The objective of our problem is to schedule tasks aslate as possible, but still not to exceed due date. The idea of our search procedureis to try to build the schedule backwards. At first, we try to place tasks as nearas possible to the due dates.One alternative of implementati<strong>on</strong> of this approach is to create a new searchprocedure. The other <strong>on</strong>e is that the time axis can be reversed and standardsearch procedures used, i.e. to c<strong>on</strong>vert the problem to the problem with objectiveof minimizing the total waiting time subject to release times and due dates.Because SetTimes sometimes missed all soluti<strong>on</strong>s , we used a search heuristic,which is a simple versi<strong>on</strong> of time-directed labeling procedure [11]:1. sort final tasks of jobs <strong>by</strong> latest possible completi<strong>on</strong> time in n<strong>on</strong>-increasingorder2. for each task state two alternatives in the search tree: assign the latest possiblecompleti<strong>on</strong> time as the end time of the task, or decrease the latestpossible completi<strong>on</strong> time of the task.Finally, the search heuristic was modified to be used with reversed time axismodel, which was a chosen alternative.The search heuristic defines the shape of the search tree. It was exploredusing two search strategies – Depth First Search (DFS) and Limited DiscrepancySearch (LDS, denoted as Slice-Based Search in OPL).4 Experimental ResultsThe three case study instances introduced in Sect. 2 were the subjects of the experiments.The problem instance stated in [2] can be simplified without influence<strong>on</strong> the result. Task requiring unrestricted resource laboratory can be replaced<strong>by</strong> a delay c<strong>on</strong>straint, and some tasks can be put together. Finally, we end upwith 139 tasks (of which 110 are breakable) in 29 jobs.Time for the whole schedule is 9 weeks in 1 minute resoluti<strong>on</strong> (90720 minutes),but the time available for each job is about 2 weeks from release date to duedate, that makes the search space smaller. Moreover, due dates of the jobs arealmost evenly distributed from 3 rd to 9 th week.The results are presented in Tab. 1, where column headers DFS-NO and LDS-NO determine the used search strategy with the n<strong>on</strong>-overtaking c<strong>on</strong>straint in themodel, while LDS column corresp<strong>on</strong>ds to the model without the n<strong>on</strong>-overtakingc<strong>on</strong>straint. The “timed automata” column corresp<strong>on</strong>ds to results from [2].The c<strong>on</strong>straint programming experiments were run <strong>on</strong> Intel P4 3GHz CPUwith 1GB of RAM, using OPL Studio 3.6 under Windows XP, timed automataexperiments were run <strong>on</strong> Intel P4 Xe<strong>on</strong> 2.6GHz [2].


Quantitative Evaluati<strong>on</strong> of Systems (QEST), published <strong>by</strong> IEEE Computer SocietyPress, Los Alamitos, California (2004)7. Blazewicz, J., Ecker, K.H., Pesch, E., Schmidt, G., Werglarz, J.: <strong>Scheduling</strong> Computerand Manufacturing Processes. Sec<strong>on</strong>d edn. Springer-Verlag, Berlin (2001)8. Baptiste, P., Le Pape, C., Nuijten, W.: C<strong>on</strong>straint-Based scheduling: ApplyingC<strong>on</strong>straint Programming to <strong>Scheduling</strong> Problems. Kluwer Academic Publishers(2001)9. Le Pape, C., Cour<strong>on</strong>ne, P., Vergamini, D., Gosselin, V.: Time-versus-CapacityCompromises in Project <strong>Scheduling</strong>. In: Proceedings of the Thirteenth Workshopof the U.K. Planning Special Interest Group. (1994)10. ILOG S.A.: ILOG OPL Studio 3.5 Language Manual. (2001)11. van Hentenryck, P., Perr<strong>on</strong>, L., Puget, J.F.: Search and strategies in OPL. ACMTransacti<strong>on</strong>s <strong>on</strong> Computati<strong>on</strong>al Logic 1(2) (2000) 285–320

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!