question

eric avatar image
0 Likes"
eric asked eric commented

Provide more machine options for operations

Hi,

Please check the attached file. This is a model of a Job-Shop Scheduling system(6 machine,6 job(type),6 operation(step)).

In this model, each operation(step) of every job(type) can only choose one machine.

I want to allow each step to have more than two machines to choose from. How modificationshould I make this modification?

6x6.fsm

FlexSim 23.0.9
job-shop scheduling system
6x6.fsm (44.7 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 eric commented

If you haven't worked with lists before, I'd suggest to first work through the documentation to learn how lists work in general, so you can follow the steps below more easily.

What I would do for this is the following:

- Write all eligible machines into the step table as arrays. (You can also use arrays to combine the processing times into a single table)

capture1.png

- Add a global list that contains all machines at the start of the simulation run. Add an expression field to this list that checks wether the currently evaluated value's name appears in the "DestinationNames" array of the puller (token).

capture2.png

- Have the tokens pull an eligible processor (possibly ordered by some statistic like queue size) from the list without actually removing the entry from the list.

capture3.png


capture1.png (15.2 KiB)
capture2.png (29.7 KiB)
capture3.png (34.6 KiB)
· 6
5 |100000

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

Jason Lightfoot avatar image Jason Lightfoot ♦♦ commented ·

I would do something similar, but would store a map with the operations (steps) a machine can do as a label on the machine and then use that to check step capability in the pull. If you're making multiple products then I would store the product, operations, times in the same map, rather than having a centralised table. This way I can experiment with the number of machines of a given type and not have to update the central/global array table.

0 Likes 0 ·
eric avatar image eric commented ·

Thank you very much for your efforts, I truly appreciate it. Could you provide me with a simple model as an example?

0 Likes 0 ·
Jason Lightfoot avatar image Jason Lightfoot ♦♦ eric commented ·
We encourage students to try first to implement with our guidance and come back if you get stuck.
0 Likes 0 ·
eric avatar image eric Jason Lightfoot ♦♦ commented ·

Please check the attached file.

I have already made some modifications to the model, but I am a bit unclear about the details of the settings. The first is Assign Label (get eligible process), and the second is global list > canUseForStep.

Could you please provide me with the specific details of the settings?try.fsm

0 Likes 0 ·
try.fsm (49.1 KiB)
Show more comments