I am modeling an industrial process. The system produces a quantity of 12 of Part X.
Part X goes through machine A--> machine B --> machine C. At each machine, there needs to be a time hold before releasing to the next machine. How do I make sure that the FIRST part X that goes into machine B is the FIRST part X that flows out of machine B and into machine C?
For the purposes of this model, we must model at the individual part level. Part X is subscripted (s1-s12) to create individual parts. Is there a built in function that does the first-in-first-out requirement?
modeling a FIRST-IN FIRST-OUT type problem
The process is not very clear for me. you can tell the the first part X that goes into machie B is the first part that flows out of machine B but it will be the first part to flow into machine C if it is idle and that there is no previous part still waiting to be processed, unless it takes the same time for each machine to process each part. If is the case the problem is very simple.
If it takes a different time del for each machine to process each part and each part is entering the first machine one after the other in increasing order, you can describe the process for each machine by a fixed delay.
You need two subscripts say part = (p1-p12) and machine = A,B,C. if the time part 4 enters the machine B is t, then it goes out of machine B at time t plus del(p4,B).
The problem is that for the part to enter the next machine that machine must be idle and there must not be another part already waiting to be processed by the same machine. One must then have a variable say idle subscripted by machine that tells if a machine is idle and equal to - the part number that was previously processed or if working and equal to the part that is being processed.
One can then determine if the part that went out of a machine can enter the next one if the variable idle(machine) of the next machine is negative and the negative number tells that the part having being previously processed is the part multiplied by -1 plus one.
Example: if part 4 is goint out of the machine B at time 6, it will enter the machine C at a time greater than equal to 6 when the variable telling the state of the machine C is equal to -3 equal to (4 * -1) + 1, idle(C) = -3, that tells that the machine C is free and had just processed the part 3 that preceeds part 4.
One can imagine probably other methods.
JJ
[Edited on 1-12-2010 by LAUJJL]
If it takes a different time del for each machine to process each part and each part is entering the first machine one after the other in increasing order, you can describe the process for each machine by a fixed delay.
You need two subscripts say part = (p1-p12) and machine = A,B,C. if the time part 4 enters the machine B is t, then it goes out of machine B at time t plus del(p4,B).
The problem is that for the part to enter the next machine that machine must be idle and there must not be another part already waiting to be processed by the same machine. One must then have a variable say idle subscripted by machine that tells if a machine is idle and equal to - the part number that was previously processed or if working and equal to the part that is being processed.
One can then determine if the part that went out of a machine can enter the next one if the variable idle(machine) of the next machine is negative and the negative number tells that the part having being previously processed is the part multiplied by -1 plus one.
Example: if part 4 is goint out of the machine B at time 6, it will enter the machine C at a time greater than equal to 6 when the variable telling the state of the machine C is equal to -3 equal to (4 * -1) + 1, idle(C) = -3, that tells that the machine C is free and had just processed the part 3 that preceeds part 4.
One can imagine probably other methods.
JJ
[Edited on 1-12-2010 by LAUJJL]
Have you looked at QUEUE FIFO ?
/*
Advice to posters (it really helps us to help you)
http://www.ventanasystems.co.uk/forum/v ... f=2&t=4391
Blog: http://blog.metasd.com
Model library: http://models.metasd.com
Bookmarks: http://delicious.com/tomfid/SystemDynamics
*/
Advice to posters (it really helps us to help you)
http://www.ventanasystems.co.uk/forum/v ... f=2&t=4391
Blog: http://blog.metasd.com
Model library: http://models.metasd.com
Bookmarks: http://delicious.com/tomfid/SystemDynamics
*/