This component solves linear programs (LP) and mixed-integer linear programs (MILP) using the optimization tools provided in Python's scipy package.
The objective function that is minimized by this component is variables * weights subject to a list of constraints.
The first input table must specify all variables of the optimization problem, their objective function weights, upper and lower bounds, as well as whether the variable must take on integral values. If at least one variable is required to be integral, the problem turns into a MILP and will be solved with the scipy MILP solver (https://docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.optimize.milp.html). Otherwise it will be solved scipy's linear program solver (https://docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.optimize.linprog.html#scipy.optimize.linprog)
The second input table defines the constraints of this optimization problem, given as upper bounds or equality constraints. Constraints are specified by a coefficient for each variable and a constraining value. For equality constraints this means the solution must satisfy variable coefficient = constraint, where for upper bounds this is in turn variable * coefficient <= constraint.