1 / 27

A multiobjective parallel machine problem considering eligibility and release and delivery times

A multiobjective parallel machine problem considering eligibility and release and delivery times. Manuel Mateo manel.mateo@upc.edu Departament Organització d’Empreses, Universitat Politècnica Catalunya. Barcelona (Spain). HAROSA, Barcelona (14/06/12). Summary. Introduction: the real case

hiroko
Download Presentation

A multiobjective parallel machine problem considering eligibility and release and delivery times

An Image/Link below is provided (as is) to download presentation 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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A multiobjective parallel machine problem considering eligibility and release and delivery times Manuel Mateo manel.mateo@upc.edu Departament Organització d’Empreses, Universitat Politècnica Catalunya. Barcelona (Spain) HAROSA, Barcelona (14/06/12)

  2. Summary • Introduction: the real case • Scheduling of jobs The multiobjective problem • Problem Pm/rj,qj,Mj/(Cmax,W) • State of the art • A biobjective problem, the Pareto front • Algorithm • Computational experiments • Computational experience • Conclusions

  3. Introduction: the real case (I) • The manufacturing of products is usually divided in operations or phases of transformation. • Usually one of them becomes the bottleneck of the process. • In the presented problem, we suppose this bottleneck is an intermediate phase. • Therefore, some operations are done before (the total time to work them out leads to a release time) and some others are done after (their total time is called delivery or queue time). release times bottleneck queue times

  4. Introduction: the real case (II) • Manufacturing plants usually have several machines or assembly lines. • There are several products to be manufactured. • A usual situation is a product is assigned to a machine (line) and will be only manufactured in that machine. Line 1 INITIAL SITUATION Line 2 Line 3 2 l 1 l 50cl 33cl Line 4

  5. Introduction: the real case (III) • Nevertheless, there could be more product-machine assignments according to capabilities of the machines. High-level machines 1 l 50cl 33cl Line 1 2 l 1 l 50cl 33cl Medium-level machines Line 2 CONSIDERED SITUATION 2 l Med.- level High- level Low- level 1 l 50cl 33cl Line 3 2 l Low-level machines 1 l 50cl 33cl Line 4 2 l

  6. Introduction: the real case (IV) • The managers prefer the use of the most modern resources (high-level machines). But if all the jobs were done in these machines, the makespan would be very high. The rest of machines would be completely free. • Some works from machines of the high-level are moved to the other machines. • Machinery for reduced products is considered in the low-level. • The medium-level machines can work the reduced products and also others. They are preferred to the low-level machines.  • We define a penalty or weight for job j: • wj=1 if a job (of medium-level or low-level) is scheduled in a medium-level machine; • wj=2 if a job (of low-level) is scheduled in a low-level machine.

  7. Scheduling of jobs (I) A set of n jobs (j=1,…,n) to be scheduled on m parallel machines (i=1,…,m) Given a job j, it is known: • the processing time pjfor the operation, • the release time rj(also called head times), • the delivery or queue time qj(also tail times), • the associated level lj. The machines are distributed among p groups or levels (k=1,…,p). • Particularly, we propose an algorithm for p=3 (high-level, medium-level and low-level). • Any machine i and job j is classified into one of the levels. • A machine associated to a level k can produce jobs of its own level and from a lower level. • The processing time of a job is the same for any machine.

  8. 0 t Scheduling of jobs (II) For a job of any level: high (h), medium (m) or low (l) • The release times (rj) and the delivery times (qj) are considered due to the initial availability of the job and the necessary subsequent tasks. • After the delivery time, the job is considered finished (completion time, cj). • Setup times and pre-emption are not considered. cj

  9. Problem Pm | rj,qj,Mj | (Cmax ,Wtot) • Objective: find a feasible schedule  (where j includes the assigned machine and the start time of job j) of minimum completion time (cmax) and minimum total penalization (W). • Given tjthe starting time for the job j: ; the makespan is determined: • Given xjthe machine level where the job j is assigned, the weight for the job j is: wj=xj-1 and the total weight is determined: • A schedule is feasible if the next conditions are accomplished: • Each machine processes at most one job at a time. • A job is only processed in a single machine. • Pre-emption is not allowed. • Starting time is not lower than the release time: • A job of level k is processed in a machine of the same level or a higher level.

  10. HL HL ML ML LL LL t 0 t 0 Problem Pm | rj,qj,Mj | (Cmax ,Wtot) Machines Jobs High-level High-level Medium-level Medium-level Low-level Low-level Wtot=0 Wtot=8

  11. Example 1 Wtot (14;6) Max Wtot (36;0) Min Wtot Cmax Min Cmax Max Cmax

  12. Basis for the main algorithm • Gharbi, A; Haouari, M. (2002). Minimizing makespan on parallel machines subject to release dates and delivery times. Journal of Scheduling; vol. 5; pp. 329-355. • It considers release and delivery times. • Problem without considering eligibility • It is the base for solving the problem (for mk>1) Methodology • Classification of the jobs into 3 groups. • Scheduling of the 3 groups of jobs: • Scheduling of jobs with medium qj and rj values ( ) • Scheduling of jobs with low qj values ( JQ ) • Scheduling of jobs with low rjvalues ( JR ) Condition 1: Condition 2:

  13. Generating a sub-solution per level: • Heuristics • Gharbi & Haouari (2002) Basis for the main algorithm (II) Scheduling at each level Selection of a job to be moved between levels • Which one to select? According to processing, release, queue times or an addition of these? Sequence of changes between levels • Initial tests: High-medium, high-low, medium-low

  14. The best of both solutions Scheduling Algorithm (I) Generating a sub-solution per level Heuristic 1 Heuristic 2 is a job of the set J such that or corresponds to is a job of the set J such that or corresponds to 1 1 release time  first position; else, last position release time  last position; else, first position 2 2 3 3 If , end; else, Step 1 If , end; else, Step 1

  15. ml t 0 10 20 25 30 5 15 Scheduling Algorithm (II) Example 1: ml=1 j10 j9 j7 j11 j8

  16. Step 0.1: Initialization Step 0.2: Condition 1. If there is no job; Step 0.3. If not: Step 2.1: Assignment of jobs such that j Update u0 Step 2.3: Assignment of jobs such that j Update u0 Step 2.2: Invert scheduling Step 2.4: Invert scheduling Step 0.3: Condition 2. If there is no job, Step 0.4. If not: Step 1: Assignment of jobs such that j Scheduling Algorithm (III) Generating a sub-solution per level Step 0.4: If there are no changes in Step 0.3, STOP. If not, Step 0.2. Process Gharbi & Haouari (2002) Pre-process

  17. ml1 j7 ml2 j9 j11 j8 0 10 20 5 15 Scheduling Algorithm (IV) Example 2 (algorithm of Gharbi & Haouari): ml=2 Step 1 Step 1 Step 2 10

  18. How to face the multiobjective problem? • At the beginning, all the jobs are scheduled in the high-level machine(s), as they are the preferred machines to manufacture any product. • This can induce a relative high Cmax. • Then, in order to improve this value, some of the jobs are moved from a level to another lower level. In this way, the orders can be finished in a lower Cmax. • The changes between adjacent levels will be denoted by a weight =1, i.e. between high and medium level and between medium and low level, and a weight = 2, i.e. between high and low level. • Therefore, the algorithm gives different solutions, characterized by two objectives: • Min {Cmax} • Min {W}

  19. Main Algorithm • Basically the algorithm is divided in the following phases: • PHASE I. All the jobs are scheduled in the high-level machines. If mh=1, apply Heuristic 1 for all the jobs. Otherwise, apply Heuristic 2 for all the jobs. Compute Cmaxº This implies the first solution s1=(Cmax0; Wtot0=0) • PHASE II. While Cmax can be reduced: a) select a job to be changed to a different level (only a subset of jobs are available); b) the origin level of the movement is predetermined; the destination level should be selected. Machines in both levels will be re-scheduled. This leads to a new solution sz=(Cmaxz; Wtotz)

  20. Main Algorithm (II) PHASE II: Movement of jobs between different levels • II.1. Job movement from high to medium level Compute the new solutions (Cmax, CmaxH, CmaxM) • II.2. Job movement from high to low level Compute the new solutions (Cmax, CmaxH, CmaxL)  • II.3. Job movement from medium to low level Compute the new solutions (Cmax, CmaxM, CmaxL)

  21. Main Algorithm (III) II. Job movement from a level to a lower level Given the previous solution s (Cmaxs; Wtots) and Cmaxº= Cmaxs Briefly, the substeps in this phase are:  • Select the origin level of the movement is given (here is prefixed). • Select a job to be changed to a different level (only a subset of jobs is available): Search for job candidates: JC Select a job between the candidates according to a prefixed rule (j*JC) • Select the destination level of the movement (here is prefixed). • Reschedule jobs in both levels. • Compute both objectives of the new solution (Cmax; Wtot). • IF Cmax < Cmaxº  save the new solution (Cmaxs+1=Cmax ; Wtots+1=Wtot) Cmaxº=Cmax

  22. Computational experience • To check the efficiency of the algorithm, a set of instances similar to those used by Gharbi & Haouari (2002) are created: • # jobs (n = 20) • 100 instances • Jobs of high level, 20-30% of the total number; medium level, 20-50% of the total; low level, the rest (20-60% of the total) • # machines (m = 4, 5, 6) • Processing time: discrete uniform distribution . • Release and delivery times: discrete distribution . K=3,5

  23. Computational experience. Rules • Given the subset of candidates (considering the origin and destination levels), different rules are used to select the job to be reassigned: Consider the processing time and the other times (release and queue) j = argminj (rj+pj, qj+pj) min(rp,qp) j = argmaxj (rj+pj, qj+pj) max(rp,qp) Consider the other times (release and queue) j = argminj (rj, qj) min(r,q) j = argmaxj (rj, qj) max(r,q) Consider only the processing time j = argminj (pj) min(p) j = argmaxj (pj) max(p)

  24. Comparison of results v1 (rule selection) • Given the solutions in the Pareto front with two different rules A and B for the job selection: • Proportion of non-dominated solutions (overall 13 distributions)

  25. Results v1 (analysis by machines) • Proportion of non-dominated solutions for max(p) rule depending on the number of machines per level

  26. Conclusions • In the first situation all the jobs are assigned to machines of the high level; this solution shows a great cmax with wtot=0. • The rest of solutions in the Pareto front have a decreasing cmax while wtot increases. • Different rules are tested to select a job to be moved from a level to another. • The best results are achieved with the max(pj), although the rule max(rj+pj,qj+pj) has also a good performance. • About the current and future research: • Select the origin level of job movement (level in which there is the machine with the highest Cmax). • Use of metaheuristics.

  27. A multiobjective parallel machine problem considering eligibility and release and delivery times Thank you for your attention!

More Related