notes

Advanced Optimisation

Cheatsheet

cheatsheet

cheatsheet

Scheduling Problem

Deals with distributing a set of jobs to machines over time subject to constraints with an objective one or more criterion.

Elements of a scheduling problem (and examples)

Sysmatic Description of the Scheduling Problem

Characteristics of jobs

Machine Environment $\alpha$

Symbol Description
$1$ All jobs need to be served once by single machine.
$P_m$ Each job needs to be served by any of the machines.
$Q_m$ Each job needs to be served by any of the machines. A machine may be faster, and is faster at processing at all of the jobs.
$R_m$ Each job needs to be served by any of the machines. Each machine may process each job at a different speed.
$F_m$ Each job needs to be served by all of the machines, in a specific order.
$FF_c$ $F_m$ but stages may be served by any of many machines of the same stage.
$J_m$ Each job needs served by specific order of the machines, which may be different and may have duplicates (recirculation). (to confirm)
$FJ_c$ $J_m$ but stages may be served by any multiple machines.
$O_m$ Each job needs to be served by any of many machines of the same stage.

taxonomy-machine-environment

Why is $F_m$ not a special case of $O_m$

Processing details and constraints $\beta$

$0$ Jobs only have processing times (which is present in all scheduling problems)

$r_j$ Release dates are given, Due dates are defined in the objective criterion.

$s_{ijk}$ Setup time between job $i$ and job $k$ (on machine $i$). If the setup time between all pairs of jobs all the same, you can incorporate the setup time in the processing time.

$\text{prmp}$ Preemption is allowed. It is possible to interupt the processing of a job on a machine at any point in time and process a different job. When the job is put back later, the machine needs to only spend the remaining processing time. This is defined to not have setup time. This is not a general case of $0$.

$\text{prec}$ Precedence constraints - One or more jobs have to be completed before a job can be started. The precedence constraints can be represented in a directed graph. The directed graph must be acyclic for the problem to have a feasible solution.

Objective criterion $\gamma$

Terminologies

$C_{max} = \max{C_1, …, C_n}$ Make span

$L_{max} = \max{L_1,…,L_n}$ Maximum lateness

$\sum_j C_j$ Sum of completion times

$\sum_j T_j$ Total tardiness

$\sum_j U_j$ Number of tardy jobs

$\sum_j w_j C_j$ Total weighted completion time

$\sum_j w_j T_j$ Total weighted tardiness

$\sum_j w_j U_j$ Weighted number of tardy jobs

Objective \ Variable $C_j$ $L_j$ $T_j$ $U_J$
$\max$     X X
$\sum$   X    
$\sum w$   X    

Objective criterion not considered as they are duplicates

taxonomy-objective-functions

Regular objective functions

Non-regular objective functions

Classes of Schedules

A machine is idle at a time instant if it is not processing any job.

A feasible schedule is non-delay if there is no unforced idleness in the machine at any time instant.

Theorem - For any scheduling instance $\alpha \vert \text{prmp}, \beta \vert \gamma$, where $\gamma$ is a regular objective function, there exists a non-delay schedule among the optimal schedules.

A feasible non-preemptive schedule is active if it is not possible to construct another schedule, through (possible) changes in the order on processing on machines, with at least one operation finishing eariler and no operation finishing later.

For any scheduling instance $J_m   \gamma$, where $\gamma$ is a regular objective function, there exists an active schedule among the optimal schedules.

Single machine scheduling

Homework

Weighted sum of completion times

$1   \sum C_j$ or $1   w_j \sum C_j$

Weighted sum of completion times with job release dates

Number of tardy jobs

Weighted sum of completion times with precedence constraints

Maximum of generic nondecreasing incurred cost

Sum of generic nondecreasing incurred cost

Parallel machine scheduling

Makespan with preemptions

Makespan without preemptions

Flow shop

Permutation Flow Shop Scheduling

permutation-flow-shop-alt

Flow Shop Scheduling

Theorems

$F_2   C_\max$

Job shop

Makespan of job shop on two machines

$J_2   C_\max$

Makespan of job shop on many machines

$J_m   C_\max$

jm-cmax-1

jm-cmax-2

Uncertainty in scheduling

Model of uncertainty

Sum of completion times over uncertain jobs

$1 \tilde{p}_j E(\sum_j w_j \tilde{C}_j)$

Number of uncertain tardy jobs with common due date

$1 d_j = d, \tilde{p}_j E(\sum_j w_j \tilde{U}_j)$

Number of exp-distributed tardy jobs with common due date

$1 d_j = d, \tilde{p}_j \sim \exp(\lambda_j) E(\sum_j w_j \tilde{U}_j)$

Stochastic Scheduling

We want to consider costs involved from various sources.

Healthcare operations

Miscellaneous

Please study the proofs

Questions to answer in a scheduling problem

Elements of dynamic programming

Elements of a integer linear program formuation

Preflight checklist

Proving techniques

Miscellaneous comments and question