Question about "Reneging"

Question about "Reneging"

Postby xampion » Sun Dec 30, 2012 4:04 pm

Hello everyone

I'am making a simulation of a restaurant and in the paper work it is written that if the customer waits more than 30 minutes to be seated, he'll leave the restaurant. 60% will try again and come back to the queue 20 minutes later and 40% will leave and won't come back.

I did this, making an activity to manage this process (it will receive customers that wait more than 20 minutes in the queue to be seated, and then I put an activity to receive 60% of the total and through an arrow they will come back to the queue to be seated again, and the rest (40%) to an exit point.

But now, I would like to say to SIMUL8 that the 60% of the customers that come back again to the queue will be willing to wait 30 more minutes, but if they stay in the queue more than 30 minutes again, they will leave definitively without trying again, that is, the activity that manage the process of reneging will know that some of them have already wait 2 times (30 minutes each), so it will conduct these persons to the exit point because they don't want to try again and they do want to leave.

How can I say this to SIMUL8?

Thank you for your attention, and I hope that someone knows how to do it

Kind Rergards
Xampion

Postby jholtman » Tue Jan 01, 2013 5:56 pm

What you can do to handle the case where if a customer returns for a second time and still does not get seated that they will then permanently leave, you can have a label to the work item representing the customer that has an initial value of one and is incremented any time that customer has waited 30 min. and has not been seated and is being "recycled". I am assuming that you're using the shelf life time of a storage bin to detect when someone has been in that storage bin for 30 min. and is now going to leave.

So the workcenter that will be accepting expired work items from the storage bin will have an operation time of 20 min. which will represent the delay before coming back into the system. You also set the replication of this workcenter to a large number so that it is able to handle all the customers that have exceeded the 30 min. time. It is in this workcenter that there will be VL code that will check the value in the label which represents the number of times this work item has been recycled. If this value is 2, it will set the value of a label that is used as the label based routing from this workcenter to a value of 2; this will represent the route to completely exit the model.

If the value of the recycle label is 1, you can either generate a random number and if it is less than 0.6, to set the routing label the 1 which will recycle the work item; otherwise it is set to 2 representing that the work item should exit the model.

So hopefully this will give you an idea of how to set up the model to handle this condition.
Jim Holtman
Data Munger Guru
jholtman (at) gmail (dot) com
What is the problem you are trying to solve?
Tell me what you want to do, not how you want to do it.

Postby xampion » Tue Jan 01, 2013 8:11 pm

jholtman wrote:What you can do to handle the case where if a customer returns for a second time and still does not get seated that they will then permanently leave, you can have a label to the work item representing the customer that has an initial value of one and is incremented any time that customer has waited 30 min. and has not been seated and is being "recycled". I am assuming that you're using the shelf life time of a storage bin to detect when someone has been in that storage bin for 30 min. and is now going to leave.

So the workcenter that will be accepting expired work items from the storage bin will have an operation time of 20 min. which will represent the delay before coming back into the system. You also set the replication of this workcenter to a large number so that it is able to handle all the customers that have exceeded the 30 min. time. It is in this workcenter that there will be VL code that will check the value in the label which represents the number of times this work item has been recycled. If this value is 2, it will set the value of a label that is used as the label based routing from this workcenter to a value of 2; this will represent the route to completely exit the model.

If the value of the recycle label is 1, you can either generate a random number and if it is less than 0.6, to set the routing label the 1 which will recycle the work item; otherwise it is set to 2 representing that the work item should exit the model.

So hopefully this will give you an idea of how to set up the model to handle this condition.
Jholtman, thanks a lot for your help, and I got the point about what have you said. The queue has the expire only activated as you mentioned and it will send to the work item, those who have waited more than 30 minutes, although I have one activity (called reneging management) which receive that people with a distribution of Fixed equal to Zero and in the routing out I put 20% to leave permanently and the other 80% will be sent to the activity (called injection management) that you mentioned which is replicated by 100 , with 20 minutes in the respective distribution.
So, I have to create a label (incremented) which is imputed in which activity in this case? And I have to put a Visual Logic code, right? I have some difficulties with that.
Thank you very much for your help Jholtman, Would you like to see my file? A part of this, I have 2 more questions to place about this work:

If I put activities pretending that are operators receiving calls for instance, I can put them with interrupts to smoke a cigarette or something else. In this work I put employees as resources that are required in the tables to receive the orders. Can I put interrupts on the resources as well? And the other one, is that I created groups to limited to number of clients in the tables, that is, I have work items as regards the tables, seating, placing an order and eating and I limited as regards the number of tables that I have available (50). So, if I put 50 as the limit this means that the system only allows an entrance of more people when this 50 have left or if one leave, another can get in the system?

Sorry about this questions, it might be a little bit confuse

Thanks a lot

Kind Regards
Xampion

Postby jholtman » Wed Jan 02, 2013 1:27 am

If you want to be able to limit a person from going back only once if they exceed the 30 min. wait time, then you will have to have a label work item representing the customer to indicate how many times they have been through this loop. You would actually do this checked at the workcenter which gets the "expired" work items from the queue where they are waiting for service. You would have initialized to one at the initial entry of the work item into the system, and then in the expired workcenter in the "after selecting" VL code you can check the value of this label. If it is 1, then this is the first time for the customer through this situation, and you can increment the value of the label to 2 and then determine how you want to route this work item out (you indicated that 80% would go back and try again).

One way of modeling the number of tables available is to have a workcenter that is replicated 50 times (representing the number of tables available), so if a table is available, the workcenter will accept an item from the queue and can processing.

Now this is a simplified view assuming that all the activity can be represented by this one workcenter representing the table. If on the other hand there are a number of separate operations that may take place (ordering drinks, ordering food, ordering dessert, etc.), then you might want to consider grouping a number of these objects together which represents the complete flow of activities for these 50 tables. If you have defined these acid group, you can limit the group to have a maximum of 50 work items and it and this will do the same thing in controlling the number of people who are now actively being served.

So there are a number of possible ways that you might want to implement the model depending upon the exact set of criteria/activities that you are trying to model.

You can also model this using resources in the work item is to go through a number of different work centers by in the first workcenter obtaining the resource but not releasing it, and then in all the other subsequent work centers you don't even have to mention the resource because the resources being carried along with the work item, and then in the last workcenter of the set of activities you would release the resource. This is another way of limiting the number of work items that are occupying tables.
Jim Holtman
Data Munger Guru
jholtman (at) gmail (dot) com
What is the problem you are trying to solve?
Tell me what you want to do, not how you want to do it.

Postby xampion » Wed Jan 02, 2013 8:46 am

Jholtman, many thanks for your answer, I just have one more question. I have already created the label, set to 1 in the work entry points, and in the work item that receive the "Expire only" I put increment, so, the next time that the work item enter in here it will be incremented by 1. My question is about How can I say this to Visual Logic?. I don´t find "after selecting". I was thinking to resort to Visual Logic on Routing out of the work item that receive the expired items. Then (IF, on exit), I would set the criteria, saying that if it is one, go back to the system (I don´t need to say to increment because the label does that automatically, right?) and if it is 2, go directly to the bin (Leave permanently). Can you help me, how to model this?

Kind Regards
Xampion

Postby jholtman » Thu Jan 03, 2013 9:09 pm

Send an email to my address so I can return an example. The ' after selecting' is in the routing in tab.
Jim Holtman
Data Munger Guru
jholtman (at) gmail (dot) com
What is the problem you are trying to solve?
Tell me what you want to do, not how you want to do it.

Re: Question about "Reneging"

Postby sikayena26 » Mon May 07, 2018 4:04 am

Hello, I also ave a question about reneging,

how do i insert a triangular distribution inside the shelf life? or if that is not possible how can i do this using a label?

this is what i am trying to do based on this action:
• Donors first arrive at a reception desk, currently manned by a single receptionist. Data has been collected but not statistically analysed with regard to the time it takes to collect a donor’s details. This data has been provided by Dr Ho in an Excel file for you to decipher. You will need to determine an appropriate distribution to use (e.g. using Stat::Fit). It should be noted that donors waiting in the queue for a receptionist have a finite “shelf life.” That is, they will leave if they have been waiting too long; this is normally referred to as “reneging.” The amount of time before a donor reneges is thought to be about 20 minutes, but may be as little as 12 minutes for some people and up to 40 minutes maximum for others.

thank you for the help. :D


Return to “SIMUL8 Cafe”