question

MPeyman avatar image
0 Likes"
MPeyman asked Jeanette F commented

Dynamic demand

Hi All,

I have created a model that involves a single UAV which works based on the GT (Global Table) generated in Python. The UAV is designed to pick up items from a single queue and deliver them to multiple queues. Currently, the UAV picks up 10 items and randomly drops them off in each assigned queue. However, I am facing a challenge in generating random dynamic demand for each queue. I would like to implement a system where the items are dropped off based on the specific requests of each queue, instead of randomly.

Also, in my model I would like to use "Decide" , in order to put condition if there is things to do in a global table make it if not release UAV.

I would appreciate any suggestions or guidance on how to achieve this objective.

Multi-dropoff.fsm

FlexSim 23.0.0
conditional decidedecide functiondyamic demand
multi-dropoff.fsm (60.6 KiB)
· 7
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

Jeanette F avatar image Jeanette F ♦♦ commented ·

Hello @MPeyman,

So would you like the UAV's to pick 10 items and then use the global table to see what queues need items? Could you explain what is contained in the global table? I don't understand what any of these columns or rows are conveying.

1678561290370.png

0 Likes 0 ·
1678561290370.png (12.1 KiB)
MPeyman avatar image MPeyman Jeanette F ♦♦ commented ·

Hello @Jeanette F,


In this table, "NumDest" represents a randomly generated number of destinations between 1 to 4. The number of destination columns are determined by "NumDest" for each row. For instance, if the number of destinations for row 1 is 3, then the UAV has to deliver the item to 3 destinations.


The pickup points are randomly generated in a way that if the pickup point of one row is "start1", then the pickup point of another row cannot be the same. The UAV starts from row 1 and completes all the tasks before moving to row 2, and so on.


Regarding the "Decide" part of the process, I am looking for a way to define it in such a way that the UAV completes the tasks for row 1 first, and if there are additional rows, it should move on to the next row and continue with the tasks. If there are no additional rows, it should release.


In the load part of the process flow, I have defined that the UAV should pick up 10 items and then listen to the GT and visit each task. However, I want each task to request a specific number of items, and the UAV should deliver the exact number of items requested which changes dynamically.






0 Likes 0 ·
Joerg Vogel avatar image Joerg Vogel MPeyman commented ·
Start with 10 token, 10 list entries or an array of 10 elements.

Distribute them to your destinations.

push them to a list, perhaps on a partition.

pull from list in order of destinations.

0 Likes 0 ·
Jeanette F avatar image Jeanette F ♦♦ commented ·

Hi @MPeyman, was Jason Lightfoot's answer helpful? If so, please click the "Accept" button at the bottom of their answer. Or if you still have questions, add a comment and we'll continue the conversation.

If we haven't heard back from you within 3 business days we'll auto-accept an answer, but you can always unaccept and comment back to reopen your question.

0 Likes 0 ·
MPeyman avatar image MPeyman Jeanette F ♦♦ commented ·

Dear @Jeanette F , My system has a problem with the FlexSim software, and I cannot use it. As soon as I solve the problem, I'm going to check it and give you feedback. Thanks you.

0 Likes 0 ·
Jeanette F avatar image Jeanette F ♦♦ MPeyman commented ·
Hello @MPeyman,

You can contact your local distributor for assistance with your license and FlexSim software. Please let us know if we can help you as well.

0 Likes 0 ·
Show more comments

1 Answer

Jason Lightfoot avatar image
0 Likes"
Jason Lightfoot answered Jason Lightfoot commented

Have your destinations generate pickup demand and push it to a list (job list)

When the UAV knows which pickup it's visiting next it can pull them from the job list.

You need to define what the demand is and how the UAV decides which pickup to visit next.

· 2
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

MPeyman avatar image MPeyman commented ·
Hi @Jason Lightfoot , So you mean I should define another column in GT which represent the demand of the tasks? or generate another global table which is for tasks demand?
0 Likes 0 ·
Jason Lightfoot avatar image Jason Lightfoot ♦♦ MPeyman commented ·
The demand can be a From/To/Quantity set of fields as one record. How you determine it's values and where it's stored is up to you.
0 Likes 0 ·