-
Notifications
You must be signed in to change notification settings - Fork 81
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Introduce/extend manufacturing line quickstart with job dependencies #141
Comments
Hello, @mcimbora But this method resulted in a score corruption exception, and I think I know the cause for this exception. For example, Job A is the predecessor job of Job B. In one of the solutions, Job B' startProductionDateTime is later than the endDateTime of Job A, there will be no penalty score. However, when there is a move, changes the endDatetime of Job A, causing it later than the startProductionDateTime of Job B, then a penalty score will be generated. But at this move, all planning variables of Job B never changed, a score correction appeared. So far, I haven't been able to come up with any other ideas for this use case. Would you kindly share any other methods you may have? |
@kentbill I've got a bit different idea to model these dependencies (see screenshot).
|
Hi @mcimbora
In updateStartDateTime method, after getting startCleaningDateTime value, calls the method getMaxPredecessorEndTime, replaces the startCleaningDateTime value if the max predecessor end time is after startCleaningDateTime.
The data are the same as in your example: But I got an UndoMove corruption.
|
@mcimbora I have some concerns about your model. Would you mind explaining it further? Perhaps I haven't fully understood it yet. But if the successor jobs of these jobs are not updated, it is possible that there is a job that may start earlier than the end time of its predecessor job, because its predecessor job end time is moved back. Such as the following image: |
Discussed in TimefoldAI/timefold-solver#385
Originally posted by mcimbora October 31, 2023
Let's say we've got a model similar to this:
The jobs have dependencies between each other (Job can start only after the predecessors are finished). At the same time, the manufacturing line can process a single item at time only. This is a fairly common problem, that causes confusion (should I go for food packaging vs project job scheduling). Ideally the docs explain the differences.
Volunteer to implement this (not critical atm).
The text was updated successfully, but these errors were encountered: