PMC Forums  

Go Back   PMC Forums > Simulation > Simulation Analysis
Register FAQ Members List Calendar Search Today's Posts Mark Forums Read

Simulation Analysis simulation software (Arena, AutoMod, Enterprise Dynamics, ProModel, SIMUL8, WITNESS), input and output analysis, experimental design, optimization, simulation model verification and validation

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1 (permalink)  
Old 02-02-2008, 12:35 PM
rwilcox rwilcox is offline
Member
 
Join Date: Jun 2007
Posts: 28
Default Queueing Behaviors

In simulation packages, how is it generally best to model reneging (someone gets mad and leaves the queue) or jockeying (there are multiple lines and someone switches to a line that is or seems to be shorter and/or moving faster)?
Reply With Quote
  #2 (permalink)  
Old 02-07-2008, 12:31 PM
kvasudevan kvasudevan is offline
Member
 
Join Date: Oct 2007
Location: Westland MI
Posts: 15
Default

One way that I would approach the above, is to define an attribute (stamp) on each part called 'Threshold' that holds the reneging time for each part. (reneging time Threshold can be assigned using an acceptable distribution at part entry to make it randomized for each part in the system). Also stamp the part entry time on each part.

Then have a dummy timed loop (a loop that repeats every so many seconds) to check if each part in the queue has stayed longer than threshold. If it has pull it out and send it to exit.

Jockeying is a little more complicated. have an attribute assigned to each part at entry that holds jockeying tendency. I suggest you use a random value b.w 0 and 1.

Run a dummy timed loop to check if one queue is distinctly shorter than the other, if so then scan all the other queues from the back to the length of the shortest queue for a part with the highest jockeying tendency and greater than a threshold (below which parts wont jockey) and make that part travel to the end of the shortest queue.

The above solution may sound vague. If you can tell me which software you are using, I may be able to give you a more specific answer.

Hope this helped.

I will post again if I can come up with an easier/more intelligent logic.

--
Karthik Vasudevan, PMC
Reply With Quote
  #3 (permalink)  
Old 02-07-2008, 12:52 PM
kvasudevan kvasudevan is offline
Member
 
Join Date: Oct 2007
Location: Westland MI
Posts: 15
Default

Here is my improved response... for reneging

Just before each entity enters the queue, stamp id, time of entry and a threshold time on it. Then have it cloned (duplicated) and send the duplicated entity to a dummy queue. Sort the dummy queue by threshold time. The dummy server in front of the dummy Queue then processes the entities for their threshold time. If the dummy server finishes before the actual server services a particular entity then the entity has overstayed its threshold. Hence make the dummy entity trigger order/send the original entity to exit. If the actual entity gets service first then just dispose the dummy entity. Use the id stamp to find the dummy/actual entities.

Hope this solution turns out to be a little less naive.

--
Karthik Vasudevan, PMC
Reply With Quote
  #4 (permalink)  
Old 02-07-2008, 05:46 PM
ewilliams ewilliams is offline
Moderator
 
Join Date: May 2007
Location: Detroit area, Michigan, U.S.A.
Posts: 50
Send a message via Skype™ to ewilliams
Default

KVasudevan's method is correct, and indeed the generally accepted method in Arena (which I teach at University of Michigan - Dearborn). Interestingly, I have just discovered that the Extend simulation software makes modeling of reneging pleasantly easy -- just a checkbox in the Queue block to enable reneging and enter the renege time (the time after which the entity "runs out of patience."
__________________
E. Williams, PMC
Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is Off
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT -4. The time now is 01:04 PM.



Content Relevant URLs by vBSEO 3.0.0