Hello everyone on this blog.
I am working on this simulation (PTimes.spp) I will describe the process:
A production plant has to produce different number of products. For this case are 7. I put these information in the table "OrdenProduccion". Each product follows a line of different manufacturing. In some ocassions two or more products requires the same process. After that I put a FlowControl to control the flow of the products. Every process takes differents times for manufacture each product. I include these times in the table "TiemposProduccion".
My goal is to reduce the total production time of the plant. I tried to use GAWizard but I had problems to define the "Optimization Parameter". I put only "root.OrdenProduction" but after I understood that it needs a parameter that can be modified. My production order is detailed in the table. I need exactly that.
So I put a Buffer before a process that receives two different products (Buffer.jpg). I think that if a product is produced before another, maybe the times will changed. But what are the parameters for the GAWizard?
At the end, the simulation will have to produce 43 different products using more than 50 processes. I am trying to optimize now before the simulation grow more.
Other ideas are gladly accepted. Somebody that can help me please? My name is Alex and I am writing from Ecuador. Regards!
The GA can change the orden in your OrdenProduction table. As Fitness-Value you could use the time, when the last MU entered the drain. You could use a user defined attribute and a entrance control to record this value (see file).
Usually you have to take into account setup-times in the production. If you have different setup times between the different products, the order of the products has an impact on the troughput.
Thanks for the reply.
I included the Setup Times for the most important processes in the tables "SetupCTNo...". Also I added more products, the majority of products have to be processed on the process CT107005. I continue thinking that if a product is produced before another, maybe the total production time will changed. I put the table "OrdenProduccion" as the optimization parameter but I know that I have to use a parameter of the "Buffer" or a parameter of the process "CT107005". What parameter should I use for the GAWizard?
As the Fitness value what is the difference between "root.Drain.lastEntry" or "root.EventController.SimTime"?
Regards and the thanks again for the help. Alex.
Why I need to change the method for stopping the simulation?
I have a bottleneck in the process CT107005. How can I define the optimization parameter on the GAWizard for reduce the total production time? Maybe defining upper and loger limits for the buffer capacity?
Yo said that ExperimentManager is sufficient. Which would be the input and output variables for it?
"Why I need to change the method for stopping the simulation?"
You use absolute adresses in your method FinSim. If you rename some element in the path, the method will not run anymore.
Optimization: I guess you overestimate the GA.
What we do: we create a model, we establish a thesis; for the thesis we create experiments --> run the experiments --> confirm/reject thesis
In your case: have a look in the statistics of CT107005; the station has a lot of blocking times;
thesis: if you reduce the blocking time --> leads to a shorter total production time
experiment: place a buffer between CT107005 and CT115024
run experiments; compare with the base szenario...
Bottleneck: your buffer has a infinity capacity; so this buffer will not have a "positive" impact in your production, if you change the size it may become a bottleneck; to "increase" the bottleneck you have at least two options: increase the capacity of the bottleneck (e.g. use a parallelProc, increase the capacity of the parallelProc in the experiments) or you change the technology (reduce procTime, re-allocation of processes to other machines).
GA: if you create an experiment with several inputs and a lot of steps, you can get a hughe number of simulation runs; here GA helps to reduce the simulation time (see description in the help)
I am trying to do the same thing as Alex. I have a simulation with different products and different machines, where I want to optimize the total simulation time by changing the production order of the products. I have done the same things with the GA wizard. But in my case, my machines are represented by subframes, and within these subframes I have several SingleProcs. When I try to run the simulation with the GA wizard I get an error message. Is it possible that the reason that this error message appears is because my processes are located in subframes and not the root frame?