Use of arrival list

All topics on the Atoms in any Enterprise Dynamics Library.
Post Reply
Bogey
Posts: 1
Joined: Tuesday 09 December, 2014 - 21:17

Use of arrival list

Post by Bogey »

Hello,
I have 3 trucks arriving in to a warehouse per hour Poisson distribution). Each is carrying 20 pallets. They are unloaded by a transporter and transported to a receiving zone.

Can I use 3 arrival lists for each truck with according queues?
If I can what should I put in to their repeat strategy (Poisson(24) cause there are 24 trucks per day for arrival list or something else?.

Every bit of advice helps. Thanks!
User avatar
HarryBunnik
Posts: 362
Joined: Monday 07 February, 2011 - 11:22

Re: Use of arrival list

Post by HarryBunnik »

Hello,

What exactly do you want to use the Arrival list for? For the pallets that are stored in the truck, or the arrival of the trucks?

If it is the second one, you could fill the arrival list on code using an initialize atom. Because I understand you have 3 trucks and hour and 24 trucks in a day. So that is from, lets say, 9 to 5. So you need to fill the list anyway for an entire day, otherwise your repeat will not work correctly.

If your write some code (it's a setup and won't work correctly yet, but hopefully gives an idea):

Code: Select all

Do(
  var([atmArrivalList], vbAtom, ATomByName([ArrivalList2], model)), 
  var([valCurTime], vbValue, hr(9)), {StartTime}
  var([valRowCounter], vbValue), 
 
  nRows(atmArrivalList) := 24, 
  
  Repeat(
    8, {8 hours}
    Do(
     
      Repeat(
        3,  {3 trucks an hour}
        Do(
          valRowCounter := inc(valRowCounter), 
          Cell(valRowCounter, 1, atmArrivalList) := valCurTime + Mins(Poisson(30, 1)),         {ArrivalTime, Make sure it results in values within one hour}
          Cell(valRowCounter, 1, atmArrivalList) := Concat([Truck_], string(valRowCounter)),   {Atom name}
          Cell(valRowCounter, 1, atmArrivalList) := 1,                                         {Quantity}      
          Cell(valRowCounter, 1, atmArrivalList) := 1                                          {Channel}
        )
      ), 
      valCurTime := valCurTime + hr(1)
    )
  ), 
  {The arrival times are not sorter correctly. This is done here}
  SortTable(c, 1, 1, 1, 1)
)
If your repeat the table every 24 hr and also use a modulo to re-run this code on the OnExit trigger of the ArrivalList If(mod(input(c), 24) = 0, re-run code), you have a different arrival pattern every day.

I hope it gives some inspiration ;)

Cheers,

Harry
Post Reply