Skip to content

JSSP documentation and examples/jssp.py do not solve the same problem #147

@k-igeta

Description

@k-igeta

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 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationEverything that is related to documentation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions