gtopt::PlanningMethod class

Abstract interface for planning problem solvers.

All solvers take a mutable reference to a PlanningLP and solve its LP subproblems. The return value is the number of successfully processed scenes (or an error).

Derived classes

class CascadePlanningMethod final
Multi-level solver with configurable LP formulations per level.
class MonolithicMethod final
Solves each (scene, phase) LP independently using a work pool.
class SDDPPlanningMethod final
Adapter that wraps SDDPMethod behind the PlanningMethod interface.

Constructors, destructors, conversion operators

PlanningMethod() defaulted
PlanningMethod(const PlanningMethod&) deleted
PlanningMethod(PlanningMethod&&) defaulted
~PlanningMethod() defaulted virtual

Public functions

auto operator=(const PlanningMethod&) -> PlanningMethod& deleted
auto operator=(PlanningMethod&&) -> PlanningMethod& defaulted
auto solve(PlanningLP& planning_lp, const SolverOptions& opts) -> std::expected< int, Error > -> auto pure virtual
Solve the planning problem.

Function documentation

auto gtopt::PlanningMethod::solve(PlanningLP& planning_lp, const SolverOptions& opts) -> std::expected< int, Error > pure virtual

Solve the planning problem.

Parameters
planning_lp The LP model to solve (modified in place)
opts Solver options for individual LP subproblems
Returns Number of scenes processed, or an error