27
A multiobjective parallel machine problem considering eligibility and release and delivery times Manuel Mateo [email protected] Departament Organització d’Empreses, Universitat Politècnica Catalunya. Barcelona (Spain) HAROSA, Barcelona (14/06/12)

A multiobjective parallel machine problem considering eligibility and release and delivery times Manuel Mateo [email protected] Departament Organització

Embed Size (px)

Citation preview

Page 1: A multiobjective parallel machine problem considering eligibility and release and delivery times Manuel Mateo manel.mateo@upc.edu Departament Organització

A multiobjective parallel machine problem considering eligibility and release and

delivery times

Manuel Mateo [email protected]

Departament Organització d’Empreses, Universitat Politècnica Catalunya. Barcelona (Spain)

HAROSA, Barcelona (14/06/12)

Page 2: A multiobjective parallel machine problem considering eligibility and release and delivery times Manuel Mateo manel.mateo@upc.edu Departament Organització

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

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

Page 3: A multiobjective parallel machine problem considering eligibility and release and delivery times Manuel Mateo manel.mateo@upc.edu Departament Organització

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

Introduction: the real case (I)

3

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

j j1 j2 j3 j4 j5

p1,j 2 4 0 3 5

p2,j 8 5 4 4 7

p3,j 3 2 1 0 3

bottleneck

release times

queue times

Page 4: A multiobjective parallel machine problem considering eligibility and release and delivery times Manuel Mateo manel.mateo@upc.edu Departament Organització

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

Line 4

Line 3

Line 2

Line 1

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.

4

2 l

1 l

50cl

INITIAL SITUATION

33cl

Page 5: A multiobjective parallel machine problem considering eligibility and release and delivery times Manuel Mateo manel.mateo@upc.edu Departament Organització

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

w-

leve

l

Med

.-le

vel

Hig

h-le

vel

Low-level machines

Medium-level machines

High-level machines

Introduction: the real case (III)

Nevertheless, there could be more product-machine assignments according to capabilities of the machines.

5

Line 1

Line 2

Line 4 1 l 33cl

50cl

Line 3

CONSIDERED SITUATION

1 l 33cl

50cl

1 l 33cl

50cl

1 l 33cl

50cl

2 l

2 l

2 l

2 l

Page 6: A multiobjective parallel machine problem considering eligibility and release and delivery times Manuel Mateo manel.mateo@upc.edu Departament Organització

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

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.

Introduction: the real case (IV)

Page 7: A multiobjective parallel machine problem considering eligibility and release and delivery times Manuel Mateo manel.mateo@upc.edu Departament Organització

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

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

7

Page 8: A multiobjective parallel machine problem considering eligibility and release and delivery times Manuel Mateo manel.mateo@upc.edu Departament Organització

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

For a job of any level: high (h), medium (m) or low (l)

jp jq

jr0 t

j jt r

Scheduling of jobs (II)

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

Page 9: A multiobjective parallel machine problem considering eligibility and release and delivery times Manuel Mateo manel.mateo@upc.edu Departament Organització

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

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 tj the starting time for the job j: ;

the makespan is determined: Given xj the 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.9

j jt r

max j jc MAX cj j j jc t p q

1

n

tot jj

W w

Page 10: A multiobjective parallel machine problem considering eligibility and release and delivery times Manuel Mateo manel.mateo@upc.edu Departament Organització

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

HL

ML

LL

t

Medium-level

Jobs Machines

High-level

Medium-level

Low-level

maxC

High-level

Low-level

0

HL

ML

LLt

maxC

Wtot=0

Wtot=8

Problem Pm | rj,qj,Mj | (Cmax ,Wtot)

Page 11: A multiobjective parallel machine problem considering eligibility and release and delivery times Manuel Mateo manel.mateo@upc.edu Departament Organització

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

Example 1

Job j1 j2 j3 j4 j5 j6 j7 j8 j9

Level 1 1 1 2 2 2 3 3 3

rj 2 8 11 1 5 5 0 6 7

pj 3 2 3 3 2 9 6 2 6

qj 7 3 0 5 3 0 1 2 1

Cmax

Wtot

(36;0)

Max Wtot

Min Cmax

Min Wtot

Max Cmax

(14;6)

Page 12: A multiobjective parallel machine problem considering eligibility and release and delivery times Manuel Mateo manel.mateo@upc.edu Departament Organització

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

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 rj values ( JR )

Basis for the main algorithm

J

, 1 2, ,...,r m mJ j j j0 0 ,

min ( )r mj j j J j jr p r p

, 1 2, ,...,q m mJ j j j0 0 ,

min ( )r mj j j J j jq p q p

0 0 1mj j jr p r

0 0 1mj j jq p q

Condition 1:

Condition 2:

Page 13: A multiobjective parallel machine problem considering eligibility and release and delivery times Manuel Mateo manel.mateo@upc.edu Departament Organització

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

Basis for the main algorithm (II)

Scheduling at each level

Selection of a job to be moved between levels

Sequence of changes between levels

Which one to select? According to processing, release, queue times or an addition of these?

Initial tests: High-medium, high-low, medium-low

Generating a sub-solution per level:

- Heuristics

- Gharbi & Haouari (2002)

1km

2km RJ

QJ

J

J

, 1 2, ,...,r m mJ j j j0 0 ,

min ( )r mj j j J j jr p r p

, 1 2, ,...,q m mJ j j j0 0 ,

min ( )r mj j j J j jq p q p

Page 14: A multiobjective parallel machine problem considering eligibility and release and delivery times Manuel Mateo manel.mateo@upc.edu Departament Organització

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

Heuristic 2

is a job of the set J such that or corresponds to

0s J

0sr

0sq

release time last position; else, first position

0\J J s

If , end; else, Step 1 J

1

2

3

Scheduling Algorithm (I)

Generating a sub-solution per level 1km

Heuristic 1

is a job of the set J such that or corresponds to

0s J

0sr

0sq

min ; 1,...,j jr q j n

release time first position; else, last position

0\J J s

If , end; else, Step 1 J

1

2

3

max ; 1,...,j jr q j n

The best of both solutions

0s0s

Page 15: A multiobjective parallel machine problem considering eligibility and release and delivery times Manuel Mateo manel.mateo@upc.edu Departament Organització

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

Scheduling Algorithm (II)

Example 1: ml=1

Job j7 j8 j9 j10 j11

Level l l l l l

Release time rj 4 4 0 3 5

Processing time pj 8 6 5 4 2

Delivery time qj 6 2 1 7 3

7;8;9;10;11J

;;;;

7;8;10;11J

9;;;;

7;10;11J

9;;;;8

7;11J

9;10;;;8

7J

9;10;;11;8

J

9;10;7;11;8

max 27C 0 t

ml

5 10 15 20 25 30

j9 j8j10 j11j7

Page 16: A multiobjective parallel machine problem considering eligibility and release and delivery times Manuel Mateo manel.mateo@upc.edu Departament Organització

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

Generating a sub-solution per level

Scheduling Algorithm (III)

2km

Pro

cess

Gha

rbi &

Hao

uari

(200

2)

Pre

-pro

cess

Step 0.1:

Initialization

RJ QJ

J J

Step 0.2:

Condition 1.

If there is no job;

Step 0.3.

If not:

J m STOP

0\J J j

0R RJ J j

Step 0.3:

Condition 2.

If there is no job,

Step 0.4.

If not:

J m STOP

0\J J j 0Q QJ J j

Step 0.4:

If there are no changes in Step 0.3,

STOP.

If not,

Step 0.2.

Step 1:

Assignment of jobs such that j J

Step 2.1:

Assignment of jobs such that j

Update u0

QJ

Step 2.2:

Invert scheduling

1

Step 2.3:

Assignment of jobs such that j

Update u0

RJ

Step 2.4:

Invert scheduling

1

Page 17: A multiobjective parallel machine problem considering eligibility and release and delivery times Manuel Mateo manel.mateo@upc.edu Departament Organització

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

Scheduling Algorithm (IV)

Job j7 j8 j9 j10 j11

Level l l l l l

Release time rj 6 4 0 3 8

Processing time pj 8 5 2 1 4

Delivery time qj 6 2 1 4 7

RJ QJ

7;8;9;10;11J

Step 1 , 9,10r mJ , 0min ( ) min(2,4) 2 9

r mj J j jr p j 9R RJ J

7;8;10;11J

9RJ

, 10,8r mJ , 0min ( ) min(4,9) 4 10

r mj J j jr p j 10R RJ J

9;10RJ

7;8;11J

Step 2 , 7,8q mJ , 0min ( ) min(7,14) 7 8

q mj J j jq p j 8Q QJ J

8QJ 7;11J

Example 2 (algorithm of Gharbi & Haouari): ml=2

Step 1

0

ml2

5 10 15 20

ml1 j7

j11 j8j9

10

Page 18: A multiobjective parallel machine problem considering eligibility and release and delivery times Manuel Mateo manel.mateo@upc.edu Departament Organització

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

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}

18

Page 19: A multiobjective parallel machine problem considering eligibility and release and delivery times Manuel Mateo manel.mateo@upc.edu Departament Organització

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

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=(Cmax

0; 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=(Cmax

z; Wtotz)

19

Page 20: A multiobjective parallel machine problem considering eligibility and release and delivery times Manuel Mateo manel.mateo@upc.edu Departament Organització

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

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)

 

20

Page 21: A multiobjective parallel machine problem considering eligibility and release and delivery times Manuel Mateo manel.mateo@upc.edu Departament Organització

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

Main Algorithm (III)

II. Job movement from a level to a lower level

Given the previous solution s (Cmaxs; Wtot

s) 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 ; Wtot

s+1=Wtot)

Cmaxº=Cmax

21

Page 22: A multiobjective parallel machine problem considering eligibility and release and delivery times Manuel Mateo manel.mateo@upc.edu Departament Organització

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

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

1, ( / )K n m

1,10

4A 4B 4C 5A 5B 5C 6A 6B 6C 6D 6E 6F 6Gmh 2 1 1 1 2 2 3 3 2 2 1 1 2

mm 1 2 1 2 1 2 2 1 3 1 3 2 2

ml 1 1 2 2 2 1 1 2 1 3 2 3 2

Page 23: A multiobjective parallel machine problem considering eligibility and release and delivery times Manuel Mateo manel.mateo@upc.edu Departament Organització

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

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

Page 24: A multiobjective parallel machine problem considering eligibility and release and delivery times Manuel Mateo manel.mateo@upc.edu Departament Organització

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

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)

24

min(rp,qp)

max(rp,qp)

min(r,q)

max(r,q)

min(p)

max(p)

min(rp,qp) 0.26 0.42 0.37 0.90 0.22

max(rp,qp) 0.98 0.95 0.96 1.00 0.47

min(r,q) 0.96 0.34 0.61 0.97 0.25

max(r,q) 0.94 0.40 0.77 0.99 0.31

min(p) 0.54 0.28 0.40 0.34 0.24

max(p) 0.99 0.90 0.99 0.96 1.00

#( , )

#

non dom solutions rule Aby solutions rule Bc A B

solutions rule A

Page 25: A multiobjective parallel machine problem considering eligibility and release and delivery times Manuel Mateo manel.mateo@upc.edu Departament Organització

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

Results v1 (analysis by machines)

Proportion of non-dominated solutions for max(p) rule depending on the number of machines per level

25

min(rp,qp)

max(rp,qp)

min(r,q)

max(r,q)

min(p)

ALL

mh=1 1.00 0.97 1.00 0.99 1.00 0.99

mm=1 0.97 0.87 0.98 0.94 1.00 0.95ml=1 1.00 0.87 0.98 0.94 1.00 0.96

mh>1 0.98 0.85 0.98 0.93 1.00 0.95

mm>1 1.00 0.91 0.99 0.97 1.00 0.97

ml>1 0.98 0.91 0.99 0.97 1.00 0.97

Page 26: A multiobjective parallel machine problem considering eligibility and release and delivery times Manuel Mateo manel.mateo@upc.edu Departament Organització

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

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.

Page 27: A multiobjective parallel machine problem considering eligibility and release and delivery times Manuel Mateo manel.mateo@upc.edu Departament Organització

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

Thank you for your attention!