Skip to content

Simulate manufacturing or service processes with Discrete Event Simulation to identify bottlenecks and remove them through scenario-planning.

Notifications You must be signed in to change notification settings

sunbee/factorySimulation

Repository files navigation

Model a process in Simpy and observe in simulation.

- **rev001**: Model the process in Simpy in OOP style and wrap the code in a Web UI in Streamlit.
- **rev002**: Set up a process monitor to keep track of resource utilization.
- **rev003**: Run on multiple cores with joblib and add gauges for metrics e.g. percent utilization.
- **rev004**: Update process model with planned downtime. Medical professionals do lunch :)
- **rev005**: Update process model to include unplanned downtime. 

Possible enhancements for consideration as follows:
- Batch-processing: A step processes entities in batches. *Strategy*: Define a global array to hold entities as they are processed in the previous step. Once the array length is batch size, execute the next step and clear the array. 
- Scheduled availability: A resource is available only at certai  times, e.g. certain days of the week.*Strategy*: Set up a process to command resources at high prority for the times they are UNAVAILABLE, thus blocking the main process from using them at these times. For example, for a hold-release-hold pattern, request resource instances in the number that are off-limits and timeout for the hold period, then release for the available period, then request again and hold. Request must be made at higher priority than the main process for the pattern to work.
- Unplanned downtime: Unplanned downtime limits a resource availability. 

About

Simulate manufacturing or service processes with Discrete Event Simulation to identify bottlenecks and remove them through scenario-planning.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published