Random assignment of work elements to workstations in an assembly line

All topics specific to modeling questions in Enterprise Dynamics
Amir_Ebadi
Posts: 9
Joined: Monday 27 July, 2015 - 13:37

Re: Random assignment of work elements to workstations in an assembly line

Post by Amir_Ebadi »

Dear Mr. Bram

Good day,

I have run your proposed model and it meets the assumptions. Thank you so much for your kind support :)
I have some questions about having normally distributed task times. In your proposed model, the cycle time of workstations are assumed Negative exponentially distributed with mean of work element's deterministic time mentioned in cells of work element table as a parameter of this distribution. But how it should be dealt with if we have normally distributed times for work elements. In other words :

1- In case of using normally distributed times with specific mean and standard deviation for work elements, how it should be coded in cells of work element table? :?:
For instance please consider work elements below with related stochastic task times :

Time of work element 1 = Normal (24,1.1)
Time of work element 1 = Normal (8,1.3)
Time of work element 1 = Normal (12,0.9)
Time of work element 1 = Normal (10,1.8)
Time of work element 1 = Normal (7,1.6)

As can be observed, the times of above work elements are normally distributed with particular mean and standard deviation. So is it possible to code these normally distributed task times with their mean and standard deviation in cells of work element table?

2- Moreover by considering these normal task times for work elements, the achieved cycle times for workstations (which is the sum of assigned work elements' time) are going to be normally distributed too with mean of accumulative means of assigned work elements and standard deviation of accumulative deviations of assigned work elements to this workstation. Below you will see an instance :

Work station 1 = task 1 + task 2 >>>>>> Normal (32, 2.4) = Normal (24,1.1) + Normal(8,1.3)

So the second question is that by considering above mentioned assumption regarding normal task times, how the cycle time of each workstation should be coded in order to be a normal cycle time with accumulative means and deviations of assigned work elements? :?:

Thanks a lot and looking forward to receiving your valuable points of view.

Best regards
Amir
Bram de Vries
Posts: 60
Joined: Thursday 08 January, 2015 - 13:29

Re: Random assignment of work elements to workstations in an assembly line

Post by Bram de Vries »

Dear Amir Ebadi,

As you can see, the code on the Initialize atom already adds the different cycletimes for work elements assigned to a specific work station and writes these sums in the Cycletimes table. I chose to use this sum as a mean for a Negative Exponential distribution, but you can of course also use them as a mean for a normal distribution. For the standard deviations, you can add a new column to the WorkElements and Cycletimes tables. The standard deviation for each work element can then be indicated in the WorkElements table and you can update the code on the Initialize atom such that it also adds the sum of the standard deviations of all work elements assigned to a particular work station to the new column of your Cycletimes table.

You can then use a function on the cycletime fields of the work stations to use the data in the Cycletimes table as input for a Normal distribution (see below). The first parameter of the Normal function represents the mean and the second the standard deviation.

Code: Select all

Normal(Cell(1, 1, refCycletimes), Cell(1, 2, RefCycletimes))
Of course, the first parameter of the Cell function refers to a particular row of a table. So in this case this code calls the mean and standard deviation for the first work station. Furthermore, I assumed that the new column in your Cycletimes table will be the second column. So that's why the parameter for the standard deviation has a reference to 2.

Kind regards,
Amir_Ebadi
Posts: 9
Joined: Monday 27 July, 2015 - 13:37

Re: Random assignment of work elements to workstations in an assembly line

Post by Amir_Ebadi »

Dear Mr. Bram
Hi and hope you are doing well,
I added fourth column to the WorkElelemets table under the name of Standard deviation and added the second column to the Cycletimes table which indicates the accumulative standard deviation of assigned work elements to the considered work station. then I revised the code in initialize atom in order to make a summation of standard deviations of assigned work elements. but as you can see in the attached model, the summation of standard deviations which is indicated in table of Cycletimes is not calculated correctly. I tried several times to correct the code but still it does not work appropriately!
In addition I tried to use normally distributed time for every work station, but for achieving the right modelling, the accumulative standard deviation should be calculated precisely.
I would be thankful if you give me a helping hand with the attached model
Thanks and best regards

Amir Ebadi
Attachments
assembly line3-1.mod
(34.97 KiB) Downloaded 248 times
Bram de Vries
Posts: 60
Joined: Thursday 08 January, 2015 - 13:29

Re: Random assignment of work elements to workstations in an assembly line

Post by Bram de Vries »

Dear Amir Ebadi,

The code you wrote adds the standard deviations of the assigned work elements correctly, the only thing that was missing wat that the second column of the Cycletimes table was not cleared on reset (so its values were not set to zero at the start of a new simulation run). This way, the standard deviations of a new assignment were added to the standard deviations from the previous runs.

In the attached model, I added a line of code to the Initialize code (under Reset Cycletimes table) and now your standard deviations should be calculated correctly.

Kind regards,

Bram
Attachments
assembly line3-2.mod
(35.04 KiB) Downloaded 257 times
Amir_Ebadi
Posts: 9
Joined: Monday 27 July, 2015 - 13:37

Re: Random assignment of work elements to workstations in an assembly line

Post by Amir_Ebadi »

Dear Mr. Bram

Good day,

Thanks for your revision on the model.
Kindly please be informed that I expanded the model in terms of number of work elements, number of successors and number of work stations and revise the work element, cycle time and successor table accordingly. As you can see in the attached model, it includes 57 work elements and their immediate successors and 8 work stations. Moreover the capacity of each queue has been set to 1 as a default, besides, allowed takt time was set to 60 seconds.
I have run the model several times and based on work element table it seems that some of work elements have not been assigned to work stations.
I would be grateful if you could give me some guidelines regarding this model.

Thanks and kind regards

Amir Ebadi
Attachments
assembly line balancing1.mod
(53.31 KiB) Downloaded 280 times
Bram de Vries
Posts: 60
Joined: Thursday 08 January, 2015 - 13:29

Re: Random assignment of work elements to workstations in an assembly line

Post by Bram de Vries »

Dear Amir Ebadi,

I've figured out what the problem with the current model is. At a certain moment in the execution of the Initialize code, no successors can be added to the list of candidates because they will all exceed the takt times. However, it is possible that the list of candidates then only contains candidates which have already been assigned. At the moment, the code will then proceed to the next workstation and assign an already assigned candidate to this new workstation. This is of course not what you want.

A solution would be to only allow successors which have not been assigned yet to the list of candidates. When the list of candidates is then empty at a certain point and the code moves on to the next workstation, this should be recognised and successors who previously could not be added because of the takt time should then be allowed to enter the list (because we are at a new workstation).

I want to suggest that you first try to implement this solution. If you have any questions or encounter any problems, please let me know.

Kind regards,

Bram
Amir_Ebadi
Posts: 9
Joined: Monday 27 July, 2015 - 13:37

Re: Random assignment of work elements to workstations in an assembly line

Post by Amir_Ebadi »

Dear Mr. Bram
Good day,
Thanks for your previous points of view.
In order to solve the problem please consider points as follows :

1- According to considered assumptions about assembly line balancing problem mentioned earlier, each work element should be assigned to only one work station and after assigning it to a specific work station, this work element should not be considered in steps of algorithm again. This is a particular assumption in order to avoid of causing duplication in assigning one work element, because it should be assigned only one time.

2- Besides, one of important conditions for finishing the algorithm is that all of work elements should be assigned to work stations so that none of them remained not assigned. So this condition in this model is not met apparently.

So with regard to your previously mentioned reasons of causing this problem it should be considered that after assigning one work element to a particular work station, that work element should be eliminated from list of successors and list of candidates so that it can not be reassigned again. In other words the code should be revised in such a way that after assigning a work element to a work station, it is eliminated from list of successors and list of candidates. Only with this revision it could be guaranteed that each work element will be assigned only one time to only one work station.
It seems that by doing this revision the problem of assigning all of work elements to work station will be solved as well.
I have tried several times to do this revision but there is no success to this so far.
I would be grateful if you have a look on the attached model and do some revision based on points mentioned above.

Thanks and best regards

Amir Ebadi
Attachments
assembly line balancing1.mod
(53.31 KiB) Downloaded 274 times
Bram de Vries
Posts: 60
Joined: Thursday 08 January, 2015 - 13:29

Re: Random assignment of work elements to workstations in an assembly line

Post by Bram de Vries »

Dear Amir Ebadi,

I implemented a solution in the attached model. I now only add successors to the list of candidates which haven't already been added before. When the list of possible candidates is empty, I move on to the next workstation. Here, I add successors to the list of candidates which previously might not have been added due to the takt time. Furthermore, I only assign actual candidates to a workstation when the takt time will not be exceeded.

Kind regards,

Bram
Attachments
assembly line balancing5.mod
(54.37 KiB) Downloaded 269 times
Post Reply