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

## Presentation on theme: "Makespan with Sequence Dependent Setup Time (MSDST) 1|s jk |C max."— Presentation transcript:

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? Each job has a required starting state and a completion state: –a j : required state of the machine in order to start job j –b j : state of the machine after the completion of job j

Introduction to MSDST So what makes MSDST different? Setup Cost! s jk = |b j – a k | At time zero, the machine is at state b 0 After completing all the jobs, the machine must return to state a 0

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). **Baker, 1974 Setup Operations Could Strongly Depend on the Immediately preceding process –cleaning up –changing tools –machine temperature

Introduction to MSDST So what makes MSDST different? If there 5 jobs and the optimal order is j 3 -j 1 -j 2 -j 5 -j 4 Then the C max : s 03 + p 3 + s 31 + p 1 + s 12 + p 2 + s 25 + p 5 + s 54 + p 4 + s 40

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

TSP Relaxation x ij – 0 or 1, integer variable for all i<=n and j<=n (decision variable to decide whether to use the route (i, j)) cost ij = abs(b i -a j ), for all i<=n-1 and j<=n Minimize SUM i {SUM j {cost ij *x ij }} s.t. sum i x[i,j] = 1, for all j<=n sum j x[i,j] = 1, for all i<=n

TSP Relaxation TSP 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: sum ij {x[i,j]} >=1, where i is in subtour and j is not sum ij {x[j,i]} >=1, where i is in subtour and j is not

TSP Relaxation How do we find out subtours? We can solve another integer program min- cut problem to find the subtours

TSP Relaxation Min-Cut Problem 0 <= f ij <= 1, for all i<=n and j<=n y i – 0 or 1 integer variable for all i<=n x ij – 0 or 1 variable for all i<=n and j<=n (answer to the TSP Relaxation problem) minimize SUM i {SUM j {x ij *f ij }} s.t. f ij >= y i - y j f ij >= y j - y i 1 <= sum i {y i } <= n-1

TSP Relaxation Method Strategy 1) Solve TSP Relaxation Integer Program 2) 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).

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

Algorithm 4.4.5 Lemma 4.4.1 If 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 [b j,b k ] and [a Φ(j), a Φ(k) ]

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

Algorithm 4.4.5 Lemma 4.4.2 An optimal permutation mapping Φ is obtained if b j <= b k 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.

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

Algorithm 4.4.5 How to obtain optimal sequence from optimal permutation mapping? 1)Identify the subtours 2)Select the cheapest arc (using lemma 4.4.1) that connects two subtours 3)Repeat above two steps until no more subtour exists

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 b j <= a Φ(j) in a decreasing order of b j b j > a Φ(j) in an increasing order of b j

Algorithm 4.4.5 Complete Algorithm –Given a set of data, a j and b j –Sort b j in increasing order, and move a j along with b j –Rank the moved a j 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 a j s in a similar fashion as b j s –Formulate a graph by connecting each node j with Φ * (j) node –Formulate c Φ * (j) I(j, j+1), which is an interchange cost

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

Running Time Test Average Running time Comparison Numbe r of Jobs CPLEX TSP-Relaxation JAVA Algorithm 4.4.5 100secs 2010secs0 sec 1005 minutues0 sec 200>10mintues0 sec 500Crash2-5 secs 1000Crash30-40 secs 1500Crash4-5 minutes 2000Crash>10mintues

Download ppt "Makespan with Sequence Dependent Setup Time (MSDST) 1|s jk |C max."

Similar presentations