Quodsi Docs

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 ModeHow it worksLowest view
clockCounts 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.
calendarTies 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.

PropertyWhere to find itWhat it does
Model NameTop 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 LengthTop 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 sentenceUnder 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.
ReplicationsAdvanced 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 ModeAdvanced 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 PeriodAdvanced 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 UnitAdvanced 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 DateAdvanced 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 DateAdvanced 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.
There's no field for a description. There's no field for the random seed either: a new model uses 12345, and only a Random seed lever changes it, for that scenario. See Levers tab.
Start Date is saved as you type it, with no time zone. 08:00 on 2 November means the same to everyone who opens the model, wherever they are. A date set in an earlier release can still read differently in another time zone. To fix that, set Start Date again.

Other tabs

PropertyWhere to find itWhat it does
StatesStates tab, Intermediate view.The list of states in the model.
EntitiesEntities tab, Intermediate view.The list of entity types.
ResourcesResources tab, Intermediate view.The list of resources. A control at the top of the tab switches between this list and the two below.
RequirementsResources tab, Intermediate view.The resource requirements that actions use.
SchedulesResources tab, Advanced view.The work schedules.
ArrivalsArrivals 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.
ValidationThe 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.

PropertyWhere to find itWhat it does
ReplicationsRun 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 lengthRun 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 seedRun 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 lengthRun 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.
LabelUnder a ticked lever.The lever's name. Starts as the setting's name.
SweepUnder a ticked lever.How the values apply. Disabled where a lever has only one choice.
min, max, stepUnder 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

Related pages