List algorithms

List algorithms

The Scheduling.jl package provides a set of algorithms based on well-known priority rules. These algorithms are designed for scheduling on identical parallel machines.

list!(J::Vector{Job}, M::Vector{Machine})

Schedules jobs in the order of their appearance in the J vector. If more than one machine can be selected, it selects the machine which is first in the M vector. This algorithm works on original J and M vectors which are also returned with the resulting schedule. In order to use copies, see list.

This algorithm is based on the following job parameters: p (processing time).

source
list(J::Vector{Job}, M::Vector{Machine})

The same as list!, but it copies the input vectors before the algorithm starts.

source
spt!(J::Vector{Job}, M::Vector{Machine}; weighted = false)

Schedules jobs in the order of their processing times, starting with the shortest one. If weighted is set to true, then the sorting will be weighted. This algorithm works on original J and M vectors which are also returned with the resulting schedule. In order to use copies, see spt.

This algorithm is based on the following job parameters: p (processing time), w (weight).

source
spt(J::Vector{Job}, M::Vector{Machine}; weighted = false)

The same as spt!, but it copies the input vectors before the algorithm starts.

source
wspt!(J::Vector{Job}, M::Vector{Machine})

Schedules jobs in the order of their processing times to weight ratios, starting with the lowest one. This algorithm works on original J and M vectors which are also returned with the resulting schedule. In order to use copies, see wspt.

This algorithm is based on the following job parameters: p (processing time), w (weight).

source
wspt(J::Vector{Job}, M::Vector{Machine})

The same as wspt!, but it copies the input vectors before the algorithm starts.

source
lpt!(J::Vector{Job}, M::Vector{Machine}; weighted = false)

Schedules jobs in the order of their processing times, starting with the largest one. If weighted is set to true, then the sorting will be weighted. This algorithm works on original J and M vectors which are also returned with the resulting schedule. In order to use copies, see lpt.

This algorithm is based on the following job parameters: p (processing time), w (weight).

source
lpt(J::Vector{Job}, M::Vector{Machine}; weighted = false)

The same as lpt!, but it copies the input vectors before the algorithm starts.

source
wlpt!(J::Vector{Job}, M::Vector{Machine}; copy = false)

Schedules jobs in the order of their processing times to weight ratios, starting with the highest one. This algorithm works on original J and M vectors which are also returned with the resulting schedule. In order to use copies, see wlpt.

This algorithm is based on the following job parameters: p (processing time), w (weight).

source
wlpt(J::Vector{Job}, M::Vector{Machine})

The same as wlpt!, but it copies the input vectors before the algorithm starts.

source