1 of 71

Preemptive Single Machine Scheduling Problems: Modeling by Data Preprocessing�Boris Goldengorin��Discrete Mathematics Department,�MIPT��

Lecture 2 Voronovo 2021

1

2 of 71

Abstract

In this lecture we suggest a unified reduction of single machine scheduling problems with n jobs, arbitrary release and due dates, processing times, priority factors (weights), preemptions to the Linear Assignment Problems with Additional Constraints minimizing the following objective functions:

  1. The Total Weighted Completion Time (TWCT),
  2. The Total Weighted Tardiness (TWT).

The additional constraints reflecting an ordering of the job parts such that the final part of every job will contribute to the objective function of SPs.

We present the LAP reductions for TWCT and TWT and outline different branch-and-bound algorithms for solving both problems.

Lecture 2 Voronovo 2021

2

3 of 71

Our Results

  • We present a family of Branch-and-Bound Algorithms with different branching rules for solving both problems.
  • In case of equal processing times (1|pmtn; pj=p; rj|∑wjCj) we provide a lower and upper bounds with approximation ratios ½ and 3/2, respectively, when n tends to infinity and p=2.

Lecture 2 Voronovo 2021

3

4 of 71

Two Single Machine Scheduling Problems

  • The Preempted Single Machine Scheduling Problem with Arbitrary Release Dates, Processing Times, Priorities (Weights), and Preemptions Minimizing the Total Weighted Processing Time (abbreviated SPC)

  • The Single Machine Scheduling Problem with Arbitrary Release Dates, Processing Times, Priorities (Weights), Preemptions, and Due Dates Minimizing the Total Weighted Tardiness (abbreviated SPT)

  • The input data for both problems are integer non-negative numbers leading to a schedule without idle intervals

Lecture 2 Voronovo 2021

4

5 of 71

An example: schedule 3 jobs to minimize either the total weighted completion time or total weighted tardiness.

Lecture 2 Voronovo 2021

5

j

1

2

3

pj

2

3

2

wj

2

8

10

rj

1

2

3

dj

1

3

3

Since both problems are NP-hard (computationally intractable) we are going to design heuristics and exact enumeration type algorithms.

6 of 71

Informal Reduction to the LAP

Lecture 2 Voronovo 2021

6

A feasible solution of the scheduling problem (SP) can be represented as an assignment of np job parts (each of n jobs has p parts) to np time intervals 1, 2,...,np such that every part of job j is assigned to a time interval not earlier than its release date rj . Only the last (p-th) part of every job j is taken into account in the objective function. The cost of its assignment to time t is equal wj t, and the costs for parts 1, 2,...,p − 1 are all equal to 0. The objective is to mini-mize the total cost over all jobs. Thus, SP problem is equivalent to the linear assignment problem with additional constraints related to release dates rj and also to the sequence of job parts which requires the last part of a job to be assigned to the latest time interval among the time intervals of all its parts. Moreover, release date constraints can be taken into account in the linear assignment problem using infinite costs for the time intervals to which job parts cannot be assigned. For the example at next page, the assignment problem will have the cost matrix shown at the next page.

7 of 71

Example 1|pmtn; pj=p; rj|∑wjCj

n = 3, p = 4, wj = 1, 2, 3, rj = 1, 4, 7.

Lecture 2 Voronovo 2021

7

j

1

2

3

pj

4

4

4

wj

1

2

3

rj

1

4

7

dj

1

3

3

8 of 71

Lower Bound for the 1|pmtn; pj=p; rj|∑wjCj

Theorem 3 [1] The APL optimal solution provides a value of the objective function fAPL which is not less than {1/p + 2/(n+1) − 2/[p(n+1)]}fSP, i.e.

Lecture 2 Voronovo 2021

8

9 of 71

LAP Based Upper Bound

  • The main drawback of the LAP that it does not include the sequence constraints. To incorporate the sequence constraints, we set the assignment costs cit to be equal to w[(i−1)/p]+1t not only for the last part of a job (when i mod p = 0) but for all its parts. The corresponding matrix for our example is shown at then next slide.

Lecture 2 Voronovo 2021

9

10 of 71

Another Reduction of SP to the LAP

Lecture 2 Voronovo 2021

10

The optimal assignment problem solution is highlighted with gray color. Now it satisfies all the constraints of the original SP problem. Unfortunately, it is not an optimal solution to the SP problem, because its objective function (OF) is different from the OF of the SP.

11 of 71

LAP based Upper Bound [1]

Theorem 6

Lecture 2 Voronovo 2021

11

12 of 71

Branch and Bound (BnB) Algorithms for the TWT

  • In the next slides we are going to present BnB algorithms for solving the TWT exactly by means of different Branching Rules (BRs).
  • Here are the BRs:

(i) branch by an infeasible final part of a job with the largest contribution to the objective function (OF),

(ii) branch by an infeasible not final part of a job with the largest potential contribution to the OF,

(iii) Branch by tolerance based branching rule.

Lecture 2 Voronovo 2021

12

13 of 71

Informal Problem Formulation with pj=p

Lecture 2 Voronovo 2021

13

14 of 71

Properties of Optimal Schedules, 1

Lecture 2 Voronovo 2021

14

15 of 71

Remark on Optimal Schedules

We will suppose that an optimal schedule does not contain idle time intervals. An idle interval is possible only when all released jobs have been completed and a new job has not yet been released. An optimal schedule will contain an idle time interval only when that idle interval separates the given schedule into two indepen-dent ones.

Lecture 2 Voronovo 2021

15

16 of 71

1|pmtn; rj , pj |F (C1, . . . , Cn) Properties of Optimal Schedules, 2

Theorem 1. In an optimal schedule for the problem 1|pmtn; rj , pj |F (C1, . . . , Cn) preemptions occur only at unit time points.

Corollary 1.1. In an optimal schedule for the problem 1|pmtn; rj , pj |F (C1, . . . , Cn) every job part is entirely assigned to a single time interval.

Lecture 2 Voronovo 2021

16

17 of 71

1|pmtn; rj , pj |F (C1, . . . , Cn) �Intersecting Jobs

Definition 1. Job i intersects job j if there is job i’s processing assigned in-between of some of job j’s processing.

Definition 2. Two jobs i and j are called intersecting if i intersects j and vice versa.

Lecture 2 Voronovo 2021

17

18 of 71

Intersecting Jobs

Theorem 2. In an optimal schedule for the problem 1|pmtn; rj , pj |F (C1, . . . , Cn) there are no intersecting jobs.

Corollary 2.1. In an optimal schedule for the problem 1|pmtn; rj , pj |F (C1, . . . , Cn) if job i has been partially processed between processing intervals of job j then job i has been completely processed between these intervals.

Lecture 2 Voronovo 2021

18

19 of 71

Corollary for Equal Processing Times

Corollary 2.2. In an optimal schedule for the problem 1|pmtn; rj , pj = p| F (C1, . . . , Cn) there are either 0, p, or a multiple of p time intervals between the two time intervals to which the subsequent parts of a particular job are assigned.

In the following slides we present the Boolean Linear Programming (BLP) model for the case of equal processing times.

Lecture 2 Voronovo 2021

19

20 of 71

1|pmtn; rj , pj = p| F (C1, . . . , Cn) BLP model, 1

Lecture 2 Voronovo 2021

20

21 of 71

BLP model, 2

Lecture 2 Voronovo 2021

21

22 of 71

Heuristics in BnB Algorithms

  • We are going to incorporate an efficient heuristic for the SP based on the Weighted Shortest Remaining Processing Time (WSRPT) rule.

  • The computational complexity of our heuristic is based on the WSRPT rule which is O(n) on each step of the heuristic. Since there are no idle time intervals the total number of steps is not greater than npmax. The WSRPT heuristic stores in memory at most nwjj ratios. So, the heuristic has time complexity of O(n^2pmax) and space complexity of O(n).

Lecture 2 Voronovo 2021

22

23 of 71

WSRPT rule: Computational Study

The computational experiments are performed on Intel i7 machine with 2.50 GHz and 8 GB of memory. Our heuristic is fast enough to solve problems with the number of jobs n = 1000 and the processing times up pj ∼ 1000 in 10 s. For the greater number of jobs n = 10,000 and pj ∼ 10,000 the algorithm needs about 3 h. Average computation times for randomly generated instances are given in Table 2. The average time is computed on 50 instances.

Lecture 2 Voronovo 2021

23

24 of 71

CPU times for the WSPRT rule

Lecture 2 Voronovo 2021

24

25 of 71

Quality of the WSRPT rule

To test the quality of heuristic solutions we take n from set {5, 10, 15, 20, 25} and pj ∈[1, 100]. For each n we randomly generated 50 instances in the way described above. Every instance is solved exactly by CPLEX 12 using the BLP model and by the WSRPT heuristic. Then we compute the minimum, average, and maximum relative error of the heuristic solutions over the 50 instances. The results are presented in Table 3. As it can be seen the WSRPT heuristic finds solutions of high quality and the average error does not exceed 0.08% for any combination of n and pj values. We have not considered large values for n because even for n = 25 half of the instances have not been solved in 30,000 s (about 8 h) by the CPLEX. The 50 generated instances for n = 25 have required more than 360 h (15 days) to be solved exactly. We present the results only for pj ∈[1, 100] because for smaller values of pj the average and maximal error are virtually the same and for greater values the errors are even smaller.

Lecture 2 Voronovo 2021

25

26 of 71

Quality of the WSRPT rule

Lecture 2 Voronovo 2021

26

27 of 71

Two Heuristics Based on the relaxed BLP model

Lecture 2 Voronovo 2021

27

28 of 71

Algorithm 2

Lecture 2 Voronovo 2021

28

29 of 71

Exact Branch-and-Bound Algorithm

  1. Solve the LP relaxation and obtain a lower bound lb to the unknown optimal value of our problem 1|pmtn; rj , pj = p| F (C1, . . . , Cn).
  2. Construct three feasible schedules using the WSRPT heuristic, Algorithms 1 and 2. If any of them achieves ⌈lb⌉, then we’ve already solved the problem completely.
  3. Otherwise, branch by the largest fractional variable xjkt leading to two subproblems with xjkt = 0 and xjkt = 1.
  4. Add both subrpoblems to the List of Unsolved Subproblems (LUS), solve one of them and update the best current schedule.
  5. If the created LUS is empty return an optimal schedule.

Lecture 2 Voronovo 2021

29

30 of 71

Computational Experiments

All computations were performed on a PC with i5-7300HQ processor with 3.5 GHz and 8 GB of RAM. Gurobi solver(Gurobi Optimization (2020)) was used for solving the LP relaxations of our BLP model.

More than a million problem instances with the number of jobs n ∈ {10, 350}, processing times p ∈ {2, 20} such that n×p ≤ 800 were randomly generated with the purpose to evaluate the effectiveness and efficiency of all involved algorithms.

The purpose of our computational study is to evaluate the quality of WSRPT, Algorithm 1 and 2 as heuristics.

Lecture 2 Voronovo 2021

30

31 of 71

Computational Results, 1

Lecture 2 Voronovo 2021

31

32 of 71

Computational Results, 2

Lecture 2 Voronovo 2021

32

33 of 71

Computational Results, 3

Lecture 2 Voronovo 2021

33

34 of 71

Number of Preemptions depending on n and p

Lecture 2 Voronovo 2021

34

35 of 71

WSRPT heuristic optimality depending on n and p

Lecture 2 Voronovo 2021

35

36 of 71

CPU times depending on np

Lecture 2 Voronovo 2021

36

37 of 71

Mean number of preemptions depending on n and p

Lecture 2 Voronovo 2021

37

38 of 71

Assumptions used in the Reduction of SPs to the LAP

  • Every row in the AP cost matrix is corresponding to a job part.

  • The order in which the job parts should be processed are fixed by the natural order of rows but can be relaxed such that the final part of every job will be completed after all parts of the same job.

  • Every column in the AP cost matrix is corresponding to a single time unit interval.

  • The order of time unit intervals is fixed and represented by natural numbering of columns.

  • The infeasibility of scheduling a job part to a time interval is indicated by a very large number M, and reflecting the potential contribution to the objective function (the part is not released or cannot be released without creation an idle interval) .

Lecture 2 Voronovo 2021

38

39 of 71

Refresh the Hungarian Algorithm (HA) for Linear Assignment Problem

  • One of the best algorithms for solving the Linear Assignment Problem is the Hungarian Algorithm
  • Tolerances can be used to exclude the most computationally expensive step of the HA, namely, covering all zeros in the reduced matrix by the minimum number of horizontal and/or vertical lines, i.e. application of
  • Konig-Egervary Theorem. In any bipartite graph the number of edges in a maximum matching equals the number of vertices in a minimum vertex cover.

Lecture 2 Voronovo 2021

39

40 of 71

Enumeration Algorithms for the AP

How to design and improve the Hungarian Algorithm based on the non-trivial upper and lower tolerances

Lecture 2 Voronovo 2021

40

41 of 71

Hungarian Algorithm

1. Reduce rows and columns by its smllest entry (create at least one zero in each row and column, i.e. reduced matrix)

2. Cover all zeros in the reduced matrix by the minimum number k of lines (horizontal and vertical), and apply Konig-Egervary’s theorem

3. If k=n, then output an optimal AP solution, otherwise reduced all uncovered entries by its smallest uncovered entry and return to 2.

Lecture 2 Voronovo 2021

41

42 of 71

Lecture 2 Voronovo 2021

42

Number of machine

Time (hours)

Row nonzero minimum

Job 1

Job 2

Job 3

Job 4

Machine 1

14

5

8

7

5

Machine 2

2

12

6

5

2

Machine 3

7

8

3

9

3

Machine 4

2

4

6

10

2

Number of machine

Time (hours)

Row nonzero minimum

Job 1

Job 2

Job 3

Job 4

Machine 1

9

0

3

2

5

Machine 2

0

10

4

3

2

Machine 3

4

5

0

6

3

Machine 4

0

2

4

8

2

Cost matrix for Machineco with row minima

Cost matrix after row minima are subtracted

43 of 71

Lecture 2 Voronovo 2021

43

Number of machine

Time (hours)

Job 1

Job 2

Job 3

Job 4

Machine 1

9

0

3

0

Machine 2

0

10

4

1

Machine 3

4

5

0

4

Machine 4

0

2

4

6

Number of machine

Time (hours)

Job 1

Job 2

Job 3

Job 4

Machine 1

10

0

3

0

Machine 2

0

9

3

0

Machine 3

5

5

0

4

Machine 4

0

1

3

5

Cost matrix after column minimum is subtracted

Four lines required; optimal solution is available

44 of 71

Lecture 2 Voronovo 2021

44

Number of machine

Time (hours)

Job 1

Job 2

Job 3

Job 4

Machine 1

14

5

8

7

2

Machine 2

2

12

6

5

3

3

Machine 3

7

8

3

9

4

Machine 4

2

4

6

10

2

Tolerance Based Algorithm for the AP

M1

M2

M3

M4

J1

J2

J3

J4

45 of 71

Lecture 2 Voronovo 2021

45

Number of machine

Time (hours)

Job 1

Job 2

Job 3

Job 4

Machine 1

14

5

8

7

2

Machine 2

2

12

6

5

3

3

Machine 3

7

8

3

9

4

Machine 4

2

4

6

10

2

Tolerance Based Algorithm for the AP

M1

M2

M3

M4

J1

J2

J3

J4

3

3

2

good

bad

M1

M2

M3

M4

J1

J2

J3

J4

Optimal solution to the AP

46 of 71

The Reduction of SPT to the Linear Assignment Problem with additional constratints

0

0

0

0

0

0

M

M

2

4

6

8

10

12

M

0

0

0

0

M

M

M

M

0

0

0

0

M

M

M

M

8

16

24

32

M

M

0

0

0

0

M

M

M

M

10

20

30

40

J1/P1

+8

0

0

0

0

0

0

M

M

0

2

4

6

8

0

M

0

0

0

0

M

M

M

M

0

0

0

0

M

M

M

M

0

8

16

14

M

M

0

0

0

0

M

M

M

M

0

10

20

20

T1 T2 T3 T4 T5 T6 T7

J1/P1 T1

J1/P2 T2

J2/P1 T3

J2/P2 T4

J2/P3 T5

J3/P1 T6

J3/P2 T7

J1/P2

J2/P1

J2/P2

J2/P3

J3/P1

J3/P2

0

0

0

0

0

0

M

M

0

2

4

6

8

10

M

0

0

0

0

M

M

M

M

0

0

0

0

M

M

M

M

0

8

16

24

M

M

0

0

0

0

M

M

M

M

0

10

20

30

- 10

-8

0

0

0

8

0

0

M

M

0

2

12

6

8

0

M

0

0

8

0

M

M

M

M

0

8

0

0

M

M

M

M

0

0

8

6

M

M

0

8

0

0

M

M

M

M

0

2

12

12

- 8

- 8

- 10

Objective function= 10 +2+8+10+8

= 38

-2

47 of 71

The Reduction of SPT to the Linear Assignment Problem with additional constratints

0

0

0

0

0

0

M

M

2

4

6

8

10

12

M

0

0

0

0

M

M

M

M

0

0

0

0

M

M

M

M

8

16

24

32

M

M

0

0

0

0

M

M

M

M

10

20

30

40

J1/P1

+8

0

0

0

0

0

0

M

M

0

2

4

6

8

0

M

0

0

0

0

M

M

M

M

0

0

0

0

M

M

M

M

0

8

16

14

M

M

0

0

0

0

M

M

M

M

0

10

20

20

T1 T2 T3 T4 T5 T6 T7

J1/P1 T1

J1/P2 T2

J2/P1 T3

J2/P2 T4

J2/P3 T5

J3/P1 T6

J3/P2 T7

J1/P2

J2/P1

J2/P2

J2/P3

J3/P1

J3/P2

0

0

0

0

0

0

M

M

0

2

4

6

8

10

M

0

0

0

0

M

M

M

M

0

0

0

0

M

M

M

M

0

8

16

24

M

M

0

0

0

0

M

M

M

M

0

10

20

30

- 10

-8

0

0

0

8

0

0

M

M

0

2

12

6

8

0

M

0

0

8

0

M

M

M

M

0

8

0

0

M

M

M

M

0

0

8

6

M

M

0

8

0

0

M

M

M

M

0

2

12

12

- 8

- 8

- 10

Objective function= 10 +2+8+10+8

= 38

-2

48 of 71

Reduce the Infeasibilities of the AP solution wrt the SPT.

0

0

0

8

0

0

M

M

0

2

12

6

8

0

M

0

0

8

0

M

M

M

M

0

8

0

0

M

M

M

M

0

M

8

6

M

M

0

8

0

0

M

M

M

M

0

2

12

12

0

0

0

8

0

0

M

M

0

2

12

6

8

0

M

0

0

8

0

M

M

M

M

0

8

0

0

M

M

M

M

0

0

8

6

M

M

0

8

0

0

M

M

M

M

0

2

12

12

J1/P1

J1/P2

J2/P1

J2/P2

J2/P3

J3/P1

J3/P2

T1 T2 T3 T4 T5 T6 T7

Objective function= 10 +2+8+10+8 = 38

40

38

(5,5)

(5,5)

40

(7,5)

(7,5)

T1 T2 T3 T4 T5 T6 T7

P1 P1 P1 P2 P3 P2 P2

All

The found optimal solution to the AP is not feasible to the SPT since the final part 3 of job 2 is scheduled before its preceding part 2. To exclude these infeasibilites we have 2 options:

  1. To prohibit to schedule part 3 of job 2 at the time interval T5;
  2. To prohibit to schedule part 2 of job 2 at the time interval T6.

49 of 71

Reduce the Infeasibilities of the AP solution wrt the SPT.

0

0

0

8

0

0

M

M

0

2

12

6

8

0

M

0

0

8

0

M

M

M

M

0

8

0

0

M

M

M

M

0

M

8

6

M

M

0

8

0

0

M

M

M

M

0

2

12

12

0

0

0

8

0

0

M

M

0

2

12

6

8

0

M

0

0

8

0

M

M

M

M

0

8

0

0

M

M

M

M

0

0

8

6

M

M

0

8

0

0

M

M

M

M

0

2

12

12

J1/P1

J1/P2

J2/P1

J2/P2

J2/P3

J3/P1

J3/P2

Objective function= 38+2 = 40

T1 T2 T3 T4 T5 T6 T7

Objective function= 10 +2+8+10+8 = 38

40

38

(5,5)

(5,5)

40

(7,5)

(7,5)

T1 T2 T3 T4 T5 T6 T7

P1 P1 P1 P2 P3 P2 P2

All

0

0

0

8

0

0

M

M

0

2

12

6

8

0

M

0

0

8

0

M

M

M

M

0

8

0

0

M

M

M

M

0

M

6

4

M

M

0

2

0

0

M

M

M

M

0

0

10

10

T1 T2 T3 T4 T5 T6 T7

P1 P1 P2 P3 P2 P1 P2

T1 T2 T3 T4 T5 T6 T7

J1/P1

J1/P2

J2/P1

J2/P2

J2/P3

J3/P1

J3/P2

50 of 71

Lecture 2 Voronovo 2021

50

Objective function= 40+4= 44

40

38

(5,5)

(5,5)

44

40

(7,5)

(7,5)

All

0

0

0

12

0

0

M

M

0

2

16

6

8

0

M

0

0

12

0

M

M

M

M

0

12

0

0

M

M

M

M

0

M

2

0

M

M

0

6

0

0

M

M

M

M

0

M

6

6

T1 T2 T3 T4 T5 T6 T7

P1 P2 P1 P2 P1 P2 P3

T1 T2 T3 T4 T5 T6 T7

P1 P2 P1 P2 P1 P2 P3

J1/P1

J1/P2

J2/P1

J2/P2

J2/P3

J3/P1

J3/P2

T1 T2 T3 T4 T5 T6 T7

T1 T2 T3 T4 T5 T6 T7

P1 P1 P2 P3 P2 P1 P2

Objective function= 38+2 = 40

0

0

0

8

0

0

M

M

0

2

12

6

8

0

M

0

0

8

0

M

M

M

M

0

8

0

0

M

M

M

M

0

M

6

4

M

M

0

2

0

0

M

M

M

M

0

0

10

10

T1 T2 T3 T4 T5 T6 T7

J1/P1

J1/P2

J2/P1

J2/P2

J2/P3

J3/P1

J3/P2

51 of 71

Lecture 2 Voronovo 2021

51

40

38

(5,5)

(5,5)

44

40

(7,5)

All

T1 T2 T3 T4 T5 T6 T7

P1 P2 P1 P2 P1 P2 P3

INF

T1 T2 T3 T4 T5 T6 T7

P1 P1 P2 P3 P2 P1 P2

T1 T2 T3 T4 T5 T6 T7

P1 P1 P2 P3 P2 P1 P2

Objective function= 38+2 = 40

0

0

0

8

0

0

M

M

0

2

12

6

8

0

M

0

0

8

0

M

M

M

M

0

8

0

0

M

M

M

M

0

M

6

4

M

M

0

2

0

0

M

M

M

M

0

M

10

10

T1 T2 T3 T4 T5 T6 T7

J1/P1

J1/P2

J2/P1

J2/P2

J2/P3

J3/P1

J3/P2

0

0

0

12

0

M

M

0

2

16

8

0

M

0

0

12

M

M

M

M

0

12

0

M

M

M

M

0

2

0

M

M

0

6

M

M

(6,6)

(6,6)

(7,5)

T1 T2 T3 T4 T5 T6 T7

P1 P1 P1 P3 P2 P2 P2

J1/P1

J1/P2

J2/P1

J2/P2

J2/P3

J3/P1

T1 T2 T3 T4 T6 T7

Objective function= 40 + 4 = 44

INF

T1 T2 T3 T4 T5 T6 T7

P1 P1 P1 P3 P2 P2 P2

44

(4,6)

(4,6)

T1 T2 T3 T4 T5 T6 T7

P1 P1 P2 P1 P2 P3 P2

0

8

8

14

0

M

M

0

2

10

0

0

M

0

0

6

M

M

M

M

0

6

M

M

M

M

M

0

0

6

M

M

0

0

M

M

T1 T2 T3 T4 T6 T7

J1/P1

J1/P2

J2/P1

J2/P2

J2/P3

J3/P1

Objective function= 44+ 6 + 2 = 52

T1 T2 T3 T4 T5 T6 T7

P1 P1 P2 P1 P2 P3 P2

52

52 of 71

Lecture 2 Voronovo 2021

52

40

38

(5,5)

(5,5)

All

0

0

0

8

0

0

M

M

0

2

12

6

8

0

M

0

0

8

0

M

M

M

M

0

8

0

0

M

M

M

M

0

0

8

6

M

M

0

8

0

0

M

M

M

M

0

2

12

12

J1/P1

J1/P2

J2/P1

J2/P2

J2/P3

J3/P1

J3/P2

T1 T2 T3 T4 T5 T6 T7

Objective function= 10 +2+8+10+8 = 38

T1 T2 T3 T4 T5 T6 T7

P1 P1 P1 P2 P3 P2 P2

0

0

0

8

0

0

M

M

0

2

12

6

8

0

M

0

0

8

0

M

M

M

M

0

8

0

0

M

M

M

M

0

0

8

6

M

M

0

8

0

0

M

M

M

M

0

2

12

12

J1/P1

J1/P2

J2/P1

J2/P2

J2/P3

J3/P1

J3/P2

T1 T2 T3 T4 T5 T6 T7

0

0

0

8

0

M

M

0

2

12

8

0

M

0

0

8

M

M

M

M

0

8

0

M

M

M

0

8

0

M

M

M

M

0

12

12

J1/P1

J1/P2

J2/P1

J2/P2

J3/P1

J3/P2

T1 T2 T3 T4 T6 T7

Objective function= 10 +2+8+10+8 = 38

T1 T2 T3 T4 T5 T6 T7

P1 P1 P2 P2 P3 P1 P2

(6,6)

(6,6)

INF

T1 T2 T3 T4 T5 T6 T7

P1 P1 P2 P2 P3 P1 P2

53 of 71

Lecture 2 Voronovo 2021

53

40

38

(5,5)

(5,5)

All

Objective function= 38 + 8 = 46

(6,6)

(6,6)

INF

T1 T2 T3 T4 T5 T6 T7

P1 P1 P2 P2 P3 P1 P2

0

0

0

8

0

M

M

0

2

4

0

0

M

0

0

0

M

M

M

M

0

8

0

M

M

M

0

0

M

M

M

M

M

0

12

12

J1/P1

J1/P2

J2/P1

J2/P2

J3/P1

J3/P2

T1 T2 T3 T4 T6 T7

T1 T2 T3 T4 T5 T6 T7

P1 P1 P1 P2 P3 P2 P2

T1 T2 T3 T4 T5 T6 T7

P1 P1 P1 P2 P3 P2 P2

46

INF

(4,6)

(4,6)

J1/P1

J1/P2

J2/P1

J2/P2

J3/P1

J3/P2

T1 T2 T3 T4 T6 T7

0

12

12

20

0

M

M

12

14

16

0

0

M

0

0

0

M

M

M

M

0

8

M

M

M

M

0

0

M

M

M

M

M

0

0

0

T1 T2 T3 T4 T5 T6 T7

P1 P1 P2 P1 P3 P2 P2

Objective function= 46 + 12 = 58

58

T1 T2 T3 T4 T5 T6 T7

P1 P1 P2 P1 P3 P2 P2

54 of 71

Lecture 2 Voronovo 2021

54

38

(5,5)

(6,6)

(6,6)

INF

T1 T2 T3 T4 T5 T6 T7

P1 P1 P2 P2 P3 P1 P2

T1 T2 T3 T4 T5 T6 T7

P1 P1 P1 P2 P3 P2 P2

46

INF

(4,6)

(4,6)

58

T1 T2 T3 T4 T5 T6 T7

P1 P1 P2 P1 P3 P2 P2

40

(5,5)

44

40

(7,5)

All

T1 T2 T3 T4 T5 T6 T7

P1 P2 P1 P2 P1 P2 P3

INF

T1 T2 T3 T4 T5 T6 T7

P1 P1 P2 P3 P2 P1 P2

(6,6)

(6,6)

(7,5)

INF

T1 T2 T3 T4 T5 T6 T7

P1 P1 P1 P3 P2 P2 P2

44

(4,6)

(4,6)

T1 T2 T3 T4 T5 T6 T7

P1 P1 P2 P1 P2 P3 P2

52

0

0

0

8

0

0

M

M

0

2

12

6

8

0

M

0

0

8

0

M

M

M

M

0

8

0

0

M

M

M

M

0

0

8

6

M

M

0

8

0

0

M

M

M

M

0

2

12

12

T1 T2 T3 T4 T5 T6 T7

J1/P1

J1/P2

J2/P1

J2/P2

J2/P3

J3/P1

J3/P2

55 of 71

Minimizing the Total Weighted Completion by using Assignment Problem.

0

0

0

0

0

0

M

M

4

6

8

10

12

14

M

0

0

0

0

M

M

M

M

0

0

0

0

M

M

M

M

32

40

48

56

M

M

0

0

0

0

M

M

M

M

40

50

60

70

J1/P1

T1 T2 T3 T4 T5 T6 T7

J1/P1 T1

J1/P2 T2

J2/P1 T3

J2/P2 T4

J2/P3 T5

J3/P1 T6

J3/P2 T7

J1/P2

J2/P1

J2/P2

J2/P3

J3/P1

J3/P2

0

0

0

8

0

0

M

M

0

2

12

6

8

0

M

0

0

8

0

M

M

M

M

0

8

0

0

M

M

M

M

0

0

8

6

M

M

0

8

0

0

M

M

M

M

0

2

12

12

Objective function= 10 +4+32+40+8

= 94

56 of 71

Converge the Infeasible solution to Feasible solution.

0

0

0

8

0

0

M

M

0

2

12

6

8

0

M

0

0

8

0

M

M

M

M

0

8

0

0

M

M

M

M

0

M

8

6

M

M

0

8

0

0

M

M

M

M

0

2

12

12

0

0

0

8

0

0

M

M

0

2

12

6

8

0

M

0

0

8

0

M

M

M

M

0

8

0

0

M

M

M

M

0

0

8

6

M

M

0

8

0

0

M

M

M

M

0

2

12

12

J1/P1

J1/P2

J2/P1

J2/P2

J2/P3

J3/P1

J3/P2

T1 T2 T3 T4 T5 T6 T7

96

94

(5,5)

(5,5)

96

(7,5)

(7,5)

T1 T2 T3 T4 T5 T6 T7

P1 P1 P1 P2 P3 P2 P2

All

0

0

0

8

0

0

M

M

0

2

12

6

8

0

M

0

0

8

0

M

M

M

M

0

8

0

0

M

M

M

M

0

M

6

4

M

M

0

2

0

0

M

M

M

M

0

0

10

10

T1 T2 T3 T4 T5 T6 T7

P1 P1 P2 P3 P2 P1 P2

T1 T2 T3 T4 T5 T6 T7

Objective function= 10 +4+32+40+8 = 94

Objective function= 94 + 2 = 96

J1/P1

J1/P2

J2/P1

J2/P2

J2/P3

J3/P1

J3/P2

57 of 71

Lecture 2 Voronovo 2021

57

Objective function= 96 + 4 = 100

96

94

(5,5)

(5,5)

100

96

(7,5)

(7,5)

All

0

0

0

12

0

0

M

M

0

2

16

6

8

0

M

0

0

12

0

M

M

M

M

0

12

0

0

M

M

M

M

0

M

2

0

M

M

0

6

0

0

M

M

M

M

0

M

6

6

T1 T2 T3 T4 T5 T6 T7

P1 P2 P1 P2 P1 P2 P3

T1 T2 T3 T4 T5 T6 T7

P1 P2 P1 P2 P1 P2 P3

INF

T1 T2 T3 T4 T5 T6 T7

P1 P1 P2 P3 P2 P1 P2

J1/P1

J1/P2

J2/P1

J2/P2

J2/P3

J3/P1

J3/P2

T1 T2 T3 T4 T5 T6 T7

T1 T2 T3 T4 T5 T6 T7

P1 P1 P2 P3 P2 P1 P2

Objective function= 94+2 = 96

0

0

0

8

0

0

M

M

0

2

12

6

8

0

M

0

0

8

0

M

M

M

M

0

8

0

0

M

M

M

M

0

M

6

4

M

M

0

2

0

0

M

M

M

M

0

0

10

10

T1 T2 T3 T4 T5 T6 T7

J1/P1

J1/P2

J2/P1

J2/P2

J2/P3

J3/P1

J3/P2

(6,6)

(6,6)

58 of 71

Lecture 2 Voronovo 2021

58

96

94

(5,5)

(5,5)

100

96

(7,5)

All

T1 T2 T3 T4 T5 T6 T7

P1 P2 P1 P2 P1 P2 P3

INF

T1 T2 T3 T4 T5 T6 T7

P1 P1 P2 P3 P2 P1 P2

T1 T2 T3 T4 T5 T6 T7

P1 P1 P2 P3 P2 P1 P2

0

0

0

8

0

0

M

M

0

2

12

6

8

0

M

0

0

8

0

M

M

M

M

0

8

0

0

M

M

M

M

0

M

6

4

M

M

0

2

0

0

M

M

M

M

0

0

10

10

T1 T2 T3 T4 T5 T6 T7

J1/P1

J1/P2

J2/P1

J2/P2

J2/P3

J3/P1

J3/P2

0

0

0

12

0

M

M

0

2

16

8

0

M

0

0

12

M

M

M

M

0

12

0

M

M

M

M

0

2

0

M

M

0

6

M

M

(6,6)

(6,6)

(7,5)

T1 T2 T3 T4 T5 T6 T7

P1 P1 P1 P3 P2 P2 P2

J1/P1

J1/P2

J2/P1

J2/P2

J2/P3

J3/P1

T1 T2 T3 T4 T6 T7

Objective function= 96 + 4 = 100

INF

T1 T2 T3 T4 T5 T6 T7

P1 P1 P1 P3 P2 P2 P2

100

(4,6)

(4,6)

Objective function= 94+2 = 96

59 of 71

Lecture 2 Voronovo 2021

59

96

94

(5,5)

(5,5)

100

96

(7,5)

All

T1 T2 T3 T4 T5 T6 T7

P1 P2 P1 P2 P1 P2 P3

INF

T1 T2 T3 T4 T5 T6 T7

P1 P1 P2 P3 P2 P1 P2

(6,6)

(6,6)

(7,5)

T1 T2 T3 T4 T5 T6 T7

P1 P1 P2 P1 P2 P3 P2

INF

T1 T2 T3 T4 T5 T6 T7

P1 P1 P1 P3 P2 P2 P2

100

(4,6)

(4,6)

0

8

8

14

0

M

M

0

2

10

0

0

M

0

0

6

M

M

M

M

0

6

M

M

M

M

M

0

0

6

M

M

0

0

M

M

T1 T2 T3 T4 T6 T7

J1/P1

J1/P2

J2/P1

J2/P2

J2/P3

J3/P1

Objective function= 100+ 6 + 2 =108

T1 T2 T3 T4 T5 T6 T7

P1 P1 P2 P1 P2 P3 P2

108

60 of 71

Lecture 2 Voronovo 2021

60

96

94

(5,5)

(5,5)

All

0

0

0

8

0

0

M

M

0

2

12

6

8

0

M

0

0

8

0

M

M

M

M

0

8

0

0

M

M

M

M

0

0

8

6

M

M

0

8

0

0

M

M

M

M

0

2

12

12

J1/P1

J1/P2

J2/P1

J2/P2

J2/P3

J3/P1

J3/P2

T1 T2 T3 T4 T5 T6 T7

T1 T2 T3 T4 T5 T6 T7

P1 P1 P1 P2 P3 P2 P2

0

0

0

8

0

0

M

M

0

2

12

6

8

0

M

0

0

8

0

M

M

M

M

0

8

0

0

M

M

M

M

0

0

8

6

M

M

0

8

0

0

M

M

M

M

0

2

12

12

J1/P1

J1/P2

J2/P1

J2/P2

J2/P3

J3/P1

J3/P2

T1 T2 T3 T4 T5 T6 T7

0

0

0

8

0

M

M

0

2

12

8

0

M

0

0

8

M

M

M

M

0

8

0

M

M

M

0

8

0

M

M

M

M

0

12

12

J1/P1

J1/P2

J2/P1

J2/P2

J3/P1

J3/P2

T1 T2 T3 T4 T6 T7

T1 T2 T3 T4 T5 T6 T7

P1 P1 P2 P2 P3 P1 P2

Objective function= 10 +4+32+40+8 = 94

Objective function= 10 +4+32+40+8 = 94

(6,6)

(6,6)

INF

T1 T2 T3 T4 T5 T6 T7

P1 P1 P2 P2 P3 P1 P2

61 of 71

Lecture 2 Voronovo 2021

61

96

94

(5,5)

(5,5)

All

(6,6)

(6,6)

INF

T1 T2 T3 T4 T5 T6 T7

P1 P1 P2 P2 P3 P1 P2

0

0

0

8

0

M

M

0

2

4

0

0

M

0

0

0

M

M

M

M

0

8

0

M

M

M

0

0

M

M

M

M

M

0

12

12

J1/P1

J1/P2

J2/P1

J2/P2

J3/P1

J3/P2

T1 T2 T3 T4 T6 T7

T1 T2 T3 T4 T5 T6 T7

P1 P1 P1 P2 P3 P2 P2

T1 T2 T3 T4 T5 T6 T7

P1 P1 P1 P2 P3 P2 P2

106

INF

(4,6)

(4,6)

J1/P1

J1/P2

J2/P1

J2/P2

J3/P1

J3/P2

T1 T2 T3 T4 T6 T7

0

12

12

20

0

M

M

12

14

16

0

0

M

0

0

0

M

M

M

M

0

8

M

M

M

M

0

0

M

M

M

M

M

0

0

0

T1 T2 T3 T4 T5 T6 T7

P1 P1 P2 P1 P3 P2 P2

Objective function= 102 + 12 = 114

114

T1 T2 T3 T4 T5 T6 T7

P1 P1 P2 P1 P3 P2 P2

Objective function= 94 + 8 = 106

62 of 71

Lecture 2 Voronovo 2021

62

94

(5,5)

(6,6)

(6,6)

INF

T1 T2 T3 T4 T5 T6 T7

P1 P1 P2 P2 P3 P1 P2

T1 T2 T3 T4 T5 T6 T7

P1 P1 P1 P2 P3 P2 P2

106

INF

(4,6)

(4,6)

114

T1 T2 T3 T4 T5 T6 T7

P1 P1 P2 P1 P3 P2 P2

94

(5,5)

100

94

(7,5)

All

T1 T2 T3 T4 T5 T6 T7

P1 P2 P1 P2 P1 P2 P3

INF

T1 T2 T3 T4 T5 T6 T7

P1 P1 P2 P3 P2 P1 P2

(6,6)

(6,6)

(7,5)

INF

T1 T2 T3 T4 T5 T6 T7

P1 P1 P1 P3 P2 P2 P2

100

(4,6)

(4,6)

T1 T2 T3 T4 T5 T6 T7

P1 P1 P2 P1 P2 P3 P2

108

0

0

0

8

0

0

M

M

0

2

12

6

8

0

M

0

0

8

0

M

M

M

M

0

8

0

0

M

M

M

M

0

0

8

6

M

M

0

8

0

0

M

M

M

M

0

2

12

12

T1 T2 T3 T4 T5 T6 T7

J1/P1

J1/P2

J2/P1

J2/P2

J2/P3

J3/P1

J3/P2

63 of 71

Summary

  1. In this lecture we have presented the reduction of two single machine scheduling problems to the Boolean LP model (BLPM) and Linear Assignment Problem (LAP) with additional constraints.
  2. Tolerances can be used to reduce the solution of LAP to the Relaxed LAP.
  3. For the BLPM the designed Branch-and Bound algorithm is able to solve benchmark instances with equal processing times up to np ≤ 800 compared to the currently largest np=60.
  4. The size of search trees generated by the Branch-and Bound algorithm is at most 3 vertices (subproblems) for solving more than one billion benchmark instances.
  5. Our preliminary computational experiments have shown that equal processing times with p=2 can be used to approximate arbitrary processing times for both even and odd number of jobs.

Lecture 2 Voronovo 2021

63

64 of 71

Applicability of the BLPM

  1. Objective functions like Total Weighted Tardiness or Total Weighted Number of Tardy Jobs.
  2. Deadlines. If a job must be finished by a certain point in time, we can either set to infinity the weight for variables corresponding to post-deadline processing or add a constraint forbidding any post-deadline processing.
  3. Maintenance and unavailability periods. The columns corresponding to such periods can be omitted and weights in the model changed accordingly to the time omitted.

Lecture 2 Voronovo 2021

64

65 of 71

Future Research Directions

  • You might extend our approach to the following objective functions:
  • Minimize the maximum lateness (Lj=Cj – dj);
  • Minimize the makespan (Cmax);
  • Minimize the weighted number of tardy jobs;
  • Minimize the total weighted earliness (note that the earliness penalty is nonincreasing in Cj (Ej=max{dj – Cj, 0}).
  • Minimize the linear combination of the total weighted earliness and the total weighted tardiness with arbitrary weights.
  • We will design tolerance based branching rules and bounds with the purpose to reduce the total CPU times compared to the costs based counterparts.

Lecture 2 Voronovo 2021

65

66 of 71

References

  1. M. Batsyn, B. Goldengorin, P. Sukhov, P. M. Pardalos. Lower and Upper Bounds for the Preemptive Single Machine Scheduling Problem with Equal Processing Times. Springer Proceedings in Mathematics & Statistics, Vol. 59, 11–30, 2013.
  2. M. Batsyn, B. Goldengorin, P. Sukhov, P. M. Pardalos. Online heuristic for the preemptive single machine scheduling problem of minimizing the total weighted completion time. Optimization Methods and Software, 2014, 29(5):955–963.
  3. Artem Fomin, Boris Goldengorin. An efficient model for the preemptive single machine scheduling of equal-length jobs. CoRR abs/2012.08152 (2020), submitted to Computers & Operations Research in March 2021 with the expected first round review June 2021.

Lecture 2 Voronovo 2021

66

67 of 71

Questions?

Lecture 2 Voronovo 2021

67

68 of 71

Thank you!

Lecture 2 Voronovo 2021

68

69 of 71

Old abstract

  • Recently Batsyn et al. (2013, 2014) have suggested a reduction of the SPC and SPT to the Assignment Problem (AP) with additional constraints. The additional constraints reflecting an ordering of the job parts such that the final part of every job will contribute to the objective function of SPs.

  • In this talk we present the AP reductions for SPC and SPT and discuss different branch-and-bound algorithms for solving both problems.

Lecture 2 Voronovo 2021

69

70 of 71

Lecture 2 Voronovo 2021

70

71 of 71

Weighted Shortest Remaining Processing Time Heuristic

Rule= (Priority Factor/ Remaining processing Time).

Rule= wj/ρj.

  • For t=1 : Job#1 only available
  • For t=2 : w1/ρ1= 2/1=2, w2/ρ2=8/3 = 2.67.
  • For t=3: w1/ρ1=2, w2/ρ2 = 8/2 = 4 , w3/ρ3=10/2 = 5.
  • For t=4: w1/ρ1=2, w2/ρ2 = 4 , w3/ρ3=10/1 = 10.
  • For t=5: w1/ρ1=2, w2/ρ2 = 4.
  • For t=6: w1/ρ1=2, w2/ρ2 = 8.
  • For t=7: w1/ρ1=2.

  • The Total Weighted Completion time = ∑wjcj = 2 (7) + 8 (6) + 10(4) = 102

Lecture 2 Voronovo 2021

71

Release Time

J1

J2

J3

j

1

2

3

3

2

2

1

Time

1

2

3

4

5

6

7

Dj

J1

J2,J3