Classes
-
namespace daw
-
namespace json
- namespace detail
- struct FlowRightConstructor
- struct json_data_contract<Aperture>
- struct json_data_contract<Battery>
- struct json_data_contract<Block>
- struct json_data_contract<Bus>
- struct json_data_contract<CascadeLevel>
- struct json_data_contract<CascadeLevelMethod>
- struct json_data_contract<CascadeOptions>
- struct json_data_contract<CascadeTransition>
- struct json_data_contract<Converter>
- struct json_data_contract<Demand>
- struct json_data_contract<DemandAttrs>
- struct json_data_contract<DemandProfile>
- struct json_data_contract<Flow>
- struct json_data_contract<FlowRight>
- struct json_data_contract<Generator>
- struct json_data_contract<GeneratorAttrs>
- struct json_data_contract<GeneratorProfile>
- struct json_data_contract<Iteration>
- struct json_data_contract<Junction>
- struct json_data_contract<Line>
- struct json_data_contract<LpMatrixOptions>
- struct json_data_contract<ModelOptions>
- struct json_data_contract<MonolithicOptions>
- struct json_data_contract<Phase>
- struct json_data_contract<Planning>
- struct json_data_contract<PlanningOptions>
- struct json_data_contract<ProductionFactorSegment>
- struct json_data_contract<ReserveProvision>
- struct json_data_contract<ReserveZone>
- struct json_data_contract<Reservoir>
- struct json_data_contract<ReservoirDischargeLimit>
- struct json_data_contract<ReservoirDischargeLimitSegment>
- struct json_data_contract<ReservoirProductionFactor>
- struct json_data_contract<ReservoirSeepage>
- struct json_data_contract<ReservoirSeepageSegment>
- struct json_data_contract<RightBoundRule>
- struct json_data_contract<RightBoundSegment>
- struct json_data_contract<Scenario>
- struct json_data_contract<Scene>
- struct json_data_contract<SddpOptions>
- struct json_data_contract<Simulation>
- struct json_data_contract<SolverOptions>
- struct json_data_contract<Stage>
- struct json_data_contract<System>
- struct json_data_contract<Turbine>
- struct json_data_contract<UserConstraint>
- struct json_data_contract<UserParam>
- struct json_data_contract<VariableScale>
- struct json_data_contract<VolumeRight>
- struct json_data_contract<Waterway>
- struct LpMatrixOptionsConstructor
- struct MonolithicOptionsConstructor Custom constructor: converts JSON strings → typed enums.
- struct PlanningOptionsConstructor Custom constructor: converts JSON strings → typed enums for PlanningOptions.
- struct RightBoundRuleConstructor Constructs RightBoundRule from nullable JSON fields, applying defaults.
- struct SddpOptionsConstructor Custom constructor: converts JSON strings → typed enums.
- struct SimulationConstructor Custom constructor: converts JSON strings → typed enums for Simulation.
- struct SolverOptionsConstructor Constructs SolverOptions from nullable JSON fields, applying defaults.
- struct StageConstructor Custom constructor: converts JSON month string → MonthType enum.
- struct VolumeRightConstructor Custom constructor: converts JSON reset_month string → MonthType enum.
-
namespace json
-
namespace gtopt
-
namespace cli
- class command_line_parser
- struct option_definition
- class option_value
-
class options_description
- class adder
- class parse_error
- class positional_options_description
- struct typed_value Tag type for typed option building.
- class variables_map
-
namespace detail
- struct IntCacheData
- struct label_size
- struct lp_type_index_impl
- struct lp_type_index_impl<T, std::tuple<Ts...>>
- class string_holder
-
namespace input
- struct UidTraits
-
namespace line_losses
- struct BlockResult LP indices produced by add_block() for one block.
- struct LossConfig Resolved loss parameters for LP construction.
- namespace sddp_file File naming patterns for per-scene cut files.
- struct ActiveTask
- class AdaptiveWorkPool final Default work pool using
int64_tpriority key withstd::lesssemantics (smaller key → higher priority). - struct Aperture One backward-pass opening referencing a source scenario.
- struct ApertureCutResult Result of a single aperture task (clone + update + solve + cut).
-
class ApertureDataCache In-memory cache for aperture-specific schedule data.
- struct ElementKey Outer key: (class_name, element_name) — only ~hundreds of unique pairs.
- struct ElementKeyHash Hash for ElementKey using string hashes combined.
- struct InnerKey Inner key: pure integer triple — O(1) hashed lookup.
- struct InnerKeyHash Hash for InnerKey combining three integer hashes.
- struct ApertureEntry
- struct ArrayIndexBase
- struct ArrayIndexTraits
- struct ArrowTraits
- struct ArrowTraits<double>
- struct ArrowTraits<int>
- struct ArrowTraits<int16_t>
- struct ArrowTraits<int8_t>
- struct ArrowUidTraits
- struct BackwardPassOutcome Outcome of running the backward pass across all scenes.
- struct BasicTaskRequirements Task requirements with a generic priority key.
-
class BasicWorkPool Adaptive thread pool with generic priority key.
- struct Statistics
- struct Battery Represents a battery energy storage system (BESS)
- class BatteryLP Linear programming representation of a battery energy storage system.
- class BendersCut Class-based interface for Benders cut construction with work-pool support and infeasibility monitoring.
- struct Block Smallest time unit in the optimization horizon.
- class BlockLP
- struct Bus Electrical busbar (node) in the power network.
- class BusLP
- struct Capacity Complete capacity entity with identification and attributes.
- struct CapacityObjectBase Base class providing capacity constraint logic for LP objects.
- struct CapacityObjectLP A linear programming representation of an object with capacity constraints.
- struct CascadeLevel One cascade level configuration.
- struct CascadeLevelMethod Solver options for one cascade level.
- struct CascadeLevelStats Statistics collected for each cascade level after solving.
- struct CascadeOptions Cascade solver configuration: variable number of levels.
- class CascadePlanningMethod final Multi-level solver with configurable LP formulations per level.
- struct CascadeTransition Transition configuration: how a cascade level receives information from the previous level.
- struct ColLabelTag Tag types for dispatching lp_label to col or row variant.
- class Collection A container for managing typed elements with efficient lookup by name, UID, or index.
- struct ConstraintDomain Domain over which a constraint is instantiated.
- struct ConstraintExpr Complete parsed constraint expression.
- class ConstraintParser Parser for AMPL-inspired user constraint expressions.
- struct ConstraintTerm A single term in a constraint expression.
- struct Converter Couples a battery to a generator (discharge) and a demand (charge)
- class ConverterLP
- class CostHelper Handles cost calculations with time discounting for optimization problems.
- class CPUMonitor
- struct CutLoadResult Result of a cut load operation.
- struct Demand Represents an electrical demand (load) at a bus.
- struct DemandAttrs Technical and economic attributes shared by demand objects.
- class DemandLP
- struct DemandProfile Time-varying load-shape profile for a demand element.
- class DemandProfileLP
- class DisjointSetUnion Disjoint Set Union (Union-Find) with path compression and union by rank.
- struct ElasticSolveResult
- class ElementContext Provides a context for interacting with elements within a SystemLP.
- struct ElementIndex
- struct ElementRef Reference to a gtopt element and one of its LP attributes.
- struct ElementTraits Defines default traits for element access and manipulation.
- struct ElementTraits<SystemContext, BusLP> Specialization of
ElementTraitsforBusLPelements. - struct EnumEntry Name-value pair for an enumerator.
- struct enumerate_adapter
- struct Error
- struct FeasibilityCutResult Result structure for feasibility cut building.
- class FlatHelper Converts multi-dimensional optimization data into flat vectors for LP formulation.
-
struct FlatLinearProblem Represents a linear problem in column-major flat representation.
- struct RowTypeStatsEntry
- struct Flow Exogenous water flow at a hydraulic junction.
- class FlowLP
- struct FlowRight Flow-based water right (derechos de caudal)
-
class FlowRightLP
- struct BoundState
- struct ForwardPassOutcome Outcome of running the forward pass across all scenes.
- struct Generator Represents a generation unit (thermal, renewable, hydro) at a bus.
- struct GeneratorAttrs Core technical and economic attributes shared by generator objects.
- class GeneratorLP
- struct GeneratorProfile Time-varying capacity-factor profile for a generator.
- class GeneratorProfileLP Linear programming representation of a generator profile.
- struct IndexRange Specifies a set of index values for a time dimension.
- class InputContext
- struct InputTraits Input data access traits.
-
class IotaRange
- class iterator
- struct Iteration Per-iteration control flags for the SDDP solver.
- class IterationLP LP-side wrapper for an Iteration control entry.
- struct Junction Hydraulic node in a hydro cascade network.
- class JunctionLP Linear programming formulation for power system junctions.
- class LabelMaker
- struct Line Represents a transmission line (branch) connecting two buses.
-
class LinearInterface
- struct FILEcloser
- struct HandlerGuard
- struct LogFileGuard RAII guard for solver-native file-based logging (set_log_filename API).
- class LinearParser
- class LinearProblem Main class for building and manipulating linear planning problems.
- class LineLP
- struct LPClassName
- class LpDebugWriter
- struct LPKey
- struct LpMatrixOptions Configuration options for converting to flat LP representation.
- struct LPVariable
- struct MainOptions All command-line options consumed by gtopt_main().
- struct ModelOptions Power system model configuration for LP construction.
- struct MonitorPoint A single real-time sample point (CPU load, active workers, timestamp).
- class MonolithicMethod final Solves each (scene, phase) LP independently using a work pool.
- struct MonolithicOptions Monolithic solver configuration parameters.
- class MultiArray2D Minimal 2D array wrapper around std::vector.
- struct mvector_traits
- struct mvector_traits<Type, Tuple, 1U>
- struct NamedStateTarget State variable target for cross-LP transfer (using variable names).
- struct Object Base object type providing common identification functionality.
- struct ObjectAttrs Basic attributes common to all objects in the system.
- struct ObjectId
- class ObjectLP Wrapper class that adds LP capabilities to objects.
- struct ObjectSingleId
- class ObjectUtils Provides common utility methods for objects in the optimization framework.
- class OptSchedule
- class OutputContext
- struct Overload
- class PamplParser Parser for pseudo-AMPL constraint files (.pampl)
- struct PamplParseResult Result of parsing a PAMPL file or string.
- struct ParseResult
- struct Phase Groups consecutive planning stages into a higher-level period.
- class PhaseLP Linear programming phase containing multiple stages.
- struct PhaseStateInfo Per-phase SDDP state: a variable, outgoing links, forward-pass cost.
- struct Planning Represents a complete power planning model.
-
class PlanningLP Linear programming model for power system planning.
- struct SddpSummary Summary of the last SDDP solve (populated by the SDDP solver).
- class PlanningMethod Abstract interface for planning problem solvers.
- struct PlanningOptions Global configuration parameters for the optimization model.
- class PlanningOptionsLP Wrapper for PlanningOptions with default value handling.
- struct ProductionFactorSegment One segment of the piecewise-linear efficiency curve.
-
class ProfileObjectLP Base class for profile-based LP objects.
- struct CapacityInfo Capacity info stored during LP construction for aperture updates.
- struct RelaxedVarInfo
- struct ReserveProvision Generator contribution to spinning-reserve zone(s)
-
class ReserveProvisionLP
- struct Provision
- struct ReserveZone Regional spinning-reserve requirement zone.
-
class ReserveZoneLP
- struct Requirement
- struct Reservoir Water reservoir in a hydro cascade system.
- struct ReservoirDischargeLimit Volume-dependent discharge limit for a reservoir.
- struct ReservoirDischargeLimitCoeffs LP constraint coefficients for the drawdown limit.
-
class ReservoirDischargeLimitLP LP wrapper for ReservoirDischargeLimit constraints.
- struct RDLState Tracks current LP state for coefficient updates.
- struct ReservoirDischargeLimitSegment One segment of the piecewise-linear drawdown limit curve.
- class ReservoirLP Linear programming representation of a water reservoir.
- struct ReservoirProductionFactor Reservoir-dependent turbine efficiency (PLP "rendimiento")
-
class ReservoirProductionFactorLP LP representation of a ReservoirProductionFactor element.
- struct CoeffIndex Per-block conversion row and flow column indices for coefficient updates.
- struct ReservoirSeepage Piecewise-linear seepage model between a waterway and a reservoir.
- struct ReservoirSeepageCoeffs LP constraint coefficients for volume-dependent seepage.
-
class ReservoirSeepageLP LP wrapper for ReservoirSeepage systems.
- struct ReservoirSeepageState Tracks the volume columns and current LP state for coefficient updates.
- struct ReservoirSeepageSegment One segment of the piecewise-linear seepage curve.
- struct ResolvedCol
- struct RightBoundRule Volume-dependent bound rule for water rights.
- struct RightBoundSegment One segment of a piecewise-linear bound function.
- struct RowLabelTag
- struct RowTypeStats Per-row-type coefficient statistics.
-
class ScaledView
- class iterator Iterator support for range-for loops.
- struct Scenario One possible future realization in stochastic planning.
- class ScenarioLP
- struct Scene
- class SceneLP Represents a logical scene with linear programming scenario elements.
- struct ScenePhaseLPStats Label + stats for a single scene/phase LP.
- class Schedule
- class SDDPClonePool
- class SDDPCutStore
- struct SDDPIterationResult Result of a single SDDP iteration (forward + backward pass)
- class SDDPMethod Iterative SDDP solver for multi-phase power system planning.
- struct SddpOptions SDDP-specific solver configuration parameters.
- struct SDDPOptions Configuration options for the SDDP iterative solver.
- class SDDPPlanningMethod final Adapter that wraps SDDPMethod behind the PlanningMethod interface.
- struct SDDPStatusSnapshot
- class SDDPWorkPool final Work pool specialised for the SDDP solver with tuple priority key.
- struct Simulation Complete time-structure of a planning simulation.
- class SimulationLP Linear programming representation of a power system simulation.
- class SolverBackend Abstract interface for LP/MIP solver backends.
- class SolverMonitor Background thread that samples workpool statistics and writes JSON.
- struct SolverOptions Configuration options for linear programming solvers.
-
class SolverRegistry Singleton registry for dynamically loaded solver plugins.
- struct PluginHandle
- struct SolverTestReport Aggregated results for all tests run against one solver.
- struct SolverTestResult Result of running one named test against one solver.
- class SparseCol Represents a variable column in a linear program.
- class SparseRow Represents a constraint row in a linear program with sparse coefficients.
- struct Stage Investment period grouping consecutive time blocks.
- class StageLP A class representing a stage in a linear programming planning problem.
-
class StateVariable
- struct Key
- struct StateVarLink Describes one state-variable linkage between consecutive phases.
- struct STBUids
- class StorageLP
- struct StorageOptions Options controlling storage LP behaviour for a single add_to_lp call.
- struct StoredCut A serialisable representation of a Benders cut.
- class StrongIndexVector
- struct STUids
- struct SumElementRef Aggregation over multiple elements of the same type.
- struct System Complete physical power system model.
- class SystemContext
- class SystemLP Central coordinator for power system LP formulation.
- class Task Generic task wrapper with type-erased key type.
- struct TUids
- struct Turbine Hydroelectric turbine converting water flow into electrical power.
- class TurbineLP Linear programming representation of a hydroelectric turbine.
- struct UidColumn
- struct UidMapTraits
- struct UidToArrowIdx
- struct UidToArrowIdx<ScenarioUid, StageUid>
- struct UidToArrowIdx<ScenarioUid, StageUid, BlockUid>
- struct UidToArrowIdx<StageUid>
- struct UidToArrowIdx<StageUid, BlockUid>
- struct UidToVectorIdx
- struct UidToVectorIdx<ScenarioUid, StageUid>
- struct UidToVectorIdx<ScenarioUid, StageUid, BlockUid>
- struct UidToVectorIdx<StageUid>
- struct UidToVectorIdx<StageUid, BlockUid>
- struct UidTraits Traits for UID-based data access patterns.
- struct UserConstraint Stores a user-defined linear constraint expression.
- class UserConstraintLP LP element wrapping a single user-defined constraint.
- struct UserParam
- struct ValidationResult Result of semantic validation.
- struct VariableScale Scale definition for an LP variable.
- class VariableScaleMap Lookup table for variable scales built from an array of VariableScale.
- struct VolumeRight Volume-based water right (derechos de volumen)
-
class VolumeRightLP LP representation of a volume-based water right.
- struct BoundState Cached bound rule evaluation per (scenario, stage).
- struct Waterway Water channel connecting two hydraulic junctions.
- class WaterwayLP
- struct WorkPoolConfig
-
namespace cli
- namespace gtopt
- namespace gtopt
- namespace gtopt
- namespace gtopt
- namespace gtopt
- namespace gtopt
- namespace gtopt
- namespace gtopt
- namespace gtopt
- namespace gtopt
- namespace gtopt
- namespace gtopt
- namespace gtopt
- namespace gtopt
- namespace gtopt
- namespace gtopt
- namespace gtopt
- namespace gtopt
- namespace gtopt::line_losses
-
namespace std
- namespace ranges
- struct formatter<gtopt::LPAlgo>
- struct formatter<gtopt::LPClassName>
- struct formatter<gtopt::SolverLogMode>
- struct formatter<gtopt::SolverScaling>
- struct incrementable_traits<gtopt::BlockIndex>
- struct incrementable_traits<gtopt::StrongIndexType<Tag>>
- class FlatHelper Converts scenario/stage/block indexed data into flat vectors for saving.
- class SystemContext Manages optimization state and provides core functionality for LP formulation.