Skip to content
Advertisement

Monte Carlo Simulation : Underlying distribution parameter changes during simulation run based on conditions

I am trying to simulate running of two manufacturing lines (Line A and Line B).Their time to failure follows Weibull distribution(shape = 0.7, scale = 12 (mins)). Line A and Line B both produces at rate of 100 products/min. From real world scenario, if any of lines fails, I want to increase rate of other line (say – 120 products/min) till the time failed line has not repaired.

Challenge: With increase in rate, chances of failure increases, hence, scale parameter changes (e.g for rate of 120 products/min, scale parameter changes from 12 mins to 10 mins). I want to model this change in distribution parameter in simulation.

Example :

  • Line A and Line B starts running at time 0.
  • Generate random number using weibull distribution for their time to failure (TTF) – Line A : 15 mins and Line B : 20 mins.
  • Line A failed at 15 mins and got repaired at 20 mins. For this 5 mins, Line B ran at increased speed.
  • At t= 15 min, generate a random number using weibull (with changed parameter) to get next TTF. The process repeats till the simulation time.

Currently I am using Python Simpy to code the logic but can’t find a way to model this. Any help or reference would be very helpful. Here is my try but i am definitely missing something.

JavaScript

Advertisement

Answer

This solution can handle more then 2 machines. When a machine breaks it sends a message to all of the other machines notifying them of the break down. A machine also sends a notification when it gets fixed. Each machine tracks how many machines are broken and speeds up production if 1 or more machines is broken. Time till failure (ttf) is also sped up. when rates change, the progress of a current in progress part is factored in to calculating the new finish time. The interrupt is used to both trigger a breakdown, but to also reset when a work in progress will finish. also check out the machine shop example in the docs. I ran out of time to work on this so it may not be perfect

JavaScript
User contributions licensed under: CC BY-SA
5 People found this is helpful
Advertisement