I have a problem with optimized time calculation
I have multiple machines in my environment, lets say A,B,C,D,E and all of them have different capacities lets say 1,3,2,5,1 and I have multiple machines of same kind lets say i have A:1, B:2, C:2, D:1, E:3 machines
Now using these machines i want to create components which goes through a series of process, and the process involves these machines lets say I have Steps like S1, S2, S3, S4, S5. and they use S1:A, S2:A, S3:D, S4:B, S5:E (all the machines in the env is not used, one machine can be used in multiple steps)The component creation is in batch wise therefore, the components must go through all the steps sequentially, now I want to make the output of the previous process to be the input, so that all the steps run parallelly and none of the machine is kept idle, if the machine is already in use for any of the previous process then the component production must wait until the machine is available to use, and one machine cant be used for different steps until and unless all the components of that batch goes through this process
I want to create a model where, once the component enters a steps say step1 it should look at the capacity of the machine used in step2, once the number of components that completed step1 matches the capacity of the machine in next step, next step must be excecuted parallelly
As of now, I'm able to get the time required only when all the components finishes the step1 it will go to the next step
I made a process that grabs a component from a queue, then launches a sub task for each item in the component, then waits for all the item sub task to finish before sending the item to the next station/task.
Note where I use a yield, and where I do not use a yield.