gtopt::PhaseLP class

Linear programming phase containing multiple stages.

Represents a contiguous time period (phase) in the planning problem, composed of multiple StageLP objects. Provides:

  • Access to contained stages
  • Phase duration calculation
  • Phase indexing and identification
  • Active/inactive status checks

Constructors, destructors, conversion operators

PhaseLP() defaulted noexcept
Default constructor.
PhaseLP(Phase phase, const PlanningOptionsLP& options, const Simulation& simulation, PhaseIndex phase_index = PhaseIndex {unknown_index}) explicit
PhaseLP(Phase phase, const PlanningOptionsLP& options, std::span<const Stage> stages = {}, std::span<const Block> blocks = {}, PhaseIndex phase_index = PhaseIndex {unknown_index}) explicit
Construct a PhaseLP from phase definition and stages.

Public functions

auto apertures() const -> constexpr const auto& noexcept
auto count_stage() const -> constexpr auto noexcept
auto duration() const -> constexpr auto noexcept
auto first_stage() const -> constexpr auto noexcept
auto index() const -> constexpr auto noexcept
auto is_active() const -> constexpr auto noexcept
auto stages() const -> constexpr const auto& noexcept
auto uid() const -> constexpr auto noexcept

Function documentation

gtopt::PhaseLP::PhaseLP(Phase phase, const PlanningOptionsLP& options, std::span<const Stage> stages = {}, std::span<const Block> blocks = {}, PhaseIndex phase_index = PhaseIndex {unknown_index}) explicit

Construct a PhaseLP from phase definition and stages.

Parameters
phase Phase definition containing first_stage/count_stage
options Planning options (provides annual_discount_rate)
stages Complete collection of all available stages
blocks Complete collection of all available blocks
phase_index Index of this phase in parent container

constexpr const auto& gtopt::PhaseLP::apertures() const noexcept

Returns Per-phase aperture UIDs (empty = use all global apertures)

constexpr auto gtopt::PhaseLP::count_stage() const noexcept

Returns Number of stages in this phase

constexpr auto gtopt::PhaseLP::duration() const noexcept

Returns Total duration of all stages in this phase (hours)

constexpr auto gtopt::PhaseLP::first_stage() const noexcept

Returns Index of first stage in this phase

constexpr auto gtopt::PhaseLP::index() const noexcept

Returns Index of this phase in parent container

constexpr auto gtopt::PhaseLP::is_active() const noexcept

Returns Whether this phase is active in the planning

constexpr const auto& gtopt::PhaseLP::stages() const noexcept

Returns Span of all StageLP objects in this phase

constexpr auto gtopt::PhaseLP::uid() const noexcept

Returns Unique identifier for this phase