question

Rykou avatar image
0 Likes"
Rykou asked Logan Gold commented

Dispatch the object base on deliverydate

Hi, @Felix Möhlmann

I'm trying to simulate a warehouse system. For the output part, I want to ship the object based on the delivery date (item.deliverydate). For example, if item.deliverydate = 200, then I need to move that object from Rack1 to Sink1 when model.time = 200.

In my current model, I try to do it by messages. At the beginning, the input to Sink1 is closed. After that, the input is opened based on the delayopentime from table 'DT' ,and it is closed again after the previous item enters Sink1.But it isn't work.

The attachment is as follows.Thanks in advance.
Dispatch the object base on deliverydate_Ques.fsm

FlexSim 24.1.1
rackwarehousemassage
· 1
5 |100000

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

Logan Gold avatar image Logan Gold ♦♦ commented ·

Hi @Rykou, was one of Boris V2's or Felix Möhlmann's answers helpful? If so, please click the "Accept" button at the bottom of the one that best answers your question. 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 comment back to reopen your question.

0 Likes 0 ·
Boris V2 avatar image
0 Likes"
Boris V2 answered Rykou commented

Hello Rykou, this seems to work with the ProcessFlow implementation as you will see in the attached FlexSim model, best regards

dispatch-the-object-base-on-deliverydate-ques with ProcessFlow.fsm


· 1
5 |100000

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

Rykou avatar image Rykou commented ·

I learned that processflow can be used to solve the problem.The problem I encountered is that when the object is stored in Rack1 and reached the deliverydate ,it will be moved from Rack1 to Sink1.There are some differences from your reply.But thank you very much for taking time to help me solve the problem.

0 Likes 0 ·
Felix Möhlmann avatar image
0 Likes"
Felix Möhlmann answered Rykou commented

Just use the difference between the delivery date and the current model time in the "Minimum Dwell Time" field.

· 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.

Rykou avatar image Rykou commented ·

@Felix Möhlmann.Thanks for your suggestion. It works successfully. But it exists a problem. How to set the output priority to be higher than input priority?

For example.In the current model, the delivery date of the first object(Order1) is 200, and the next object(Order2) arrives at the inbound stockpoint at 150. I want ASRS to ship Order1 from rack to sink first, and then move Order2 from Queue1 to Rack1. How should I adjust the model?

The attachment is as follows.Thanks in advance.
Dispatch the object base on deliverydate_Ques.fsm

0 Likes 0 ·
Felix Möhlmann avatar image Felix Möhlmann Rykou commented ·
Well, that complicates things a lot. This will require custom logic, which I would recommend to implement in Process Flow.

An Event-Triggered Source could react to items entering the rack. The created token would then wait until X time ahead of the delivery date, try to acquire the ASRS as a resource and then wait until the actual delivery date to start the transport process. If you build the same logic for the input but without the first delay, this would block the ASRS for other tasks ahead of time.

You could also try to push all items that need to be moved to a list right as they enter the queue or rack, together with their due date. A token that represents the ASRS could then pull from that list based on the due date. Either pulling the output tasks ahead of time again or add a heuristic that estimates how long an input task will take and only pull it if it will finish ahead of the next output date.

0 Likes 0 ·