All published worksheets from http://sagenb.org
Image: ubuntu2004
Job Shop Scheduling
Job shop scheduling is one of the classical problems of operations research. Here we demonstrate job shop scheduling for a simple example using mixed integer linear programming.
The following example comes from Chapter 4 of Christelle Gueret, Christian Prins and Marc Sevaux, "Applications of Optimization with Xpress-MP," Dash Optimization, 2000 (this excellent summary of optimization problems is also available as a free download here.) The example consists of three printing jobs that must be processed on three color printing presses. Due to specific requirements for each job, the jobs pass through the machines in job-specific order and with differing processing times. Jobs cannot be interrupted once processing starts on a particular machine, though jobs my be queued between machines. Data for this example is summarized in the following table: ParseError: KaTeX parse error: Undefined control sequence: \Task at position 29: …{cccc}\mbox{Job\̲T̲a̲s̲k̲} & \mbox{Task …
The objective is to schedule the jobs on the machines to makespan, that is the time necessary to complete all of the jobs, subject to the given constraints.
For the purposes of this example, we manually decompose the data into a pair of python data structures.
Data Set
Make Span Optimization
The classic formulation for this problem was given by Alan S. Manne in "On the Job-Shop Scheduling Problem", Operations Research, Vol. 8, No. 2, pp. 219-223, 1960.