Releases: NVE/JulES
Releases · NVE/JulES
v0.4.0
JulES v0.4.0
Release compatible with TuLiPa v0.4.0
Changes since v0.3.0
- Redesigned orchestration and parallellisation with Distributed.jl (not with DistributedArrays.jl as before) and local databases
- Initialization:
- Local databases are created on all available cores and populated with:
- User input, subsystems, scenarios, horizons and problem distribution
- Specific problems are built on their allocated cores
- One of the local databases initializes results. It will have the task of collecting results and timing from all
problems on all cores. Timing can be used to do dynamic load balancing (not implemented). Results and main
problem (clearing or master problem) are on the same core to reduce data transfer overhead
- Local databases are created on all available cores and populated with:
- Each simulation step consist of
- Scenario modelling
- Update and solve problems on their allocated cores
- Collect results and timing
- Possibly do load balancing
- Minimal data transfer
- Some data synced and distributed to all cores (horizons, scenarios, problem distribution, simulation state)
- Most data is collected on demand and locally cached. This (fetch-needed-data-only + cache) minimizes
communication between cores, which is important for performance.
- Initialization:
- Added interfaces for inputs, outputs, scenarios, subsystems, problem distribution (and new methods) and horizon handling
- All problems use the same horizons, a horizon with a high time resolution in the start and a decreasing granularity. Facilitated with ShortenedHorizon, ExternalHorizon and IgnoreMustUpdateShiftfromHorizon.
- Added inflow model
- Added end value problem
- Added support for TuLiPa extensions through JulES
v0.3.0
JulES v0.3.0
Release compatible with TuLiPa v0.3.0
Changes since v0.2.0
- Performance improvement with CPLEX and ShrinkableHorizon
- Generalize JulES code to support both series and parallel power market problems, and subsystem problems (subsystem against exogen price)
- Read and parse input from general config
- Output model results as dictionary. Also log timing and collect storage values
- Static or dynamic scenario generation at different stages in the JulES algorithm
- JulES as a module and using PrecompileTools
- Add MIT license and install guide
- New minimal demos
v0.2.0
JulES v0.2.0
Release compatible with TuLiPa v0.2.0
Changes since first release March 31 2023 and TuLiPa v0.1.0
- Use cuts in market clearing instead of water values
- Handle ramping restrictions for transmission and hydropower production
- Add scenario modelling (Change scenario times: ScenarioOffset instead of TimeDeltaOffset, use InflowClusteringMethod)
- Avoid reservoir emptying (minstoragevalue!)
- Consider head dependent hydro
- Thermal end states from main/simulation scenario rather than mean values from all scenarios
- Add performance results from testing
- Julia v1.7.3 -> v1.9.2 and update all other packages
- Import TuLiPa as a package in demo
- Use parallel simplex (HiGHS SIP) in market clearing. Use presolve instead of warm-start in clearing, long prognosis and in first master problem in each Benders iteration.
- Input solver settings into problems via ProbMethod
- Various bugfixes, inputtypes, changes in model parameters and replacing hardcoding with parameters and interfaces