22
Makespan with Sequence Dependent Setup Time (MSDST) 1|s jk |C max

Makespan with Sequence Dependent Setup Time (MSDST)

  • Upload
    tamra

  • View
    49

  • Download
    0

Embed Size (px)

DESCRIPTION

Makespan with Sequence Dependent Setup Time (MSDST). 1 | s jk | C max. Introduction to MSDST. 1 machine N jobs All the jobs are released at time 0 Objective: minimize C max. Introduction to MSDST So what makes MSDST different?. - PowerPoint PPT Presentation

Citation preview

Page 1: Makespan  with  Sequence Dependent Setup Time (MSDST)

Makespan with Sequence Dependent Setup Time

(MSDST)1|sjk|Cmax

Page 2: Makespan  with  Sequence Dependent Setup Time (MSDST)

Introduction to MSDST

• 1 machine• N jobs

– All the jobs are released at time 0

• Objective: minimize Cmax

Page 3: Makespan  with  Sequence Dependent Setup Time (MSDST)

Introduction to MSDSTSo what makes MSDST different?

• Each job has a required starting state and a completion state:– aj : required state of the machine in order to start job j

– bj : state of the machine after the completion of job j

Page 4: Makespan  with  Sequence Dependent Setup Time (MSDST)

Introduction to MSDSTSo what makes MSDST different?

• Setup Cost! sjk = |bj – ak|

• At time zero, the machine is at state b0

• After completing all the jobs, the machine must return to state a0

Page 5: Makespan  with  Sequence Dependent Setup Time (MSDST)

Applications of MSDST

• Metal processing, commercial printing, plastics production, chemical production, pharmaceutical and automobile manufacturing *Baker, 1974 K.R. Baker, Introduction to sequence and scheduling, Wiley, NY (1974).

• Setup Operations Could Strongly Depend on the Immediately preceding process– cleaning up– changing tools

– machine temperature

Page 6: Makespan  with  Sequence Dependent Setup Time (MSDST)

Introduction to MSDSTSo what makes MSDST different?

• If there 5 jobs and the optimal order is

j3-j1-j2-j5-j4 Then the Cmax :

s03 + p3 + s31 + p1 + s12 + p2 + s25 + p5 + s54 + p4 + s40

Page 7: Makespan  with  Sequence Dependent Setup Time (MSDST)

How to solve MSDST?

Equivalent to Traveling Salesman Problem (TSP)N jobs => N+1 cities

1)Using Mix Integer Programming: TSP-Relaxation and Min-cut problem

2)Algorithm 4.4.5 given in the Textbook

Page 8: Makespan  with  Sequence Dependent Setup Time (MSDST)

TSP Relaxationxij – 0 or 1, integer variable for all i<=n and

j<=n (decision variable to decide whether to use the route (i, j))

costij = abs(bi-aj), for all i<=n-1 and j<=n

Minimize SUMi{SUMj{costij*xij}}

s.t. sumi x[i,j] = 1, for all j<=n

sumj x[i,j] = 1, for all i<=n

Page 9: Makespan  with  Sequence Dependent Setup Time (MSDST)

TSP RelaxationTSP Relaxation alone does not work! The

Integer Program will cheat by finding subtours.

However, we can force the IP to eliminate such subtours by adding these two constraints to the IP formulation:

• sumij{x[i,j]} >=1 , where i is in subtour and j is not

• sumij{x[j,i]} >=1 , where i is in subtour and j is not

Page 10: Makespan  with  Sequence Dependent Setup Time (MSDST)

TSP Relaxation

How do we find out subtours?

We can solve another integer program “min-cut problem” to find the subtours

Page 11: Makespan  with  Sequence Dependent Setup Time (MSDST)

TSP RelaxationMin-Cut Problem

0 <= fij <= 1, for all i<=n and j<=n

yi – 0 or 1 integer variable for all i<=n

xij – 0 or 1 variable for all i<=n and j<=n (answer to the TSP Relaxation problem)

minimize SUMi{SUMj{xij*fij}}

s.t. fij >= yi - yj

fij >= yj - yi

1 <= sumi{yi} <= n-1

Page 12: Makespan  with  Sequence Dependent Setup Time (MSDST)

TSP RelaxationMethod Strategy

1) Solve TSP Relaxation Integer Program2) Using the output data, solve a min-cut

problem to see if subtour exists. If no subtour found, exit.

3) If subtour is found - add subtour constraints to the original TSP Relaxation Integer Program and return to step 1).

Page 13: Makespan  with  Sequence Dependent Setup Time (MSDST)

Algorithm 4.4.5

Define: Φ(j) = k as a salesman traversing directly from city j to city k

Define: Φ’ = ΦI(j,k) as Φ’(k) = Φ(j),Φ’(j) = Φ(k),

Φ’(l) = Φ(l) for all l not equal to j or k

Page 14: Makespan  with  Sequence Dependent Setup Time (MSDST)

Algorithm 4.4.5

Lemma 4.4.1If the swap I(j,k) causes two arrows that did not

cross ealier to cross, then the cost of the tour increases and vice versa. The change in cost is:

cΦI(j,k) = length of vertical overlap of intervals [bj,bk] and [aΦ(j), aΦ(k)]

Page 15: Makespan  with  Sequence Dependent Setup Time (MSDST)

Algorithm 4.4.5

*Change in Cost Due to Swap I(j,k)

Page 16: Makespan  with  Sequence Dependent Setup Time (MSDST)

Algorithm 4.4.5

Lemma 4.4.2An optimal permutation mapping Φ’ is obtained if bj <= bk and aΦ(j) <= aΦ(k)

– From the picture from the slide, we know that performing a swap which uncrosses the lines leads to a solution as good or beter than the previous.

Page 17: Makespan  with  Sequence Dependent Setup Time (MSDST)

Algorithm 4.4.5

Does Lemma 4.4.1 and 4.4.2 gaurantee optimal tour?

– It gives us the optimal permuatation mapping– Not necessarily feasible tour– Provide a lower bound

Page 18: Makespan  with  Sequence Dependent Setup Time (MSDST)

Algorithm 4.4.5

How to obtain optimal sequence from optimal permutation mapping?

1) Identify the subtours2) Select the cheapest arc (using lemma 4.4.1)

that connects two subtours3) Repeat above two steps until no more

subtour exists

Page 19: Makespan  with  Sequence Dependent Setup Time (MSDST)

Algorithm 4.4.5

*When performing swaps, the sequence of swaps can affect the final cost!

Example : up, up, down

We can prevent this by scheduling nodes with bj <= aΦ(j) in a decreasing order of bj

bj > aΦ(j) in an increasing order of bj

Page 20: Makespan  with  Sequence Dependent Setup Time (MSDST)

Algorithm 4.4.5Complete Algorithm

– Given a set of data, aj and bj

– Sort bj in increasing order, and move aj along with bj

– Rank the moved aj’s from the smallest to the largest, ranking the smallest 0, next smallest 1, and so on, and call this permutation mapping, Φ*(j)

– Now, sort aj’s in a similar fashion as bj’s

– Formulate a graph by connecting each node j with Φ*(j) node

– Formulate c Φ*(j) I(j, j+1), which is an interchange cost

Page 21: Makespan  with  Sequence Dependent Setup Time (MSDST)

Algorithm 4.4.5

• Continued-Connect the nodes with undirected arcs

-Divide newly inserted arcs into two groups-Sort the two groups, and run sequence interchanges according to the values in group 1 and group 2

-Obtain an optimal tour

Page 22: Makespan  with  Sequence Dependent Setup Time (MSDST)

Running Time TestAverage Running time Comparison

Number of Jobs

CPLEXTSP-Relaxation

JAVAAlgorithm 4.4.5

10 0secs 0secs

20 10secs 0 sec

100 5 minutues 0 sec

200 >10mintues 0 sec

500 Crash 2-5 secs

1000 Crash 30-40 secs

1500 Crash 4-5 minutes

2000 Crash >10mintues