Skip to content

The Solver step solves linear programming and mixed-integer programming problems from PlaidCloud tables. Use it when a workflow needs to choose values that minimize or maximize an objective while satisfying linear constraints.

Solver runs in a workflow job pod and writes results back to project tables.

Configure four input tables. Each input has a source table, data mapping, and filters. PlaidCloud translates those settings into the database query used to read each input, so selection happens before Solver receives the rows.

One row per decision variable.

ColumnDescription
variable_idUnique variable name used by the other input tables.
lower_boundMinimum value. Leave blank for no lower bound.
upper_boundMaximum value. Leave blank for no upper bound.
typecontinuous, integer, or binary. Binary variables use bounds 0 and 1.

One row per variable with a non-zero objective coefficient.

ColumnDescription
variable_idVariable from the Variables input.
coefficientObjective coefficient for that variable.

Variables missing from this table use coefficient 0.

One row per linear constraint.

ColumnDescription
constraint_idUnique constraint name used by the Coefficients input.
lower_boundMinimum allowed activity. Leave blank for no lower bound.
upper_boundMaximum allowed activity. Leave blank for no upper bound.

Set the same lower and upper bound for an equality constraint.

Sparse matrix of constraint coefficients.

ColumnDescription
constraint_idConstraint from the Constraints input.
variable_idVariable from the Variables input.
coefficientCoefficient for that variable in that constraint.
OptionDescription
Objective DirectionChoose Minimize or Maximize.
Time LimitOptional runtime limit in seconds.
MIP GapOptional relative MIP gap for mixed-integer problems.
Enable PresolveLet the solver simplify the model before solving.
Use Custom ResourcesSet CPU cores and memory for the job pod.

Solver writes three output tables.

Contains one row per variable with the solved value, bounds, variable type, objective coefficient, and reduced cost when available.

Contains one row per constraint with activity, bounds, slack, and dual value when available.

Contains one row with solver status, objective value, runtime, MIP gap, MIP dual bound, node count, iteration count, variable count, and constraint count.

An optimal solve completes the step successfully. If the solver returns a usable solution with a non-optimal status, the step finishes with a warning and still writes the output tables. If no usable solution is available, the step fails with the solver status message.