Results and export
The CLI returns the candidate set with one extra column for every declared decision column.
+----+--------+-------+-------------+| id | weight | value | is_selected |+----+--------+-------+-------------+| 1 | 5 | 44.61 | 1.0 || 2 | 20 | 22.13 | 0.0 || 3 | 12 | 98.80 | 1.0 |+----+--------+-------+-------------+
optimal · objective 389.79 · highsCandidate rows stay visible
Section titled “Candidate rows stay visible”Every candidate row is returned by the CLI, including rows the solver did not
choose. Filter rows with a decision value of 1.0 in your next processing
step.
Candidate columns retain their candidate-set order. Decision columns follow them.
Numeric decision values
Section titled “Numeric decision values”Decision values are printed as floating-point numbers, including columns
declared as INTEGER or 0/1 decisions. This is why a selected value appears as
1.0.
A decision column grouped with BY (...) repeats the group’s single selected
value on every row in that group.
Solver report
Section titled “Solver report”The final line reports three values:
- solver status, such as
optimal - objective value
- solver backend, such as
highs
Infeasible and unbounded models return no result table. The process exits non-zero with an error.
Export CSV
Section titled “Export CSV”Use --export to write the same CLI rows to a CSV file while keeping the
printed result.
./deql \ --register-files inventory.csv \ candidates.deql \ query.deql \ --export solution.csvThe output contains one header row for the complete file.
id,weight,value,is_selected1,5,44.61,1.02,20,22.13,0.03,12,98.8,1.0