Hi SAS Community ! For my final year work in operations management, I work with SAS Simulation Studio 15.1 to model the flow of an assembly workshop. My problem concerns the management of the operators' work schedule. (Note : annotations and ressources types are in french). The work consists in assembling a kit of parts (“PIECES” resource) on a shaft (“ARBRE” resource), passing through three assembly stations in this order: Primary assembly (MP) – operating time 31.8min - capacity 3 operators. Final assembly (MF) - operating time 46.8min - capacity 4 operators. Crating (MC) - operating time 22.2min - capacity 2 operators. An operator (“OPS MONTAGE” resource) assembles these two resources. All these resources are supported by the entity named “OF”. At the end of the operations, the OPS MONTAGE resource returns to the beginning of the model to be used again. The rest is destroyed and counted in order to have the number of modules produced. The simulation time is 64,800min, which corresponds to 10 weeks of work. A workweek of 6,480min takes place according to this program: Day 1st shift 2nd shift Night Monday 480 480 480 Tuesday 420 420 600 Wednesday 420 420 600 Thursday 420 420 480 Friday 420 420 0 Saturday 0 0 0 Sunday 0 0 0 Total 2160 2160 2160 Ops scheduled 6 6 5 6 operators are required for the first and second shifts, but only 5 during the night. So I programmed a schedule for the control of shifts : Despite many attempts to program the agenda, each time, my operators are still 6 when they must be 5. In the example below, I must have 5 operators between time 2280 and 2760. However, at time 2328 I still have 6 operators. I think it is because the “operator resource” must return to the "resource pool block” before being impacted by the agenda. I have already tried to make several “exits” between the assembly stations but without success. To summarize, my question is as follows: How can we get the right number of operators, exactly when we need them? In practice, if an operator does not have time to complete the next operation, he should not start it. Ideally, the model should anticipate the shift by preventing entities from going into the next blocks if there is not enough time to perform the next operation before the shift takes place. I look forward to receiving appropriate assistance and thank you for your consideration.
... View more