and the provided code do not solve the same optimization problem.
If my interpretation is correct, the code uses matrix times as a map between [job][machine] → processing time. This matches the definition of the input variable p_ij in the documentation: "non-negative integer processing time of job j in machine i"
In the code, times has the following values:
times = [[2, 1, 2],
[1, 2, 2],
[1, 2, 1]]
The documentation defines the processing times as
The processing order for each job is as follows (the processing time of each job in each machine is between parenthesis):
Job 1: m3 (2) → m1 (1) → m2 (2)
Job 2: m2 (1) → m3 (2) → m1 (2)
Job 3: m3 (1) → m2 (2) → m1 (1)
where the pattern of values in parenthesis matches matrix times. However, this pattern is a map between [job][processing step] → processing time.
To match the documentation with its figures to the code, I think times should be
times = [[1, 2, 2],
[2, 1, 2],
[1, 2, 1]]
Can anybody confirm this? Coincidentally, the two problems have the same optimal makespan 7.
Hi,
I think the Job Shop Scheduling Problem described in the documentation on
https://github.com/coin-or/python-mip/blob/master/docs/examples.rst https://docs.python-mip.com/en/latest/examples.html
and the provided code do not solve the same optimization problem.
If my interpretation is correct, the code uses matrix
times
as a map between [job][machine] → processing time. This matches the definition of the input variable p_ij in the documentation: "non-negative integer processing time of jobj
in machinei
"In the code,
times
has the following values:The documentation defines the processing times as
where the pattern of values in parenthesis matches matrix
times
. However, this pattern is a map between [job][processing step] → processing time.To match the documentation with its figures to the code, I think
times
should beCan anybody confirm this? Coincidentally, the two problems have the same optimal makespan 7.