Replies: 2 comments 1 reply
-
I got an approach, I don't know if it's feasible, I'll try it out. |
Beta Was this translation helpful? Give feedback.
-
I would say you should implement only one of perspective as a chain of tasks - the Job perspective with delay between tasks as planning variable. In order to mark production line as affected you can use dummy piggyback shadow variable in production line class you touch on each change of task for that line. "Touch" means do before/afterVariableChange call in your listener but keep variable value the same. This would not cause score corruption and have all necessary constraint checks triggered. |
Beta Was this translation helpful? Give feedback.
-
Hi, there.
I want to implement my scenario based on the Food Packaging example in QuckStarts, a scenario similar to Project Job Scheduling on OptaPlanner - some jobs belong to a project and a job cannot be started before its predecessor jobs are finished, so, if I add these predecessor/successor job relationships to the Food Packaging example, I don't know if it is feasible, but I think it will cause a Listener Corruption.
Below is a figure for this situation,
From the perspective of the production lines. In Line 1, Job2/Project2 is the previous job of Job2/Project1. In Line 2, Job1/Project1 is the previous job of Job1/Project3 .
From the perspective of project and job, Job1/Project1 is the predecessor job of Job2/Project1.
When updating the startTime of Job1/Project1, both Job1/Project3 (the next job) and Job2/Project1 (successor job) need to be updated. But when updating Job2/Project1, a listener corruption should be occur because both its ShadowVariable "line" - Line 1, and "previousJob" - Job2/Project2 are never changed.
How to achieve the predecessor/successor relationship of jobs in a project?
Many thanks.
Beta Was this translation helpful? Give feedback.
All reactions