McNaughton's Algorithm
This is a function that calculate the schedulation sequence of fixed number of jobs on any number of machines.
McNaughton’s algorithm solves problem
(numberOfProcessors,durationOfJobs),
where a set of independent jobs has to be scheduled on identical processors in order to minimize schedule length. This algorithm consider preemption of the job and the resulting schedule is optimal.
The maximum length of task schedule is Makespan that can be defined as maximum of this two values:
max (averageDurationOnProcessors ,moreLongJob).
At first we calculate the Makespan and then we create a matrix where every elements is zero, in which the program writes the duration of jobs processed by that processor.
The number of lines is the number of processors, while every element of the matrix is, like I wrote before, the time of every job processed by every processor.
At the end the program show a figure where there is the Gant of every processor.
Example
McNaughton(2,[2,1,3,4,])
where 2 are the processors, and [2,1,3,4,] is the vector of the duration of job.
The solution is that one:
2 1 2 0
1 4 0 0
Cite As
Lorenzo (2026). McNaughton's Algorithm (https://www.mathworks.com/matlabcentral/fileexchange/24148-mcnaughton-s-algorithm), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
