Files
-
dir docs
- dir methods
-
dir documentation
- dir pages
-
dir gtopt
-
dir input
- file uid_traits.hpp
-
dir json
- file json_aperture.hpp JSON serialization for the Aperture struct.
- file json_basic_types.hpp Header of json basic types.
- file json_battery.hpp JSON serialization support for Battery objects.
- file json_block.hpp JSON serialization for Block.
- file json_bus.hpp
- file json_cascade_options.hpp JSON serialization for CascadeTransition, CascadeLevelMethod, CascadeLevel, and CascadeOptions.
- file json_converter.hpp
- file json_demand.hpp JSON serialization for Demand and DemandAttrs.
- file json_demand_profile.hpp
- file json_enum_option.hpp Generic JSON serialization helper for NamedEnum types.
- file json_field_sched.hpp JSON serialization for FieldSched variant types.
- file json_flow.hpp JSON serialization for Flow objects.
- file json_flow_right.hpp JSON serialization for FlowRight objects.
- file json_generator.hpp
- file json_generator_profile.hpp
- file json_iteration.hpp JSON serialization for Iteration objects.
- file json_junction.hpp
- file json_line.hpp
- file json_lp_matrix_options.hpp JSON serialization for LP matrix options.
- file json_model_options.hpp JSON serialization for ModelOptions.
- file json_monolithic_options.hpp JSON serialization for MonolithicOptions.
- file json_options.hpp JSON serialization for PlanningOptions.
- file json_phase.hpp JSON serialization for Phase objects.
- file json_planning.hpp JSON serialization/deserialization for the Planning class.
- file json_reserve_provision.hpp
- file json_reserve_zone.hpp
- file json_reservoir.hpp
- file json_reservoir_discharge_limit.hpp
- file json_reservoir_production_factor.hpp
- file json_reservoir_seepage.hpp
- file json_right_bound_rule.hpp JSON serialization for RightBoundRule and RightBoundSegment.
- file json_scenario.hpp JSON serialization for Scenario.
- file json_scene.hpp JSON serialization for Scene objects.
- file json_schedule.hpp
- file json_sddp_options.hpp JSON serialization for SddpOptions.
- file json_simulation.hpp JSON serialization/deserialization for the Simulation class.
- file json_single_id.hpp JSON serialization for SingleId variant type.
- file json_solver_options.hpp JSON serialization for LP solver options.
- file json_stage.hpp JSON serialization for Stage.
- file json_system.hpp JSON serialization/deserialization for the System class.
- file json_turbine.hpp
- file json_user_constraint.hpp JSON serialization/deserialization for UserConstraint.
- file json_user_param.hpp JSON serialization for UserParam.
- file json_variable_scale.hpp JSON serialization for VariableScale.
- file json_volume_right.hpp JSON serialization for VolumeRight objects.
- file json_waterway.hpp
- file aperture.hpp Aperture definition for SDDP backward-pass scenario sampling.
- file aperture_data_cache.hpp Pre-loaded aperture scenario data for SDDP backward pass.
- file array_index_traits.hpp Traits and utilities for reading Arrow-indexed arrays.
- file arrow_types.hpp
- file as_label.hpp String label generation utilities.
- file basic_types.hpp Fundamental type definitions for power system planning.
- file battery.hpp Header for battery energy storage components.
- file battery_lp.hpp Header for battery LP formulation.
- file benders_cut.hpp Modular Benders cut construction and handling.
- file block.hpp Time block definition for power system optimization.
- file block_lp.hpp Linear Programming representation of a Block for optimization problems.
- file bus.hpp Busbar electrical model definition.
- file bus_island.hpp Connected-component (island) detection for bus networks.
- file bus_lp.hpp Linear Programming representation of a Bus for optimization problems.
- file capacity.hpp Defines capacity-related structures for planning models.
- file capacity_object_lp.hpp Linear programming representation of capacity-constrained objects.
- file cascade_method.hpp Multi-level cascade method with configurable LP formulations.
- file cascade_options.hpp Cascade solver configuration: transitions, levels, and options.
- file check_lp.hpp Utility for running gtopt_check_lp diagnostics on error LP files.
- file check_solvers.hpp C++ solver plugin test suite callable as a library.
- file cli_options.hpp Modern C++ command-line option parsing (replaces boost::program_options)
- file collection.hpp Header for efficient typed element collection container.
- file config_file.hpp Lightweight INI config file reader for .gtopt.conf.
- file constraint_expr.hpp AST types for parsed user constraint expressions.
- file constraint_parser.hpp Parser for user constraint expressions (AMPL-inspired syntax)
- file converter.hpp Defines the Converter structure for battery-generator coupling.
- file converter_lp.hpp LP formulation for energy converters.
- file cost_helper.hpp Cost calculation and discounting utilities for optimization problems.
- file cpu_monitor.hpp CPU usage monitoring and statistics collection.
- file demand.hpp Header file defining demand-related structures for power system planning.
- file demand_lp.hpp
- file demand_profile.hpp Demand profile configuration and attributes.
- file demand_profile_lp.hpp LP formulation for demand profiles.
- file element_column_resolver.hpp Resolve LP column indices for user-constraint element references.
- file element_context.hpp Provides a context for interacting with elements within a SystemLP.
- file element_index.hpp Type-safe strong index type for elements.
- file element_traits.hpp Defines traits for accessing and manipulating elements in a system context.
- file enum_option.hpp Generic compile-time enum-to-string and string-to-enum framework.
- file error.hpp Header for error handling types and error codes.
- file field_sched.hpp
- file flat_helper.hpp Helper for flattening multi-dimensional optimization data into LP format.
- file flow.hpp Exogenous water flow (inflow/outflow) at a hydraulic junction.
- file flow_lp.hpp Linear programming representation of network flows.
- file flow_right.hpp Flow-based water right (derechos de caudal)
- file flow_right_lp.hpp LP representation of flow-based water rights.
- file fmap.hpp flat_map type alias and map utility helpers
- file generator.hpp Header for generator components in power system planning.
- file generator_lp.hpp Linear Programming representation of a Generator for optimization.
- file generator_profile.hpp Generator profile configuration and attributes.
- file generator_profile_lp.hpp Linear programming representation of generator profiles.
- file gtopt_main.hpp Core application entry point for the gtopt optimizer.
- file index_holder.hpp Multi-dimensional index map type aliases for LP lookups.
- file input_context.hpp Input context for reading scheduled data into LP elements.
- file input_traits.hpp Input data access traits.
- file iteration.hpp Defines the Iteration structure for per-iteration solver control.
- file iteration_lp.hpp LP representation of an Iteration control entry.
- file junction.hpp Hydraulic junction node for hydro cascade systems.
- file junction_lp.hpp Header for junction linear programming formulation.
- file label_maker.hpp Defines the LabelMaker class for creating LP variable labels.
- file line.hpp Header for transmission line components.
- file line_enums.hpp Enumerations for transmission line configuration.
- file line_losses.hpp Modular transmission line losses engine.
- file line_lp.hpp LP formulation for transmission lines.
- file linear_interface.hpp Interface to linear programming solvers.
- file linear_parser.hpp Parser for linear constraint expressions.
- file linear_problem.hpp Header defining data structures for sparse linear planning problems.
- file lp_class_name.hpp Defines the LPClassName struct with modern C++23 features.
- file lp_debug_writer.hpp LpDebugWriter – reusable LP debug file writer with async gzip.
- file lp_element_types.hpp Authoritative compile-time registry of all LP element types.
- file lp_matrix_enums.hpp Named enum types for LP matrix options.
- file lp_matrix_options.hpp Configuration options for LP matrix assembly.
- file lp_stats.hpp Static analysis of LP coefficient matrices for numerical conditioning diagnostics.
- file main_options.hpp Application command-line option parsing and configuration.
- file model_options.hpp Power system model configuration for LP construction.
- file monolithic_enums.hpp Named enum types for monolithic solver options.
- file monolithic_method.hpp Monolithic planning method — solves each (scene, phase) LP independently using a parallel work pool.
- file monolithic_options.hpp Monolithic solver configuration parameters.
- file multi_array_2d.hpp Minimal 2D array wrapper around std::vector.
- file mvector_traits.hpp Recursive multi-dimensional vector traits.
- file object.hpp Core object types and utilities for the optimization framework.
- file object_lp.hpp Linear programming wrapper for objects in the optimization model.
- file object_utils.hpp Utility methods for objects in the optimization framework.
- file options.hpp deprecated Backward-compatibility header — includes planning_options.hpp.
- file options_lp.hpp deprecated Backward-compatibility header — includes planning_options_lp.hpp.
- file osi_solver.hpp Solver back-end selection via COIN-OR Osi layer.
- file output_context.hpp Output context for writing LP results to Parquet/CSV.
- file overload.hpp Overload pattern for combining multiple callables.
- file pampl_parser.hpp Parser for pseudo-AMPL (.pampl) user constraint files.
- file phase.hpp Defines the Phase structure for multi-phase optimization problems.
- file phase_lp.hpp Linear programming phase representation.
- file planning.hpp Header of Planning class.
- file planning_enums.hpp Named enum types for planning options.
- file planning_lp.hpp
- file planning_method.hpp Abstract interface for planning methods and factory function.
- file planning_options.hpp Global configuration parameters for power system optimization.
- file planning_options_lp.hpp Wrapper for PlanningOptions with default value handling.
- file profile_object_lp.hpp Base class for profile-based LP objects.
- file reserve_provision.hpp Defines ReserveProvision – generator contribution to a reserve zone.
- file reserve_provision_lp.hpp LP formulation for reserve provisions.
- file reserve_zone.hpp Defines the ReserveZone structure for spinning-reserve modeling.
- file reserve_zone_lp.hpp LP formulation for reserve zones.
- file reservoir.hpp Defines the Reservoir structure representing a water reservoir.
- file reservoir_discharge_limit.hpp Piecewise-linear volume-dependent discharge limit for reservoirs.
- file reservoir_discharge_limit_lp.hpp LP representation of a ReservoirDischargeLimit constraint.
- file reservoir_enums.hpp Enumerations for reservoir / storage configuration.
- file reservoir_lp.hpp Defines the ReservoirLP class for linear programming representation.
- file reservoir_production_factor.hpp Piecewise-linear turbine efficiency as a function of reservoir volume (hydraulic head)
- file reservoir_production_factor_lp.hpp LP representation of reservoir-dependent turbine efficiency.
- file reservoir_seepage.hpp Piecewise-linear water seepage (seepage) from a reservoir.
- file reservoir_seepage_lp.hpp Linear Programming representation of a ReservoirSeepage system.
- file resolve_planning_args.hpp Resolve planning file arguments and directory context.
- file right_bound_rule.hpp Volume-dependent piecewise-linear bound rule for water rights.
- file scenario.hpp Stochastic scenario definition for power system planning.
- file scenario_lp.hpp
- file scene.hpp Scene data structure for grouping scenarios.
- file scene_lp.hpp Header for SceneLP class that represents a logical scene with LP scenario elements.
- file schedule.hpp Header of FieldSched type.
- file sddp_aperture.hpp Aperture backward-pass logic for SDDP solver.
- file sddp_clone_pool.hpp Cached LP clone pool for SDDP aperture reuse.
- file sddp_common.hpp Common types and forward declarations for the SDDP subsystem.
- file sddp_cut_io.hpp Cut persistence (save/load) for SDDP solver.
- file sddp_cut_sharing.hpp SDDP cut sharing across scenes.
- file sddp_cut_store.hpp Thread-safe storage for SDDP Benders cuts.
- file sddp_cut_store_enums.hpp Enumerations for SDDP Benders cut storage.
- file sddp_enums.hpp Named enum types for SDDP and boundary-cut options.
- file sddp_method.hpp SDDP (Stochastic Dual Dynamic Programming) method for multi-phase planning problems with state variable coupling.
- file sddp_monitor.hpp SDDP monitoring API: write iteration status to a JSON file.
- file sddp_options.hpp SDDP-specific solver configuration parameters.
- file sddp_pool.hpp SDDP-specialised work pool: SDDPTaskKey, SDDPWorkPool, and factory.
- file sddp_state_io.hpp State variable column I/O for SDDP solver.
- file sddp_types.hpp Data types for the SDDP iterative solver.
- file simulation.hpp Header of Simulation class.
- file simulation_lp.hpp
- file single_id.hpp Single-value identifier types (UID or name) for component lookup.
- file solver_backend.hpp Abstract solver backend interface for LP/MIP solvers.
- file solver_enums.hpp Named enum types for LP solver options.
- file solver_monitor.hpp Solver monitoring API: real-time workpool statistics and JSON status file for SDDP and Monolithic solvers.
- file solver_options.hpp Linear programming solver configuration options.
- file solver_registry.hpp Dynamic solver plugin registry with dlopen support.
- file sparse_col.hpp Sparse column representation for linear programming variables.
- file sparse_row.hpp Sparse row representation for linear programming constraints.
- file stage.hpp Planning-period (stage) definition for power system optimization.
- file stage_enums.hpp Named enum types for stage configuration.
- file stage_lp.hpp Header file defining the StageLP class for linear programming stages.
- file state_variable.hpp State variables and dependencies for linear programming problems.
- file storage_lp.hpp LP formulation for energy storage elements.
- file strong_index_vector.hpp Header for type-safe vector access with strong typing.
- file system.hpp Header of System class.
- file system_context.hpp Central execution context for power system optimization.
- file system_lp.hpp SystemLP class for power system linear programming formulation.
- file turbine.hpp Defines the Turbine structure representing a hydroelectric turbine.
- file turbine_lp.hpp Defines the TurbineLP class for linear programming representation.
- file uid_traits.hpp Traits for UID-based data access.
- file uididx_traits.hpp Header for UID-to-index mapping traits for Arrow tables and vectors.
- file user_constraint.hpp User-defined constraint data structure for LP formulation.
- file user_constraint_enums.hpp Enumerations for user-defined constraint configuration.
- file user_constraint_lp.hpp LP element for user-defined constraints.
- file user_param.hpp User-defined named parameters for constraint expressions.
- file utils.hpp General purpose utility functions and helpers.
- file validate_planning.hpp Semantic validation of a parsed Planning object.
- file variable_scale.hpp VariableScale struct and VariableScaleMap for LP variable scaling.
- file volume_right.hpp Volume-based water right (derechos de volumen)
- file volume_right_lp.hpp LP representation of volume-based water rights.
- file waterway.hpp Header for waterway components in hydro power systems.
- file waterway_lp.hpp LP formulation for waterways between junctions.
- file work_pool.hpp Adaptive thread pool with CPU monitoring and priority scheduling.
-
dir input
-
dir source
- file aperture_data_cache.cpp Implementation of ApertureDataCache.
- file array_index_traits.cpp Input data access implementation.
- file battery_lp.cpp Implementation of BatteryLP class for battery LP formulation.
- file benders_cut.cpp Modular Benders cut construction and handling – implementation.
- file bus_island.cpp Connected-component (island) detection for bus networks.
- file bus_lp.cpp Implementation of BusLP class for bus linear programming.
- file capacity_object_lp.cpp Implementation of capacity-constrained object LP formulation.
- file cascade_method.cpp Multi-level cascade method implementation.
- file check_lp.cpp Implementation of run_check_lp_diagnostic() and run_check_json_info()
- file check_solvers.cpp Implementation of the C++ solver plugin test suite.
- file cli_options.cpp Implementation of the modern C++ command-line option parser.
- file constraint_parser.cpp Implementation of the user constraint expression parser.
- file converter_lp.cpp Implementation of converter LP formulation.
- file cost_helper.cpp Implementation of cost factor computation helpers.
- file cpu_monitor.cpp CPU monitoring implementation with C++23 optimizations.
- file demand_lp.cpp Implementation of demand LP formulation.
- file demand_profile_lp.cpp Implementation of demand profile LP formulation.
- file element_column_resolver.cpp Resolve LP column indices for user-constraint element references.
- file flat_helper.cpp Implementation of flat index helpers for scenario/stage/block.
- file flow_lp.cpp Implementation of FlowLP methods.
- file flow_right_lp.cpp Implementation of FlowRightLP methods.
- file generator_lp.cpp Implementation of GeneratorLP class for generator LP formulation.
- file generator_profile_lp.cpp Implementation of generator profile LP operations.
- file gtopt_main.cpp Core application entry point for the gtopt optimizer.
- file input_context.cpp Implementation of InputContext and element_index instantiations.
- file input_traits.cpp
- file junction_lp.cpp Implementation of junction LP formulation.
- file line_losses.cpp
- file line_lp.cpp
- file linear_interface.cpp LinearInterface implementation — solver-agnostic via SolverBackend.
- file linear_parser.cpp
- file linear_problem.cpp Implementation of the linear programming problem representation.
- file lp_debug_writer.cpp Implementation of LpDebugWriter.
- file lp_stats.cpp Implementation of LP coefficient static analysis logging.
- file monolithic_method.cpp Implementation of MonolithicMethod::solve()
- file output_context.cpp Implementation of output context for Parquet/CSV writing.
- file pampl_parser.cpp Implementation of the pseudo-AMPL (.pampl) constraint file parser.
- file planning_lp.cpp
- file planning_method.cpp Factory for planning method instances (monolithic, SDDP, cascade)
- file reserve_provision_lp.cpp
- file reserve_zone_lp.cpp
- file reservoir_discharge_limit_lp.cpp Implementation of ReservoirDischargeLimitLP methods.
- file reservoir_lp.cpp Implementation of ReservoirLP class.
- file reservoir_production_factor_lp.cpp Implementation of ReservoirProductionFactorLP and coefficient updates.
- file reservoir_seepage_lp.cpp Implementation of ReservoirSeepageLP methods.
- file resolve_planning_args.cpp Resolve planning file arguments and directory context.
- file sddp_aperture.cpp Aperture backward-pass logic for SDDP solver.
- file sddp_aperture_pass.cpp Aperture backward pass methods for SDDPMethod.
- file sddp_clone_pool.cpp Cached LP clone pool implementation.
- file sddp_cut_io.cpp Cut persistence (save/load) for SDDP solver.
- file sddp_cut_sharing.cpp SDDP cut sharing across scenes — implementation.
- file sddp_cut_store.cpp Thread-safe storage for SDDP Benders cuts — implementation.
- file sddp_feasibility.cpp SDDP feasibility backpropagation implementation.
- file sddp_forward_pass.cpp SDDP forward pass implementation.
- file sddp_iteration.cpp SDDP main iteration loop (solve method)
- file sddp_method.cpp SDDP (Stochastic Dual Dynamic Programming) method implementation.
- file sddp_monitor.cpp SDDP monitoring API implementation.
- file sddp_state_io.cpp State variable column I/O for SDDP solver.
- file simulation_lp.cpp
- file solver_registry.cpp Dynamic solver plugin registry implementation.
- file system.cpp Header of System class methods.
- file system_context.cpp Implementation of SystemContext initialization.
- file system_lp.cpp Implementation of SystemLP class for power system LP formulation.
- file turbine_lp.cpp Implementation of TurbineLP class.
- file user_constraint_lp.cpp LP element implementation for user-defined constraints.
- file validate_planning.cpp Semantic validation of a parsed Planning object.
- file volume_right_lp.cpp Implementation of VolumeRightLP methods.
- file waterway_lp.cpp Implementation of waterway LP formulation.
- file work_pool.cpp
- file BUILDING.md
- file CHANGELOG.md
- file CONTRIBUTING.md
- file input-data.md
- file cascade.md
- file monolithic.md
- file sddp.md
- file planning-guide.md
- file planning-options.md
- file scripts-guide.md
- file usage.md
- file user-constraints.md
- file about.dox
- file modules.dox
- file test_coverage.md
- file README.md