# Stochastic scheduling

Stochastic scheduling concerns scheduling problems involving random attributes, such as random processing times, random due dates, random weights, and stochastic machine breakdowns. Major applications arise in manufacturing systems, computer systems, communication systems, logistics and transportation, and machine learning, among others.

## Introduction

The objective of the stochastic scheduling problems can be regular objectives such as minimizing the total flowtime, the makespan, or the total tardiness cost of missing the due dates; or can be irregular objectives such as minimizing both earliness and tardiness costs of completing the jobs, or the total cost of scheduling tasks under likely arrival of a disastrous event such as a severe typhoon.
The performance of such systems, as evaluated by a regular performance measure or an irregular performance measure, can be significantly affected by the scheduling policy adopted to prioritize over time the access of jobs to resources. The goal of stochastic scheduling is to identify scheduling policies that can optimize the objective.
Stochastic scheduling problems can be classified into three broad types: problems concerning the scheduling of a batch of stochastic jobs, multi-armed bandit problems, and problems concerning the scheduling of queueing systems . These three types are usually under the assumption that complete information is available in the sense that the probability distributions of the random variables involved are known in advance. When such distributions are not fully specified and there are multiple competing distributions to model the random variables of interest, the problem is referred to as incomplete information. The Bayesian method has been applied to treat stochastic scheduling problems with incomplete information.

## Scheduling of a batch of stochastic jobs

In this class of models, a fixed batch of $n$ jobs with random process times, whose distributions are known, have to be completed by a set of $m$ machines to optimize a given performance objective.
The simplest model in this class is the problem of sequencing a set of $n$ jobs on a single machine to minimize the expected weighted flowtime. Job processing times are independent random variables with a general distribution $G_{i}(\cdot )$ with mean $p_{i}$ for job $i$. Admissible policies must be nonanticipative (scheduling decisions are based on the system's history up to and including the present time) and nonpreemptive (processing of a job must proceed uninterruptedly to completion once started).
Let $w_{i}\geq 0$ denote the cost rate incurred per unit time in the system for job $i$, and let ${\tilde {C}}_{i}$ denote its random completion time. Let $\Pi$ denote the class of all admissible policies, and let $E_{\pi }[\cdot ]$ denote expectation under policy $\pi \in \Pi$. The problem can be stated as
$\min _{\pi \in \Pi }w_{1}E_{\pi }[{\tilde {C}}_{1}]+\cdots +w_{n}E_{\pi }[{\tilde {C}}_{n}].$
The optimal solution in the special deterministic case is given by the Shortest Weighted Processing Time rule of Smith: sequence jobs in nonincreasing order of the priority index $w_{i}p_{i}$. The natural extension of Smith's rule is also optimal to the above stochastic model.
In general, the rule that assigns higher priority to jobs with shorter expected processing time is optimal for the flowtime objective under the following assumptions: when all the job processing time distributions are exponential; when all the jobs have a common general processing time distribution with a nondecreasing hazard rate function; and when job processing time distributions are stochastically ordered.

## Multi-armed bandit problems

Multi-armed bandit models form a particular type of optimal resource allocation (usually working with time assignment), in which a number of machines or processors are to be allocated to serve a set of competing projects (termed as arms). In the typical framework, the system consists of a single machine and a set of stochastically independent projects, which will contribute random rewards continuously or at certain discrete time points, when they are served. The objective is to maximize the expected total discounted rewards over all dynamically revisable policies.
The first version of multi-bandit problems was formulated in the area of sequential designs by Robbins (1952). Since then, there had not been any essential progress in two decades, until Gittins and his collaborators made celebrated research achievements in Gittins (1979), Gittins and Jones (1974), Gittins and Glazebrook (1977), and Whittle (1980) under the Markov and semi-Markov settings. In this early model, each arm is modeled by a Markov or semi-Markov process in which the time points of making state transitions are decision epochs. The machine can at each epoch pick an arm to serve with a reward represented as a function of the current state of the arm being processed, and the solution is characterized by allocation indices assigned to each state that depends only on the states of the arms. These indices are therefore known as Gittins indices and the optimal policies are usually called Gittins index policies, due to his reputable contributions.
Soon after the seminal paper of Gittins, the extension to branching bandit problem to model stochastic arrivals (also known as the open bandit or arm acquiring bandit problem) was investigated by Whittle (1981). Other extensions include the models of restless bandit, formulated by Whittle (1988), in which each arm evolves restlessly according to two different mechanisms (idle fashion and busy fashion), and the models with switching costs/delays by Van Oyen et al. (1992), who showed that no index policy is optimal when switching between arms incurs costs/delays.

## Scheduling of queueing systems

Models in this class are concerned with the problems of designing optimal service disciplines in queueing systems, where the jobs to be completed arrive at random epochs over time, instead of being available at the start. The main class of models in this setting is that of multiclass queueing networks (MQNs), widely applied as versatile models of computer communications and manufacturing systems.
The simplest types of MQNs involve scheduling a number of job classes in a single server. Similarly as in the two model categories discussed previously, simple priority-index rules have been shown to be optimal for a variety of such models.
More general MQN models involve features such as changeover times for changing service from one job class to another (Levy and Sidi, 1990), or multiple processing stations, which provide service to corresponding nonoverlapping subsets of job classes. Due to the intractability of such models, researchers have aimed to design relatively simple heuristic policies which achieve a performance close to optimal.

## Stochastic scheduling with incomplete information

The majority of studies on stochastic scheduling models have largely been established based on the assumption of complete information, in the sense that the probability distributions of the random variables involved, such as the processing times and the machine up/downtimes, are completely specified a priori.
However, there are circumstances where the information is only partially available. Examples of scheduling with incomplete information can be found in environmental clean-up, project management, petroleum exploration, sensor scheduling in mobile robots, and cycle time modeling, among many others.
As a result of incomplete information, there may be multiple competing distributions to model the random variables of interest. An effective approach is developed by Cai et al. (2009), to tackle this problem, based on Bayesian information update. It identifies each competing distribution by a realization of a random variable, say $\Theta$. Initially, $\Theta$ has a prior distribution based on historical information or assumption (which may be non-informative if no historical information is available). Information on $\Theta$ may be updated after realizations of the random variables are observed. A key concern in decision making is how to utilize the updated information to refine and enhance the decisions. When the scheduling policy is static in the sense that it does not change over time, optimal sequences are identified to minimize the expected discounted reward and stochastically minimize the number of tardy jobs under a common exponential due date. When the scheduling policy is dynamic in the sense that it can make adjustments during the process based on up-to-date information, posterior Gittins index is developed to find the optimal policy that minimizes the expected discounted reward in the class of dynamic policies.