workerpool with variable crew, crew size and services they can provide.

workerpool with variable crew, crew size and services they can provide.

10Dulkar
Not applicable
124 Views
8 Replies
Message 1 of 9

workerpool with variable crew, crew size and services they can provide.

10Dulkar
Not applicable

[ FlexSim 21.2.2 ]

i want to create a worker pool that will create operators and assign them service(s) they can provide. So so the number of the crew may vary from project to project, the size of each crew might vary and the service they provide might also vary. I am using a table as an input and then creating the number of operators and assigning them the services and crew name. However, i feel like this is not an efficient solution. I haven't still not figured how I will connect the newly created operators to the dispatcher automatically.

the other solution is to use parameters but I think parameters can only control the size of the crew, it cannot create a new crew completely.

So I was wondering if you have any other solution. Please let me know


@Matthew Gillespie

0 Likes
Accepted solutions (1)
125 Views
8 Replies
Replies (8)
Message 2 of 9

moehlmann_fe
Explorer
Explorer

You can use the "contextdragconnection" command to create connections between dispatchers and the created operators.

1631523482366.png


0 Likes
Message 3 of 9

Ben_WilsonADSK
Community Manager
Community Manager
Accepted solution

Regarding your other thought "the other solution is to use parameters but I think parameters can only control the size of the crew, it cannot create a new crew completely."

For that case you would create the max number of operators up front, and connect them all to the dispatcher. You would use a parameter and a user event such that at time zero any operators over your current desired crew size defined by your parameter have their input ports closed. In this way they will not receive tasks from the dispatcher.

0 Likes
Message 4 of 9

10Dulkar
Not applicable
Thanks for your comment. I already figured out a way to create number of Operators and then run an algorithm in dispatcher on reset to give them the attribute Crewname. So based on the worker pool i am able to create operators from one dispatcher.

Can you help me to pull the operator based on the label of operator i.e. CrewName at any processor.


So flowitem.Crewname=Crew1 and processor will read this attribute and only pull the operator who belongs to Crew1 i.e. by operator.CrewName=Crew1. Is it possible?

0 Likes
Message 5 of 9

Ben_WilsonADSK
Community Manager
Community Manager

I assume you want the first available member of Crew1 (or whatever crew is specified by the flow item's label)?

Is each crew connected to a distinct dispatcher?

Please describe your setup in greater detail, or provide a sample model. Closing inputs on unused crew members at time zero could still be a valid option.

0 Likes
Message 6 of 9

10Dulkar
Not applicable

Hi Ben,

So i have one dispatcher and I created 10 operators. I ran a program to distribute those 10 operators to different crew. For example

1st 3 Operators belongs to "Crew1" and assigned an attribute/label CrewName="Crew1" to operators.

next 2 Operators belongs to "Crew2"and assigned an attribute/label CrewName="Crew2" to operators.

remaining 5 belongs to "Crew3". and assigned an attribute/label CrewName="Crew3" to operators.


They all belong to one dispatcher. Hence when i call them by label FlexSim should read the attribute from the flowitem.CrewName and pull the Free Operator which has the label CrewName=="Crew1".

I believe process flow should be able to resolve this issue but not sure how. Let me knw if there is any other way to achieve the same objective.

0 Likes
Message 7 of 9

ryan_c10
Not applicable

Hi @sachin T3,

Process flow would certainly be able to accomplish your desired objective. The easiest way to do it would be to have a setup like the one I have in the example model I've attached here: Variable Crew Demo.fsm

The process flow serves to detect when items are ready to be picked up by the operators, and then a series of Decide activities sends the token and associated item to acquire an operator of the correct group. Instead of having the operators' crew name on a label, I assigned them to groups. Then, each token creates a task sequence for its assigned operator where it goes and picks up the item. And the process repeats whenever a new item enters the input queues.

Using this method, you actually don't need the Dispatcher since that logic is all taken care of in process flow.

I hope this helps! Let us know if you have further questions!

0 Likes
Message 8 of 9

10Dulkar
Not applicable
thank you Ryan. this is perfect. I checked and it suffices all the requirements. I will modify it a little bit to make it more automated and service based but this is great. this is what i wanted.
0 Likes
Message 9 of 9

ryan_c10
Not applicable
Excellent! Glad to help!
0 Likes