question

Junwoo Kim avatar image
0 Likes"
Junwoo Kim asked Junwoo Kim commented

Option of List : Allow Multiple Pushes Before Back Order Fulfillment

Hello.

I'd like to ask a question about List.

There are 3 types of flowitems, type1 (red), type2 (green) and type3 (blue) in my simple model ( list-exception-multiplepush.fsm ).

At first, the flowitems are moved to upstream Queue objects, Queue1~Queue3, and then, the upstream queue Objects push the flowitems into a List called TEST1.

Moreover, there is a downstream Queue object, Queue4, and I hope this object to pull the flowitems in TEST1 List in descending order of flowitem Type. That is, Queue4 should pull type 3 (blue) items first, and type 2 (green) items next, and type 1 (red) items last, as shown in question1.png.

To this end, I applied pull strategy including ORDER BY Query to Queue4 object as shown in question2.png.

At this time, the flowitems were not sorted as I expect. Instead, Queue4 object pulls type 1 (red) flowitem first, type 2 (green) second, and type 3 (blue) last, as shown in question3.png.

question3.png

That is, the flowitems are transferred to Queue4 object just in First-in-First-out manner.

I think that this problem is occurred by the fact that the flowitems are technically added to TEST1 list one by one although their arrival times are same. Thus, it seems that the 'pulling' is done whenever there is only one flowitem within TEST1 list.

Therefore, I checked 'Allow Multiple Pushed Before Back Order Fulfillment' option in 'Back Orders' tab of Properties Window for TEST1 list. Then, the flowitems in Queue4 object are successfully sorted, but I have encountered by Exception messages as follows:

------------------------------------------------------------------------------------------------------------------------------

time: 1.000000 exception: Exception caught in Executive::processeventinlist(). Throwing.

time: 1.000000 exception: Exception caught in Executive::steptotime(). Throwing.

time: 1.000000 exception: Exception caught in Executive::tick(). Throwing.

time: 1.000000 exception: int runthemessageloop() #4

exception: Executive::instance.tick();

time: 1.000000 exception: int runthemessageloop() #6

-------------------------------------------------------------------------------------------------------------------------------

Is there anyone who can let me know how I have to revise my model?

Thanks.

FlexSim 18.1.2
listpull from listpull strategylist pull
question1.png (56.6 KiB)
question2.png (20.9 KiB)
question3.png (52.5 KiB)
5 |100000

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

1 Answer

anthony.johnson avatar image
0 Likes"
anthony.johnson answered Junwoo Kim commented

I was able to replicate your issue in version 18.1. However, when running the model in 19.0 or 19.2, there is no exception. I even ran it in the latest 2018 LTS version (18.0.10), and the exception does not happen.

Looking through our code history, it appears this bug was fixed with the 18.0.9 release, in December 2018: "Fixed an exception related to list partitions." However, this date was after the end-of-support date for the 18.1 line, so you'll need to update to a later version (19.0, 19.2, or even 18.0.10 or 18.2) to get this fix.

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

Junwoo Kim avatar image Junwoo Kim commented ·

Thank you. I found that the model works well in 2018 LTS version.

0 Likes 0 ·