Provide more machine options for operations

Provide more machine options for operations

eric23
Not applicable
23 Views
7 Replies
Message 1 of 8

Provide more machine options for operations

eric23
Not applicable

[ FlexSim 23.0.9 ]

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

0 Likes
Accepted solutions (1)
24 Views
7 Replies
Replies (7)
Message 2 of 8

moehlmann_fe
Observer
Observer
Accepted solution

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

0 Likes
Message 3 of 8

jason_lightfootVL7B4
Autodesk
Autodesk

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
Message 4 of 8

eric23
Not applicable

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

0 Likes
Message 5 of 8

jason_lightfootVL7B4
Autodesk
Autodesk
We encourage students to try first to implement with our guidance and come back if you get stuck.
0 Likes
Message 6 of 8

eric23
Not applicable

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
Message 7 of 8

moehlmann_fe
Observer
Observer

"Get Eligible Processors" just reads the array from the step table and assigns it to "DestinationName" (essentially unchanged, just moved this to its own activity).

The list field checks if the index of the name inside the array is larger than 0, meaning wether or not it exists in the array.

6x6.fsm

0 Likes
Message 8 of 8

eric23
Not applicable

Thank you for your assistance, I now understand how it works.

0 Likes