gtopt directory
Directories
Files
- 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.