Hi,
Here is some context:
I'm working through a job shop problem with alternatives and ranking. The main customization is that there are groups of jobs that must be done in succession. The order of the jobs within a group of jobs doesn't matter, but the fact that they go in succession is a requirement. My constraints can't seem to support this.
Is there a standard way to set this up? You'll see in my code that I've set up rankings of jobs by machine and I require all the jobs within a group to fall within a certain ranking range to make sure they happen in succession. The ranking is working, but my enforcement of them going immediately after each other. Note, these requirements only come on machine 0 and 1. task 0s only are performed on machine 0 and 1 and all task 1s are performed on machines 2-6. Machine 4 and 6 can perform the same job, so there is an alternative setup. I've allowed a bit of a gap between task 0s and task 1s for the same job as that is acceptable.
Find attached a working example of how I have the problem set up. A visualization is attached as well. In the visual, you can see 40951 is happening in order, but not immediately after each other. The gaps in machine 0 are also unacceptable (exampled in 40958). Basically the only gaps that should exist in machine 0 and 1 are between job groups.
Any pointers or gaps in my solving of the problem would be greatly appreciated.