pySimBlocks.blocks.optimizers.quadratic_program¶
- class pySimBlocks.blocks.optimizers.quadratic_program.QuadraticProgram(name: str, solver: str = 'clarabel')[source]¶
Bases:
BlockGeneral time-varying quadratic program solver block.
Solves at each time step the quadratic program:
minimize 1/2 x^T P x + q^T x
subject to G x <= h, A x = b, lb <= x <= ub
All problem data are provided as input ports and may vary with time. Inequality and equality constraints may be omitted by leaving their input ports unconnected (None).
- solver¶
Name of the QP solver used to solve the problem.
- initialize(t0: float) None[source]¶
Set outputs to default failure values before the first solve.
- Parameters:
t0 – Initial simulation time in seconds.
- output_update(t: float, dt: float) None[source]¶
Fetch inputs, build the QP, solve it, and write outputs.
Output
statusencodes the result: 0 = optimal, 1 = infeasible, 2 = solver error, 3 = input error.costis NaN on failure.- Parameters:
t – Current simulation time in seconds.
dt – Current time step in seconds.