Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Cobre

Open infrastructure for power system computation. Built in Rust.

Cobre is an ecosystem of Rust crates for power system analysis and optimization. The first solver vertical implements Stochastic Dual Dynamic Programming (SDDP) for long-term hydrothermal dispatch – a problem central to energy planning in systems with large hydroelectric capacity.

Design goals

  • Production-grade HPC: hybrid MPI + thread parallelism, designed for cluster execution via mpiexec
  • Reproducible results: deterministic output regardless of rank count, thread count, or input ordering
  • Modular architecture: 11 crates with clean boundaries, each independently testable
  • Open solver stack: HiGHS LP solver, no proprietary dependencies for core functionality

Current status

Phases 1 through 6 are complete. The ecosystem delivers a full SDDP training pipeline: entity model and topology validation (cobre-core), JSON/Parquet case loading with 5-layer validation (cobre-io), LP solver abstraction with HiGHS backend and warm-start basis management (cobre-solver), pluggable communication with MPI and local backends (cobre-comm), PAR(p) inflow models with deterministic correlated scenario generation (cobre-stochastic), and the SDDP training loop with forward/backward passes, Benders cut generation, cut synchronization, convergence monitoring, and composite stopping rules (cobre-sddp) – verified by 1490 tests across the workspace. Implementation continues through the 8-phase build sequence, with Phase 7 (simulation + output) as the next candidate.

GitHubgithub.com/cobre-rs/cobre
API docs (rustdoc)cargo doc --workspace --no-deps --open
Methodology referencecobre-rs.github.io/cobre-docs
LicenseApache-2.0