Advanced Transport to follow an empirical distribution

All topics specific to modeling questions in Enterprise Dynamics
Post Reply
Simulerings Mads
Posts: 4
Joined: Monday 11 April, 2022 - 12:00

Advanced Transport to follow an empirical distribution

Post by Simulerings Mads »

Hello community

I am modelling a system where I have :

⁃ One advanced transporter
⁃ 2500 sources (product locations)
⁃ Each source generates a random number between 0-100
⁃ One source that generates a container with a random number between 0-100 (starting point)
⁃ One sink
⁃ An imperial distribution table
⁃ Column 1: Accumulative probability that the product location is the next line to be picked
⁃ Column 2: Names of each source (the product location)

I want the advanced transporter to read the random generated values from the products/container and connect the values to column 1 in the imperical distribution table and send the advanced transporter to the corresponding product location in column 2.
How do I connect the random generated number with the imperical distribution table, so that the advanced transporter continually picks from random locations?

Note: I am new to Enterprise Dynamics, and in no way certain that this is the correct approach or even possible.

Kind Regards
Mads
User avatar
HarryBunnik
Posts: 362
Joined: Monday 07 February, 2011 - 11:22

Re: Advanced Transport to follow an empirical distribution

Post by HarryBunnik »

Ha Mads,

Welcome to the community.

Could you describe in a bit more detail what you try to achieve because using 2500 sources sounds a bit heavy? And not as the way I would normally do something. But perhaps you have a good reason, which I simply don't see yet.

Gr. Harry
Simulerings Mads
Posts: 4
Joined: Monday 11 April, 2022 - 12:00

Re: Advanced Transport to follow an empirical distribution

Post by Simulerings Mads »

Hey Harry

We're simulating a picking process in a warehouse. We have come a bit further and found that using queues works better as our racks (2500). We have a source that sends 20-30 products to a server.

We have a source [/b]with:
- Inter arrival time: 140
- Trigger on exit: Label([OrderSize],i) := duniform(20,30)

Wich is connected to a server with:
- Trigger on exit: Label([Rack], i) := Likelihood2 (a empirical distribution table)

The server is connected to a Queue with:
- Send to: Label([Rack], first(c))
- Queue discipline: 4. Sort by Label Ascending: The atoms with the lowest value of the label named Rack are put in front
- Trigger on entry: do( Label([CurOrderSize],c) := Label([OrderSize],i), if( Label([CurOrderSize],c) = content(c), openoutput(c), closeoutput(c) ) )

The queue is linked to 118 queues that function as racks in the warehouse. Which preferably needs to be upscaled to 2500 racks
the 118 racks are also linked to a dispatcher. The dispacthers is connected to a Advanced transporter that is running on a network which is connect to the 118 racks and a sink. The Advanced Transporter has the following settings:
- Load quantity: Label([OrderSize],first(c))

We want the advaned transporter to pick the given ordersize from the 118 racks, and then offload the whole batch, when the last product has been picked in the given ordersize.

We get the following error message from the error monitor when we run the simulation:
1 Outputchannel 116 not connected -> Queue (AtomID: 12), EVENT: OnOcReady (Ln: 3, Col: 3) "MoveRequest" | Time: 0, c: Distributor (AtomID: 204), i: 01.10.10 (AtomID: 280), OnOcReady, EventCode: 1
2 Outputchannel 116 not connected -> Queue (AtomID: 12), EVENT: OnOcReady (Ln: 3, Col: 3) "MoveRequest" | Time: 0, c: Distributor (AtomID: 204), i: 01.10.13 (AtomID: 209), OnOcReady, EventCode: 1
3 Outputchannel 116 not connected -> Queue (AtomID: 12), EVENT: OnOcReady (Ln: 3, Col: 3) "MoveRequest" | Time: 0, c: Distributor (AtomID: 204), i: 01.10.12 (AtomID: 279), OnOcReady, EventCode: 1
4 Outputchannel 116 not connected -> Queue (AtomID: 12), EVENT: OnOcReady (Ln: 3, Col: 3) "MoveRequest" | Time: 0, c: Distributor (AtomID: 204), i: 01.10.15 (AtomID: 208), OnOcReady, EventCode: 1
5 Outputchannel 116 not connected -> Queue (AtomID: 12), EVENT: OnOcReady (Ln: 3, Col: 3) "MoveRequest" | Time: 0, c: Distributor (AtomID: 204), i: 01.10.14 (AtomID: 278), OnOcReady, EventCode: 1
6 Outputchannel 116 not connected -> Queue (AtomID: 12), EVENT: OnOcReady (Ln: 3, Col: 3) "MoveRequest" | Time: 0, c: Distributor (AtomID: 204), i: 01.10.17 (AtomID: 207), OnOcReady, EventCode: 1
7 Outputchannel 116 not connected -> Queue (AtomID: 12), EVENT: OnOcReady (Ln: 3, Col: 3) "MoveRequest" | Time: 0, c: Distributor (AtomID: 204), i: 01.10.16 (AtomID: 277), OnOcReady, EventCode: 1
8 Outputchannel 116 not connected -> Queue (AtomID: 12), EVENT: OnOcReady (Ln: 3, Col: 3) "MoveRequest" | Time: 0, c: Distributor (AtomID: 204), i: 01.10.19 (AtomID: 206), OnOcReady, EventCode: 1
9 Outputchannel 116 not connected -> Queue (AtomID: 12), EVENT: OnOcReady (Ln: 3, Col: 3) "MoveRequest" | Time: 0, c: Distributor (AtomID: 204), i: 01.10.18 (AtomID: 276), OnOcReady, EventCode: 1
10 Outputchannel 116 not connected -> Queue (AtomID: 12), EVENT: OnOcReady (Ln: 3, Col: 3) "MoveRequest" | Time: 0, c: Distributor (AtomID: 204), i: 01.10.20 (AtomID: 275), OnOcReady, EventCode: 1
11 Outputchannel 116 not connected -> Queue (AtomID: 12), EVENT: OnOcReady (Ln: 3, Col: 3) "MoveRequest" | Time: 0, c: Distributor (AtomID: 204), i: 01.10.23 (AtomID: 205), OnOcReady, EventCode: 1
12 ... more errors occurred but are not listed due to efficiency reasons.

Furthermore, we get a pop up window called Error with the following message:
- 4DScript:error at "AdvancedTransporter_Event6" Access violation at adress 0000000001D9D9E4 in module 'ED.exe'. Read of address 00000000000001C9 -> Advanced Transport (AtomID: 44), EVENT: on Event (ln: 504, col: 15)

We don't know how to proceed from the error, hope you can help

Best regards

Rasmus and Mads

PS. we've sent you a private message as well
User avatar
Michel Hofmeijer
Posts: 2
Joined: Monday 13 September, 2021 - 17:05

Re: Advanced Transport to follow an empirical distribution

Post by Michel Hofmeijer »

Hello Rasmus and Mads,

I suspect the problem here is that the send to statements of the "rack" queues are not set to 1. These queues (if I understand your model correctly) should only have one output channel and so the send to can simply be 1.

Please let me know if this indeed was the problem or if the send to statements where already one or can't be one. Please also let me know if the second error still occurs after this fix as this might be caused by a separate issue.
Met vriendelijke groet / Kind regards,

Michel Hofmeijer

Simulation Engineer
Post Reply