A compact MIP formulation for single machine scheduling to minimize - - PowerPoint PPT Presentation

a compact mip formulation for single machine scheduling
SMART_READER_LITE
LIVE PREVIEW

A compact MIP formulation for single machine scheduling to minimize - - PowerPoint PPT Presentation

A compact MIP formulation for single machine scheduling to minimize a piecewise linear objective function Philippe Baptiste Ruslan Sadykov LIX, Ecole Polytechnique, France Optimeo08 Philippe Baptiste, Ruslan Sadykov A compact MIP


slide-1
SLIDE 1

A compact MIP formulation for single machine scheduling to minimize a piecewise linear objective function

Philippe Baptiste Ruslan Sadykov

LIX, Ecole Polytechnique, France

Optimeo’08

Philippe Baptiste, Ruslan Sadykov A compact MIP formulation for single machine scheduling

slide-2
SLIDE 2

The problem PWL (I)

Data 1 machine, m intervals Iu = [eu−1, eu], u ∈ M ; for each job j ∈ N = {1, . . . , n} rj - release date, pj - processing time, ¯ dj - deadline, such that {rj, ¯ dj}j∈M ⊆ {eu}u∈M.

e0 e1 e2 e3 rj ¯ dj pj t

Philippe Baptiste, Ruslan Sadykov A compact MIP formulation for single machine scheduling

slide-3
SLIDE 3

The problem PWL (I)

Data 1 machine, m intervals Iu = [eu−1, eu], u ∈ M ; for each job j ∈ N = {1, . . . , n} rj - release date, pj - processing time, ¯ dj - deadline, such that {rj, ¯ dj}j∈M ⊆ {eu}u∈M.

e0 e1 e2 e3 rj ¯ dj pj t

Constraints the machine can process only one job at a time, preemtion is not allowed,

Philippe Baptiste, Ruslan Sadykov A compact MIP formulation for single machine scheduling

slide-4
SLIDE 4

The problem PWL (II)

Objective ∀j ∈ N, the cost function Fj(Cj) is linear in each interval : if eu−1 < Cj ≤ eu then Fj(Cj) = f u

j + wu j · (Cj − eu−1).

e0 e1 e2 e3 rj ¯ dj pj t

Philippe Baptiste, Ruslan Sadykov A compact MIP formulation for single machine scheduling

slide-5
SLIDE 5

The problem PWL (II)

Objective ∀j ∈ N, the cost function Fj(Cj) is linear in each interval : if eu−1 < Cj ≤ eu then Fj(Cj) = f u

j + wu j · (Cj − eu−1).

We minimize the total cost :

  • j∈N

Fj(Cj) .

e0 e1 e2 e3 rj ¯ dj t F1(C1) F2(C2) F3(C3)

Philippe Baptiste, Ruslan Sadykov A compact MIP formulation for single machine scheduling

slide-6
SLIDE 6

Generality of the problem PWL

All classical non-preemptive scheduling problems can be formulated as the problem PWL, for example :

Philippe Baptiste, Ruslan Sadykov A compact MIP formulation for single machine scheduling

slide-7
SLIDE 7

Generality of the problem PWL

All classical non-preemptive scheduling problems can be formulated as the problem PWL, for example : Earliness-tardiness scheduling

t

Philippe Baptiste, Ruslan Sadykov A compact MIP formulation for single machine scheduling

slide-8
SLIDE 8

Generality of the problem PWL

All classical non-preemptive scheduling problems can be formulated as the problem PWL, for example : Earliness-tardiness scheduling

t

Philippe Baptiste, Ruslan Sadykov A compact MIP formulation for single machine scheduling

slide-9
SLIDE 9

Generality of the problem PWL

All classical non-preemptive scheduling problems can be formulated as the problem PWL, for example : Earliness-tardiness scheduling

t

Maximizing weighted number of

  • n-time jobs

t

Philippe Baptiste, Ruslan Sadykov A compact MIP formulation for single machine scheduling

slide-10
SLIDE 10

Generality of the problem PWL

All classical non-preemptive scheduling problems can be formulated as the problem PWL, for example : Earliness-tardiness scheduling

t

Maximizing weighted number of

  • n-time jobs

t

Philippe Baptiste, Ruslan Sadykov A compact MIP formulation for single machine scheduling

slide-11
SLIDE 11

Time-indexed formulation

Data is integer → Time-indexed formulation [Sousa, Wolsey, 92] Xjt ∈ {0, 1}, Xjt = 1 iff job j is started at time moment t min

T

  • t=0

Fj(t + pj)Xjt s.t.

dj−pj

  • t=rj

Xjt = 1, j ∈ N,

  • j∈N

t

  • s=t−pj+1

Xjs ≤ 1, t ∈ [0, T),

Philippe Baptiste, Ruslan Sadykov A compact MIP formulation for single machine scheduling

slide-12
SLIDE 12

Time-indexed formulation

Data is integer → Time-indexed formulation [Sousa, Wolsey, 92] Xjt ∈ {0, 1}, Xjt = 1 iff job j is started at time moment t min

T

  • t=0

Fj(t + pj)Xjt s.t.

dj−pj

  • t=rj

Xjt = 1, j ∈ N,

  • j∈N

t

  • s=t−pj+1

Xjs ≤ 1, t ∈ [0, T),

t t0 pj

Philippe Baptiste, Ruslan Sadykov A compact MIP formulation for single machine scheduling

slide-13
SLIDE 13

Interval decomposition

The cost functions are linear in an interval.

Philippe Baptiste, Ruslan Sadykov A compact MIP formulation for single machine scheduling

slide-14
SLIDE 14

Interval decomposition

The cost functions are linear in an interval.

  • Property. If all jobs in a set Q are started and completed in the

same interval [eu−1, eu], it is optimal to process them according to the Smith rule : i → j if wu

i

pi > wu

j

pj . Idle time between jobs with positive and negative weights wu

j

t

eu eu−1 Q

Philippe Baptiste, Ruslan Sadykov A compact MIP formulation for single machine scheduling

slide-15
SLIDE 15

Interval-indexed formulation

Variables X u

j , Y u j ∈ {0, 1} — whether job j is started (completed) before eu

Wu — length of the idle time in Iu F u

j — difference between the completion time and the border of Iu

Philippe Baptiste, Ruslan Sadykov A compact MIP formulation for single machine scheduling

slide-16
SLIDE 16

Interval-indexed formulation

Variables X u

j , Y u j ∈ {0, 1} — whether job j is started (completed) before eu

Wu — length of the idle time in Iu F u

j — difference between the completion time and the border of Iu

Variables constraints ∀u ∈ M, ∀j ∈ N, Y u−1

j

≤ Y u

j , X u−1 j

≤ X u

j , Y u j ≤ X u j

∀u ∈ M, ∀j ∈ NSu, X u−1

j

≤ Y u

j

∀u ∈ M, ∀j ∈ NBu, Y u

j ≤ X u−1 j

∀j ∈ N, rj = eu, X u

j = 0

∀j ∈ N, ¯ dj = eu, Y u

j = 1

Philippe Baptiste, Ruslan Sadykov A compact MIP formulation for single machine scheduling

slide-17
SLIDE 17

Interval-indexed formulation

Variables X u

j , Y u j ∈ {0, 1} — whether job j is started (completed) before eu

Wu — length of the idle time in Iu F u

j — difference between the completion time and the border of Iu

Knapsack constraints ∀u ∈ M,

  • j∈N

pjY u

j + u

  • v=1

Wv ≤ eu ∀u ∈ M,

  • j∈N

pjX u

j + u

  • v=1

Wv ≥ eu

Philippe Baptiste, Ruslan Sadykov A compact MIP formulation for single machine scheduling

slide-18
SLIDE 18

Interval-indexed formulation

Variables X u

j , Y u j ∈ {0, 1} — whether job j is started (completed) before eu

Wu — length of the idle time in Iu F u

j — difference between the completion time and the border of Iu

Additional constraints I ∀u ∈ M,

  • i∈N

(X u

i − Y u i ) ≤ 1

eu t

Philippe Baptiste, Ruslan Sadykov A compact MIP formulation for single machine scheduling

slide-19
SLIDE 19

Interval-indexed formulation

Variables X u

j , Y u j ∈ {0, 1} — whether job j is started (completed) before eu

Wu — length of the idle time in Iu F u

j — difference between the completion time and the border of Iu

NSu, NBu — set of “small” jobs and “big” jobs for Iu Additional constraints II ∀u ∈ M, ∀j ∈ NSu,

  • i∈NBu

(X u−1

i

− Y u

i ) + Y u j − X u−1 j

≤ 1

eu eu−1 t

Philippe Baptiste, Ruslan Sadykov A compact MIP formulation for single machine scheduling

slide-20
SLIDE 20

Interval-indexed formulation

Variables X u

j , Y u j ∈ {0, 1} — whether job j is started (completed) before eu

Wu — length of the idle time in Iu F u

j — difference between the completion time and the border of Iu

Theorem Vector (X, Y , W ) satisfies the constraints presented ⇔ the corresponding schedule is feasible

Philippe Baptiste, Ruslan Sadykov A compact MIP formulation for single machine scheduling

slide-21
SLIDE 21

Interval-indexed formulation

Variables X u

j , Y u j ∈ {0, 1} — whether job j is started (completed) before eu

Wu — length of the idle time in Iu F u

j — difference between the completion time and the border of Iu

Objective min

  • j∈N
  • u∈M

| wu

j | F u j +

  • j∈N
  • u∈M

min

t∈Iu{Fj(t)} · (Y u j − Y u−1 j

)

t

eu eu−1 F u

1

F u

2

min

t∈Iu F1(t)

min

t∈Iu F2(t)

Iu Wu

Philippe Baptiste, Ruslan Sadykov A compact MIP formulation for single machine scheduling

slide-22
SLIDE 22

Interval-indexed formulation

Variables X u

j , Y u j ∈ {0, 1} — whether job j is started (completed) before eu

Wu — length of the idle time in Iu F u

j — difference between the completion time and the border of Iu

NSu, NBu — set of “small” jobs and “big” jobs for Iu Objective min

  • j∈N
  • u∈M

| wu

j | F u j +

  • j∈N
  • u∈M

min

t∈Iu{Fj(t)} · (Y u j − Y u−1 j

) ∀u ∈ M, ∀j ∈ N, F u

j ≥ αX + βY + γW

Philippe Baptiste, Ruslan Sadykov A compact MIP formulation for single machine scheduling

slide-23
SLIDE 23

Tightening interval-indexed formulation

Redundant constraintes. Example : pj ≤ eu − ev : Cj ≤ ev ⇒ Cj ≤ eu (Y u

j ≥ X u j )

Appropriate partition of the time horizon Known order of jobs completed but not necessarily started in the same interval.

Philippe Baptiste, Ruslan Sadykov A compact MIP formulation for single machine scheduling

slide-24
SLIDE 24

Tightening interval-indexed formulation

Redundant constraintes. Example : pj ≤ eu − ev : Cj ≤ ev ⇒ Cj ≤ eu (Y u

j ≥ X u j )

Appropriate partition of the time horizon Known order of jobs completed but not necessarily started in the same interval.

Philippe Baptiste, Ruslan Sadykov A compact MIP formulation for single machine scheduling

slide-25
SLIDE 25

Numerical experiments

Cplex 10.0, standard settings and only standard cuts, 1000 seconds time limit Minimizing total weighted earliness and tardiness with release dates (1 | rj | αjEj + βjTj) — some 15 jobs instances could not be solved (all are solved if number of intervals is small). Minimizing total weighted earliness and tardiness (1 || αjEj + βjTj) — all 15 jobs instances are solved (majority

  • f 20 jobs instances are not solved).

Minimizing total weighted tardiness (1 || wjTj) — all 20 jobs instances are solved (some 30 jobs instances are not solved). Here we need only Y and F variables.

Philippe Baptiste, Ruslan Sadykov A compact MIP formulation for single machine scheduling

slide-26
SLIDE 26

Numerical experiments

Cplex 10.0, standard settings and only standard cuts, 1000 seconds time limit Minimizing total weighted earliness and tardiness with release dates (1 | rj | αjEj + βjTj) — some 15 jobs instances could not be solved (all are solved if number of intervals is small). Minimizing total weighted earliness and tardiness (1 || αjEj + βjTj) — all 15 jobs instances are solved (majority

  • f 20 jobs instances are not solved).

Minimizing total weighted tardiness (1 || wjTj) — all 20 jobs instances are solved (some 30 jobs instances are not solved). Here we need only Y and F variables.

Philippe Baptiste, Ruslan Sadykov A compact MIP formulation for single machine scheduling

slide-27
SLIDE 27

Numerical experiments

Cplex 10.0, standard settings and only standard cuts, 1000 seconds time limit Minimizing total weighted earliness and tardiness with release dates (1 | rj | αjEj + βjTj) — some 15 jobs instances could not be solved (all are solved if number of intervals is small). Minimizing total weighted earliness and tardiness (1 || αjEj + βjTj) — all 15 jobs instances are solved (majority

  • f 20 jobs instances are not solved).

Minimizing total weighted tardiness (1 || wjTj) — all 20 jobs instances are solved (some 30 jobs instances are not solved). Here we need only Y and F variables.

Philippe Baptiste, Ruslan Sadykov A compact MIP formulation for single machine scheduling

slide-28
SLIDE 28

Numerical experiments

Cplex 10.0, standard settings and only standard cuts, 1000 seconds time limit Minimizing total weighted earliness and tardiness with release dates (1 | rj | αjEj + βjTj) — some 15 jobs instances could not be solved (all are solved if number of intervals is small). Minimizing total weighted earliness and tardiness (1 || αjEj + βjTj) — all 15 jobs instances are solved (majority

  • f 20 jobs instances are not solved).

Minimizing total weighted tardiness (1 || wjTj) — all 20 jobs instances are solved (some 30 jobs instances are not solved). Here we need only Y and F variables.

Philippe Baptiste, Ruslan Sadykov A compact MIP formulation for single machine scheduling

slide-29
SLIDE 29

Numerical experiments

Cplex 10.0, standard settings and only standard cuts, 1000 seconds time limit Minimizing total weighted earliness and tardiness with release dates (1 | rj | αjEj + βjTj) — some 15 jobs instances could not be solved (all are solved if number of intervals is small). Minimizing total weighted earliness and tardiness (1 || αjEj + βjTj) — all 15 jobs instances are solved (majority

  • f 20 jobs instances are not solved).

Minimizing total weighted tardiness (1 || wjTj) — all 20 jobs instances are solved (some 30 jobs instances are not solved). Here we need only Y and F variables. Similar performance with the Time-indexed formulation

Philippe Baptiste, Ruslan Sadykov A compact MIP formulation for single machine scheduling

slide-30
SLIDE 30

Conclusions

A new compact MIP formulation for a general machine scheduling problem (size is O(nm) × O(nm)) More efficient in practical situations (few different release/due dates) 4 open practical instances from ILOG [Le Pape, Robert, 07] has been solved (up to 25 jobs) (—) Applicable to small instances only

Philippe Baptiste, Ruslan Sadykov A compact MIP formulation for single machine scheduling

slide-31
SLIDE 31

Conclusions

A new compact MIP formulation for a general machine scheduling problem (size is O(nm) × O(nm)) More efficient in practical situations (few different release/due dates) 4 open practical instances from ILOG [Le Pape, Robert, 07] has been solved (up to 25 jobs) (—) Applicable to small instances only

Philippe Baptiste, Ruslan Sadykov A compact MIP formulation for single machine scheduling