Jump to content

Help requested with my first simulation


nico3337
 Share

Recommended Posts

Hello.

I am a student studying Operations Management at Aalborg university Denmark

I am currently writing a project with a group centering about the queue system of a pharmacy.

They currently have a system where they start opening additional registers when the waiting time for a customer

exceeds 10 minutes. A queue time that does exceed 10 minutes is according to the national association of pharmaceuticals unacceptable.

I would therefore like our simulation to reflect this by opening and closing registers based on the waiting time

so that we can see the effect on number of customers waiting more than 10 minutes if they start opening additional registers once

a customer has waited for example 8 minutes, 6 minutes, 4 minutes and so forth. (to see the effects of trying to prevent long queue times rather than winding them down once they have arisen)

Another requirement is that there are two types of customers where one is "over-the-counter" and the other is prescription customers.

Register one must prioritize OTC customers and take prescription customers if none of the other type is in the store.

the other 6 registers must exclusively serve prescription customers.

additionally I would like the maximum amount of registers to be 5 between 12 to 13 and 14 to 15 as the employees have breaks during these hours.

I am completely new at this program and I have a hard time figuring out how to properly use the features and our professors (even though they are the ones that told us to use simio)

are unfortunately inexperienced in the program too so I decided to come to this forum for help.

I have uploaded the current version of my model as well

Any tips or guides that can help me achieve the functionality I wish for this simulation would be greatly appreciated as we are completely stuck at the moment

Thanks for your time reading and if this is somehow not on the correct sub forum please let me know :D

Pharmacy Model v1.11.spfx

Link to comment
Share on other sites

As I downloaded the model it had an error in the RankingRuleExpression of Cashier 1. This field requires a number and you were giving it an entity type. Instead:

--Set priority of OTCustomer to be 1 and set priority of Prescription customers to 2.

--Set this ranking rule as Smallest Value First with the expression "Entity.priority".

Now, whenever both types of entities are waiting, the OTC will be selected first.


To select from the set of cashiers,

--Create a Node List named Cashiers (graphically or in Definitions tab) containing Input@Cashier7, 6, ...Input@Cashier1. The order matters.

--For your WaitingArea node select:

----EntityDestination: SelectFromList

----NodeListName: Cashiers

----SelectionGoal: Preferred Order (or experiment with other rules)

----SelectionCondition: Candidate.Node.AssociatedObject.Name=="Cashier1" || Entity.Priority==2

The first 3 properties above force all entities to individually select a cashier, starting from bottom to top (selecting Cashier1 only if no others are available). The SelectionCondition says Any entity can select Cashier1 or priority 2 entities can select any cashier.


The BlockedDestinationRule of Select Available Only forces entities to wait at that Waiting_Area node until a Cashier is available. Unfortunately node doesn't have a way of displaying entities that are waiting. If you want to display and control entities I recommend replacing that node with a Server with 0 process time. This is an easy way to provide an output node with a station where entities can wait. Without changing it to a server, entities will wait on the incoming path. Change the AllowPassing option to False on both those paths to see the entities waiting there.


This doesn't solve all your problems but it should give you a good start while not taking away your opportunity to learn (why I gave you instructions instead of a model :lol: )

Link to comment
Share on other sites

×
×
  • Create New...