question

diana avatar image
0 Likes"
diana asked diana edited

job-ordering

I want to ask a few questions. In my model, I set a lebal as the station. The purpose is to be able to port by case in the Q behind the machine to go to the next point according to its value, because if I use step, Type1 and Type3 with step=1, so I can’t let them go to different places. So to make a difference, the initial value of the station of Type1 is set to 2, or is there another way to do this?

And I have set the push to item list in Q before machine 1 and 3, and then set the pull strategy of the machine to WHERE Type IN(1,3) ORDER BY processingtime ASC, WHERE Type ==2 ORDER BY processingtime ASC .

I think it works correctly, but when I use it on other machines, the entire processing sequence will be messed up, and the WHERE Step=? will be messed up , how can I modify it?

123.fsm

FlexSim 20.1.3
jobshop
123.fsm (33.8 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

Felix Möhlmann avatar image
0 Likes"
Felix Möhlmann answered diana edited

If all processors pull from the same list by Type, then they can pull items from each others queues.

You can either use partitions so that each processor can only pull items from the queue in front of it.

Or, since you have set up port connections already, you can forego the use of a list entirely and just use the "Best Item" option in the pull strategy.

1670837832939.png

(Set the queues back to "First Available" for this)

123(2).fsm


1670837832939.png (8.5 KiB)
1232.fsm (33.1 KiB)
· 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.

diana avatar image diana commented ·

@Felix Möhlmann If I use ERD and ECT as the dispatching rule, will I need to use list? How can I do it?

1670844000595.png

0 Likes 0 ·
1670844000595.png (189.6 KiB)
Jason Lightfoot avatar image Jason Lightfoot ♦♦ diana commented ·

You need to keep a track of what has been allocated to the machine with the last completion time for each and then use the value and puller in an expression to give the earliest completion and other metrics by which you can then assign a machine or choose an item. This can be as simple as adding the processing time onto the machines 'lastCompletionTime' or it could be a function that tries to slot the processing time into the machine's allready allocated schedule (which would then need an expected arrival/start time for each part too).


As a student you should be able to work this out with some research looking through the documentation and previous posts on this site.

0 Likes 0 ·