Model
The Model editor holds your run settings and the lists that aren't tied to one shape.
What it is
The model is your whole simulation: every shape on your diagram plus the settings for the run. Those settings say how long to run, how many times, and against which clock.
The question it helps answer
What period am I studying, and how sure do I need to be? A one-day clinic study and a year-long capacity plan are different questions, and the run settings are where you say which one you're asking.
How it behaves
Each replication starts empty at time zero and runs for exactly Run Length. Then it stops. Nothing finishes up: an entity still in the model at the end counts as in progress, not completed. The end comes first at the same instant: an arrival due exactly at the end doesn't happen, and a step finishing exactly at the end counts as still in progress. Quodsi repeats this once per replication, with different random draws each time, and summarizes the results. See Randomness and replications.
A Warm-up Period is the first part of each replication, inside Run Length. Nothing in the model changes when it ends. Statistics and costs restart from that moment, except a Fixed Cost, which stays in your totals. See Warm-up.
Time works in one of two modes:
| Time Mode | How it works | Lowest view |
|---|---|---|
| clock | Counts time from zero, with no dates. This is the default. A work schedule treats time zero as Monday 00:00. | Basic, as the default. Choosing it needs Intermediate. |
| calendar | Ties the run to real dates. Start Date is time zero, statistics begin a warm-up later, and the run ends at Start Date plus Run Length. A work schedule follows the real days of the week. | Intermediate |
Calendar mode doesn't change the numbers by itself. In a test, one model gave identical results in both modes. You need it for a Pattern generator and for work schedule exceptions, which stop a clock model. Rows in an arrival schedule hold numbers in a clock model and dates in a calendar model, so changing Time Mode stops the model until you redo them.
Every duration keeps its own unit. A 90-second task stays 90 seconds whatever Clock Unit says, and Run Length keeps the unit beside it.
The validation chip in the editor's header shows whether the model can run. Select it to see the list of problems. Each one links to its source where Quodsi can find it, shown as Go to source.
Properties
With nothing selected on your diagram, the panel shows the Model editor. Its tabs are Basic, States, Entities, Resources, Arrivals and Levers. The Basic view shows only the Basic tab. Intermediate adds States, Entities, Resources and Levers. Advanced adds Arrivals.
A view only changes what you can edit, never what runs. If a model uses something your view hides, a line names it, such as This uses a warmup period, hidden in Basic, with a link to switch views. The same goes for calendar dates, a replication count other than 10, and a Clock Unit other than minutes.
Basic tab
Model Name and Run Length sit at the top. The rest are under Advanced Settings, a section that starts closed. In the Basic view, it doesn't appear at all unless the model is in calendar mode.
| Property | Where to find it | What it does |
|---|---|---|
| Model Name | Top of the tab, Basic view. | A label for the model, also shown in the editor's header. Blank is allowed, and validation doesn't check it. It has no effect on results. |
| Run Length | Top of the tab, Basic view. | Total length of each replication, warm-up included. A number and a unit: seconds, minutes, hours or days. Default 24 hours. Decimals work, and the box has no upper limit. Clearing it sets 0. Zero or less stops the model, with Simulation run length must be greater than 0. In calendar mode the message is Run time must be greater than 0 — the finish date is the start date plus the run time. |
| Run window sentence | Under Run Length, every view. Only with a Warm-up Period above 0. | Spells out what your statistics cover, such as Runs 30 hours; the first 2 are warm-up; statistics cover the last 28. In calendar mode it gives dates, such as Runs from Wed 28 Oct 08:00 to Sat 28 Nov 08:00; statistics from Fri 30 Oct 08:00. It isn't a setting. |
| Replications | Advanced Settings, Intermediate view. | Number of independent runs. Default 10, from 1 to 100. A number above 100 becomes 100, and one below 1, or a blank box, becomes 1. Your plan may set a lower limit. If you go over it, you'll see Your plan allows up to N replications per run — runs above that will be blocked. Lower this value or contact us to upgrade., with your plan's number as N. A decimal drops its fraction. |
| Time Mode | Advanced Settings, Intermediate view. | clock or calendar. Default clock. Switching to calendar adds Start Date and Finish Date, and leaves Start Date empty. Switching back to clock clears Start Date and keeps Run Length. In a lower view, a calendar model stays calendar and you can't change it. |
| Warm-up Period | Advanced Settings, Intermediate view. | The first part of each replication. A number and a unit. Default 0 hours, which means no warm-up. Clearing the box sets 0. It must be shorter than Run Length, compared across units, so 1 day against 24 hours stops the model, with Warm-up (1 days) must be shorter than the run (24 hours). A negative number becomes 0. |
| Clock Unit | Advanced Settings, Intermediate view. | Seconds, minutes, hours or days. Default minutes. This is the unit the engine counts in, and the unit results use until you pick another with Show time in. It doesn't change how long anything takes. Show time in isn't offered for calendar models, so there this field alone sets the unit of the results. |
| Start Date | Advanced Settings, calendar mode only, every view. | The date and time the run starts, time zero. A date box and a time box, to the minute, saved as you type them. A blank time means 00:00. There's no default, and without it validation stops the model, with Calendar-based simulation requires a start date (the finish date is start + run time). |
| Finish Date | Advanced Settings, calendar mode only, every view. | Another way to set Run Length. It shows Start Date plus Run Length, and picking a date rewrites Run Length in the largest unit that fits exactly, so a week out reads 7 days. Quodsi doesn't store a finish. Without a Start Date it's disabled, with Set the start date first. A date at or before the start shows Finish must be after the start date, and a cleared date shows A run needs a finish date. Neither is saved. |
Other tabs
| Property | Where to find it | What it does |
|---|---|---|
| States | States tab, Intermediate view. | The list of states in the model. |
| Entities | Entities tab, Intermediate view. | The list of entity types. |
| Resources | Resources tab, Intermediate view. | The list of resources. A control at the top of the tab switches between this list and the two below. |
| Requirements | Resources tab, Intermediate view. | The resource requirements that actions use. |
| Schedules | Resources tab, Advanced view. | The work schedules. |
| Arrivals | Arrivals tab, Advanced view. | Lists each arrival pattern and schedule, and what uses it. You can only delete one that nothing uses. You create them on a generator. |
| Validation | The chip in the header, every view. | The list of problems. There's no tab for it in the strip. The chip shows ⚠ and a count when something stops the model, ✓ and a count when only warnings remain, and ✓ alone when all is clear. In Lucidchart it can read Validate until the first check runs. |
Levers tab
The tab is in the Intermediate view and above, and a number on it counts the active levers. Tick a setting to mark it as a lever. It then shows as a one-click card in New what-if. All four sit under Run settings.
| Property | Where to find it | What it does |
|---|---|---|
| Replications | Run settings. | Varies the replication count. Set to, the default, starts at 5, 25 and 5. Add starts at 1, 5 and 1. A result outside 1 to 100 is an error. |
| Run length | Run settings. | Varies Run Length, in the unit beside it. Set to, the default, starts at 1, 5 and 1. Multiply by starts at 0.5, 2 and 0.5. It works in both time modes. In calendar mode the finish moves with it. |
| Random seed | Run settings. | Runs the model on other random draws. Set to only, starting at 0, 4 and 1. Use a whole number from 0 up, because larger seeds than 2^64 wrap round and would repeat a run. See Randomness and replications. |
| Warm-up length | Run settings. | Varies Warm-up Period, in the unit beside it, even when it's 0. Set to only, starting at 0, 4 and 1. Run Length stays put, so a longer warm-up measures less of the run. |
| Label | Under a ticked lever. | The lever's name. Starts as the setting's name. |
| Sweep | Under a ticked lever. | How the values apply. Disabled where a lever has only one choice. |
| min, max, step | Under a ticked lever. | The values to try. |
Example
A consultant studies a call center that runs 24 hours a day. She wants a typical week, so she sets Run Length to 7 days. Calls are already in progress at the start of any real week, so she sets a Warm-up Period of 1 day. Run Length includes the warm-up, so her statistics cover the last 6 days, and the sentence under Run Length says so. She keeps 10 replications at first, then raises it when the confidence intervals are too wide for the decision.
Common mistakes
- Adding the warm-up on top of Run Length. It's inside Run Length. To measure 6 days after a 1-day warm-up, set Run Length to 7 days.
- Reporting a result from 1 replication. See Why one run can mislead.
- Looking for Replications in the Basic view. It's hidden there, and new models use 10.
- Using a warm-up for a process that really does start empty. See Warm-up.
- Expecting Clock Unit to rescale your durations. It doesn't. In a test, a 100-hour run gave the same counts with Clock Unit at minutes or hours. Only the reported unit moved: average time in system read 27.3 in minutes and 0.46 in hours.
- Expecting the run to clear the work in progress. The run stops at Run Length with entities still inside. In that same test, about 3 were still in progress at the end of each replication.
- Switching to calendar and leaving Start Date empty. The model can't run until you set one.