I have to solve a problem on a manufacturing environment where:
- A number of processes with subtasks needs to be scheduled.
- Each subtask need N resources that can be, raw material, workers or machines.
- Some subtasks need a worker with certain skills or from a department.
- Workers are organized in shifts, so it may happen that on a shift certain skill may not be available. *
- A machine can fit N pieces, depending on the piece size and the capacity of the machine. *
- A machine may accept pieces of different types. *
- Machines can be not available on a period as maintenances can happen.
- If the next piece going to the machine is different from the previous one, a new task for maintenance needs to be inserted. *
- If there is no raw material of certain category it can be manufactured, so a new process to manufacture that raw material needs to be inserted before the one that needs it. *
- The processes can have a deadline.
- Some raw materials can be partially consumed, so for example if we have 2L of painting, a subtask require 1L of that painting.
Is this a Job Shop or any variant problem? Is it possible to do with optaplanner? Are there too many constraints for the solver?
I know that the tasks scheduling and the requirements of each subtasks can be done, my biggest concern is with the ones that I have marked with *
Thank you in advance.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…