Welcome to Ciw’s documentation!¶
Ciw is a discrete event simulation library for open queueing networks. Its core features include the capability to simulate networks of queues, multiple customer classes, and implementation of Type I blocking for restricted networks. A number of other features are also implemented, including priorities, baulking, reneging, schedules, slotted services, batch arrivals, service disciplines, dynamic customer classes, and deadlock detection.
The name Ciw is the Welsh word for a queue.
Ciw is currently supported for and regularly tested on Python versions 3.7, 3.8, 3.9, 3.10 and 3.11.
Contents:
- Installing Ciw
- Tutorials - Part 1
- Tutorials - Part 2
- Guides
- How to Set a Seed
- How to Implement a Progress Bar
- How to Implement Exact Arithmetic
- How to Simulate For a Certain Number of Customers
- How to Pause and Restart the Simulation
- How to Set Arrival & Service Distributions
- How to Set Phase-Type Distributions
- How to Define Time and State Dependent Distributions
- How to Set Priority Classes
- How to Change Service Discipline
- How to Simulate Processor Sharing
- How to Set Batch Arrivals
- How to Simulate Baulking Customers
- How to Simulate Reneging Customers
- How to Set Server Schedules
- How to Set Slotted Services
- How to Set Server Priorities
- How to Set Dynamic Customer Classes
- How to Track the System’s State
- How to Detect Deadlock
- How to Define Process-Based Routing
- How to Get More Custom Behaviour
- How to Parallelise Trials
- Reference
- Background