question

asb.p avatar image
2 Likes"
asb.p asked Jordan Johnson commented

How to make sure that sequences created by optquest are not repetitive in my sequence optimization sample model?

Hello All,

I want to customize optQuest in flexsim to give me best sequence of parts I need to load on to the main line. I have used cells in the "Seq" column of global table "LineUp" as variables in optquest. This is made automated by using on model start trigger and on model trigger.

Optimizer is working fine giving results to my performance measure "SimulationEndTime".

How to modify this / how to make sure that optimizer will not create repeatitive sequences.

Example:

Case 1: Seq no Part

1 A

2 B

3 B

Case 2: Seq no Part

1 A

3 B

2 B

In actual Case1 & Case2 are same. Sequence created by optquest in the model i have attached will some iterations repeated how to eliminate them?

Thanks & Regards,

Praneeth Akondi

1157-seqopt-final1.fsm

FlexSim 16.1.0
optquestsequence optimization
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

Jordan Johnson avatar image
5 Likes"
Jordan Johnson answered Jordan Johnson commented

In this situation, you can't use permutation variables. As you have correctly noticed, the Optimizer considers "1-2-3" to be different from "1-3-2". You will probably need to define all the unique sequences in a table in the model, like this:

Step 1 Step 2 Step 3
Sequence 1 A B B
Sequence 2 B B A
Sequence 3 B A B

Then, change your model to use a sequence based on the row number. Replace the permutation variables in your optimization with a single Design variable. Design variables are just like Integer variables, except that they represent options, rather than values. The Design variable should control which row number your model uses for a particular run.

· 3
5 |100000

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

asb.p avatar image asb.p commented ·

Hello Jordan,

Thanks for the reply,

But creating unique sequences for list of lets say 100 part types in a 1000 sequences demand is almost impossible. so is there any way in optquest to consider part types also while creating sequences? So that there is no need to create unique sequences. @jordan.johnson

0 Likes 0 ·
asb.p avatar image asb.p commented ·

@jordan.johnson

Latest model with simplified On model reset & On model open codes.seqopt-final1.fsm

But at the end of the optimizer run I can see optimizer evaluating same scequences multiple times.

Please let me know if there is a way to include Part types also in optimization.

0 Likes 0 ·
seqopt-final1.fsm (25.3 KiB)
Jordan Johnson avatar image Jordan Johnson ♦♦ asb.p commented ·

OptQuest assumes that every permutation of a sequence is possible and unique. If that is not true, you have a few options.

  1. Reduce the number of permutation variables, until each possible permutation represents a unique sequence. You might have to ignore some sequences, but you won't have duplicates, either.
  2. You can let OptQuest simulate duplicate sequences. With that many permutations, OptQuest is unlikely to do an exhaustive search of the design space, and even more unlikely to run duplicate sequences. Depending on which permutations it chooses to try, it may run many duplicates, or it may run very few. The time wasted will depend on how many permutations result in a duplicate sequence.
  3. You can enumerate all possible unique sequences. This will be tedious, and may take significant time for the user.

Each of these three options represents a trade off between user time and computation time. You should analyze your situation and determine which method will get you the best results the fastest. Remember that the optimizer, unless it searches all possible solutions (impossible with 100 permutation variables), will give you the best answer it finds before you stop it.

0 Likes 0 ·