question

10Dulkar avatar image
0 Likes"
10Dulkar asked Ryan Clark commented

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

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

FlexSim 21.2.2
operatorsdispatcher
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

Ben Wilson avatar image
0 Likes"
Ben Wilson answered Ryan Clark commented

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.

· 6
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

10Dulkar avatar image 10Dulkar commented ·
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 0 ·
Ben Wilson avatar image Ben Wilson ♦♦ 10Dulkar commented ·

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 0 ·
10Dulkar avatar image 10Dulkar Ben Wilson ♦♦ commented ·

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 0 ·
Show more comments
Felix Möhlmann avatar image
0 Likes"
Felix Möhlmann answered

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

1631523482366.png



1631523482366.png (4.3 KiB)
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.