What is a Daitum Model?
A Daitum model is a complete, programmatic description of an optimisation application.
It defines what data to use, how the problem is solved, and how results are presented — all written in Python and serialised to JSON for execution on the Daitum platform.
The three parts
A Daitum model is composed of three artefacts, each built with a dedicated library:
- Model definition (
daitum_model) Defines the data structures and core logic of the problem.
Tables — named collections of records (e.g.
Jobs,Machines)Fields — typed columns within a table (
STRING,DECIMAL,DATETIME, …)Calculations — derived values at the model level (e.g. total cost)
Parameters — user-editable scalar inputs (e.g. a budget limit)
- UI definition (
daitum_ui) Defines the user interface presented in the platform.
Views — tables, Gantt charts, forms, cards, maps, and more
Navigation — navigation structure linking views
Context variables — shared runtime state (filters, toggles)
- Configuration (
daitum_configuration) Defines how the optimisation is executed and data is transformed.
Algorithm — the solving approach (e.g. Genetic Algorithm, VNS)
Optimisation model — decision variables, objectives, and constraints
Data sources — input data mappings, data transforms, report properties
How the parts fit together
The three artefacts share a common object model. Tables and fields defined in
daitum_model are referenced directly in the UI and configuration layers.
This allows a single definition (e.g. a field) to be reused across: - UI components (columns, charts) - optimisation logic (decision variables, constraints) - calculations and outputs
daitum_model ──────────────┐
│ Tables, Fields, ├──► Packaged and deployed to Daitum
│ Calculations │
▼ │
daitum_ui │
│ Views, Navigation │
▼ │
daitum_configuration │
Algorithm, Data ────┘
Deployment
Each artefact is serialised to a Python dict and written to JSON.
These files are bundled into a ZIP archive and uploaded to the Daitum platform.
See the Quickstart for a complete end-to-end example.