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.
Scheduling.Algorithms.list!
— Method.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).
Scheduling.Algorithms.list
— Method.list(J::Vector{Job}, M::Vector{Machine})
The same as list!
, but it copies the input vectors before the algorithm starts.
Scheduling.Algorithms.spt!
— Method.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).
Scheduling.Algorithms.spt
— Method.spt(J::Vector{Job}, M::Vector{Machine}; weighted = false)
The same as spt!
, but it copies the input vectors before the algorithm starts.
Scheduling.Algorithms.wspt!
— Method.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).
Scheduling.Algorithms.wspt
— Method.wspt(J::Vector{Job}, M::Vector{Machine})
The same as wspt!
, but it copies the input vectors before the algorithm starts.
Scheduling.Algorithms.lpt!
— Method.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).
Scheduling.Algorithms.lpt
— Method.lpt(J::Vector{Job}, M::Vector{Machine}; weighted = false)
The same as lpt!
, but it copies the input vectors before the algorithm starts.
Scheduling.Algorithms.wlpt!
— Method.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).
Scheduling.Algorithms.wlpt
— Method.wlpt(J::Vector{Job}, M::Vector{Machine})
The same as wlpt!
, but it copies the input vectors before the algorithm starts.