question

Mohamed El-akabawy avatar image
0 Likes"
Mohamed El-akabawy asked Braydn T converted comment to answer

Task sequence with limited weight

I have a warehouse model that contains: Source(produces 50 different items in racks), Queue, 50 racks, Transporter and NetworkNodes path for the Transporter. At the beginning of the simulation run, the 50 items are placed on the 50 racks as shown in the figure below.

Then transporter take each item from racks and deliver them to Queue2(considered as a door for the warehouse) to make the warehouse empty, as shown in the figure below.

After that I have made two copies from this model, and each model have applied some changes on it to reach a specific objective.

The first model called: Task Sequence. Its description: There is a sequence of tasks in global table called "Sequence". Each row refers to the task that contains a sequence of items, while each column refers to the item in each task. Ex: first row contains: 50, 36, 46 and second row: 18,19. This means that transporter will take item 50 then item 36 and finally item 46 and deliver them to Queue2. Then will take item 18 then item 19 and deliver it to queue2, till all rows(tasks) are finished.

The second model called: Weighted Items. In this model, Transporter maximum weight to lift is 15 kg. In Source1, there is a label built called "Weight" to identify the mass of each itemType.

I wanted to apply both objectives in one model; to make task sequence and at the same time in limited weight for transporter. For example, we have two sequence of tasks: 50, 36, 46 in Row1(as shown in task sequence model in sequence global table) and their weights = 7,3,9 respectively. Then 18,19 in Row2 and their weights = 4,9 respectively.

In task of Row1, the transporter will lift items: 50 and 36 then deliver them to queue2, then will take item 46 and deliver it to Queue2 then(As the total mass of the three items will exceed the maximum weight the transporter can lift).

And in second task: will take both items 18 and 19 in one round, as the weight of them both = 13kg which is less than 15kg.

19354-task-sequence.fsm

19350-weighted-items.fsm

FlexSim 18.0.10
warehouse
222.png (185.1 KiB)
221.png (126.2 KiB)
· 11
5 |100000

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

Jeff Nordgren avatar image Jeff Nordgren commented ·

@Mohamed El-akabawy,

I'm unclear where and when you want to implement the weight restrictions. Do you want them when the transporter is going from the racks to Queue2? Or from Queue2 to whatever Object would be next?

Not sure how your ItemQuantity Global Table fits into this process. You list 4 different types in your question. Types 1,4,17 and 5,8 9. But there are a lot more types than that? What happens to the other itemtypes? Do you have some kind of list that tells you what itemtypes are in a SKU?

Any other information that you could provide would be helpful.

Thanks.

1 Like 1 ·
Mohamed El-akabawy avatar image Mohamed El-akabawy Jeff Nordgren commented ·

@Jeff Nordgren Wish it now more clear to understand

0 Likes 0 ·
Joshua S avatar image Joshua S Mohamed El-akabawy commented ·

@Mohamed El-akabawy

Going back to what you wanted with the optimizer, do you want the optimizer to find the best way to empty all 50 items?

0 Likes 0 ·
Show more comments
Mohamed El-akabawy avatar image Mohamed El-akabawy commented ·

The file then is empty without any models @Joshua S

0 Likes 0 ·
capture.png (9.3 KiB)
Joshua S avatar image Joshua S Mohamed El-akabawy commented ·

My mistake, I made it in 19.0. Here is the 18.0 model. Can you go over exactly how you want it optimized?

19372-19354-task-sequence-1-7.fsm

1 Like 1 ·
Mohamed El-akabawy avatar image Mohamed El-akabawy Joshua S commented ·

@Joshua S first of all thank you for your effort but I have now 2019 license so do all of your work on 2019 please.

Unfortunately not as I wanted exactly but it's too close.
In the model you have attached, Transporter1 picks up items from itemType50 to itemType1 with respect to weight, right ?

I'm here wanted Transporter1 to pick up the very best and most optimized solution for each row in "Sequence" Global Table.

To be more clear and more simple, in "Sequence" Global Table, just make the number of rows = 1 instead of 12. Which means that this row will contain this itemTypes: 50, 36, 46, 0, 0. This is our list of itemTypes, the objective is to figure which is the best sequence and the shortest distance for this sequence; (50,36,46) , (36,46,50) , (50,46,36) , (36,50,46) , (46,50,36) or (46,36,50) . All of this is with respect to the maximum weight which is 15kg.

50 = 7kg

46 = 9kg

36 = 3kg

When we take sequence (50,36,46) we will found that when Transporter1 pick up 50 then 36, it will deliver them to Queue2 first then take itemType46 and deliver it then.

All of that will be taken in consideration in distance calculations.

I wish it is more clear now.

I have attached you the model after the edit in "Sequence" table.optimization-model.fsm

0 Likes 0 ·
Show more comments

1 Answer

Joshua S avatar image
0 Likes"
Joshua S answered

@Mohamed El-akabawy, Take a look at this model. It has a list of all the permutation for a 5 non repeating combinations that the model uses as a lookup table. The Optimizer tries all 120 combinations. The current sequence it is running is in the Source activity, so you can add more Sequences and change that value to set the sequence you want to try. The number that is outputted by the optimizer corresponds to the row in the permutation table.

19749-optimization-model-1.fsm


5 |100000

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