Discover Discrete-Event SimulationHave you ever been asked to optimize your industry or business operations? In this course on discrete-event simulation in Python, you will learn how to tackle the optimization of a myriad of processes running in parallel or in sequence.
Explore Process OptimizationManufacturing, transportation, logistics, and supply-chain activities may require the management of several processes running in parallel or in sequence. Optimizing these processes can be a daunting task, even for small companies, but it is an essential journey needed to increase profitability, tackle bottlenecks, and improve the management of resources.
Develop Digital Twins for Real-World ProcessesBy leveraging Python’s SimPy package, you’ll develop digital twins for different types of industrial processes based on discrete-event simulations. You’ll encounter several real-world examples, from car production lines and eCommerce to road traffic management and supply-chain activities. After completing this course, you will have the confidence to develop operational discrete-event models that can be used as “virtual living labs” for incrementally testing the effectiveness and cost-benefit of different management and optimization strategies.
Introduction to Dynamic Systems and Discrete-Event Simulation ModelsFree
Let’s unravel the power of discrete-event simulations. To begin this course, you’ll learn to identify problems where discrete-event simulations can be helpful in supporting management and decision-making. You’ll also learn the main components of discrete-event models and how to interpret model outputs. Finally, you’ll build your first “queue” discrete-event model.Dynamic systems and discrete-event models50 xpDynamic systems100 xpDecomposing a process into a sequence of events100 xpLift: discrete-event model100 xpMathematical models of dynamic systems50 xpDiscrete-event model: identify critical processes100 xpMathematical models: incorporating key processes100 xpIntroduction to discrete-event simulations50 xpDeveloping a discrete-event model100 xpRunning the discrete-event model100 xp
Developing Discrete-Event Models Using SimPy
Discover the power of the SimPy package to streamline your discrete-event simulations. In chapter 2, you’ll learn how to build a SimPy model environment and how to add processes and resources. You’ll also learn the different types of resources available, as well as options to control and schedule events. To finish this chapter, you’ll build a complete SimPy model for an aircraft assembly line.Introduction to the SimPy package50 xpBuilding a car washer model with SimPy100 xpModeling a car production line: Python generators100 xpModeling a car production line: Create and run the model100 xpSimPy package: Types of resources50 xpIdentify appropriate SimPy resources100 xpManaging payment queues100 xpModeling a petrol station: Python generators100 xpModeling a petrol station: Run the model and analyze the results100 xpSimPy Package: Managing the scheduling of events50 xpRestaurant model: Managing tables and waiting times100 xpRestaurant model: Set up, run and analyze results100 xpBuilding a discrete-event model with SimPy50 xpBuild your model: Create an environment and resources100 xpBuild your model: Generate aircraft orders100 xpBuild your model: Control assembly line response100 xpBuild your model: Run the model and examine results100 xp
Mixing Determinism and Non-Determinism in Models
Explore the types of processes that you can add to discrete-event models. You’ll learn to distinguish between deterministic and non-deterministic processes and how to represent them in models. You’ll also learn how to randomize events (or processes), which is critical to simulate non-deterministic events. Finally, you’ll build a SimPy model combining both deterministic and non-deterministic processes.Deterministic events and processes50 xpCar assembly line: adding deterministic events100 xpCar assembly line: adding deterministic events with SimPy100 xpNon-deterministic events and processes50 xpCar Assembly line: adding non-deterministic events100 xpCar Assembly line: adding non-deterministic events with SimPy100 xpPseudo-randomizing events and methods50 xpRandomizing values100 xpManage taxi company: run model100 xpManage taxi company: examine results50 xpCombining deterministic and non-deterministic processes50 xpTransportation model: defining model inputs100 xpTransportation model: defining process methods100 xpTransportation model: defining the generator100 xpTransportation model: running the model100 xp
Model Application, Clustering, Optimization, and Modularity
You’ll learn optimization methods to maximize the impact of your discrete-event models. You’ll learn how to perform simulation ensembles using Monte Carlo approaches and discover how to identify clusters in your model results to help you understand its behavior and identify critical processes and tipping points. You’ll also use objective functions to set targets for your model optimization efforts. To end this course, you’ll explore how to make your model scalable so that it can grow stable and in a controlled manner.Simulation ensembles: Monte-Carlo sampling50 xpMonte Carlo sampling for discrete-event models100 xpMonte Carlo sampling for a discrete-event model with SimPy100 xpClustering and cluster models50 xpLogistics eCommerce model: Analyzing results100 xpLogistics eCommerce model: k-means analysis100 xpObjective functions and system optimization50 xpManufacturing Optimization: Search & Stop100 xpManufacturing Optimization: Score & Rank100 xpModel modularity to optimize continuous development50 xpLogistics eCommerce model: Model modularity100 xpGarment Production: Multi-processes and modularity100 xpCongratulations!50 xp
Diogo Costa (PhD, MSc)See More
Adjunct Professor, University of Saskatchewan, Canada & CEO of ImpactBLUE-Scientific
Diogo is an Adjunct Professor at the University of Saskatchewan and CEO of ImpactBLUE-Scientific. He holds a Ph.D. in Environmental Modelling from the National University of Singapore and an MSc from Imperial College London (UK). He has more than 15 Years of experience in numerical modeling, scientific programming, and data science.