question

Óscar Manuel CMN avatar image
0 Likes"
Óscar Manuel CMN asked Matt Long answered

Processing times

I have modified the processing times of the machines so that they follow a "lognormalmeanstdev" distribution depending on the type of job (label "TipoTrabajo"). I need to use the TOTAL processing time (sum of the 11 machines) of the same job.

In a previous model that I have done, I had only 5 machines and the processing times did not follow any distribution, they were constant. So I created a label with the sum of all times. Now I have 11 machines and I wanted to know if there is a simpler and faster way to get the value of the sum of the processing times. I need this value to carry out subsequent operations.

I have created a label called "TiempoTrabajo" and I have added the values of the processing times of all the machines. As you can see, this is very tedious and so I was wondering if there was any other way to access the sum of those values.

I would also like to know if I could enter the times in the processors in another way. I have entered them using "values by case" but I was thinking about using a global table and the processors read the times of the table, but if I write "lognormalmeanstdev..." it doesn`t do it well. Is there a way?

Thanks.

19.0.0 Version

SPT-WHN1-SQ.fsm

Choose One
processing times
spt-whn1-sq.fsm (102.4 KiB)
· 7
5 |100000

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

tannerp avatar image tannerp commented ·

@Óscar Manuel CMN,

I'm looking at your model now, and I want to clarify your question before I provide an answer.

Do you want the source to assign a label that has the processing time for each item (option 1)? Or do you want the processor to use a different distribution depending on what type the item is (option 2)? Or something else (option 3)?

For example, in option 1, Source1 would create a label on the item that has processing times for each processor. The item's labels might be something like this:

"M1" = 10, "M2" = 20, etc.

Then each of the processors will look at that label to know how long to process the item.

In option 2, the processor looks at the item type and then uses the type to determine which distribution to use. For example: Item type 1, use lognormalmeanstdev(5,3,getstream(current)), Item type 2, use lognormalmeanstdev(7, 1, getstream(current)), etc.

Each of these are pretty different, but if you can clarify a bit more, then we can figure something out.

Also, it sounds as if you want to know the total processing time from the beginning. Unfortunately, you can't run a random distribution at the beginning of the model and then run more random distributions at each processor and expect to get the same values. So I guess the main question is this: When do you need to know the TOTAL processing time and how is it figured?

0 Likes 0 ·
Óscar Manuel CMN avatar image Óscar Manuel CMN tannerp commented ·

Sorry for taking so long to answer but I had an error and I was fixing it. Forget that I need the sum of the processing times.

What I want to do is, when the operator has chosen the queue, it picks up the item with least processing time on the next machine. I have created labels called M1,M2,M3...M11, that collect the processing time on that machine depending on the type of job ("TipoTrabajo").

I don´t know how to implement in the "pull from list", that the operator extracts the necessary item.

(In the model that I attach to you below, the processing times on the machines are entered by means of "values by case" but it could simply be set to follow her corresponding label)

SPT-WHN1-SQ.fsm

0 Likes 0 ·
spt-whn1-sq.fsm (102.5 KiB)
Braydn T avatar image Braydn T Óscar Manuel CMN commented ·

@Óscar Manuel CMN

Here is an example of pulling from a list and sorting by a label.

Sort List Example.fsm

0 Likes 0 ·
Show more comments

1 Answer

Matt Long avatar image
1 Like"
Matt Long answered

You can add code (distributions in this case) to a global table cell or an object label. In a global table, right click on the cell or column and choose the menu Assign Data and then Assign FlexScript Data. Enter your distribution code in the cell or label. In order to evaluate that code:

For a label:

double processingTime = current.labelName;

or

double processingTime = myObject.labelName;

For a global table:

double processingTime = Table("GlobalTable")[1][2];

or use the picklist option By Global Table Lookup.

5 |100000

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