v0.4.0
New Features:
-
Market Coupling: Users can now perform market clearing for different market zones with given transmission capacities. This feature
allows for more realistic simulation of market conditions across multiple interconnected regions, enhancing the accuracy of market
analysis and decision-making processes. A tutorial on how to use this feature is coming soon. -
Adjust the Framework to Schedule Storing to the Learning Role: This enhancement enables Learning agents to participate in sequential
markets, such as day-ahead and intraday markets. The rewards are now written after the last market, ensuring that the learning process
accurately reflects the outcomes of all market interactions. This improvement supports more sophisticated and realistic agent training scenarios.
A tutorial on how to use this feature is coming soon. -
Multiprocessing: Using a command line option, it is now possible to use run each simulation agent in its own process to speed up larger simulations.
You can read more about it in :doc:distributed_simulation
-
Steel Plant Demand Side Management Unit: A new unit type has been added to the framework, enabling users to model the demand side management
of a steel plant. This feature allows for more detailed and accurate simulations of industrial energy consumption patterns and market interactions.
This unit can be configured with different components, such as the electric arc furnace, electrolyzer, and hot storage, to reflect the specific
characteristics of steel production processes. The process can be optimized to minimize costs or to maximize the available flexibility, depending
on the user's requirements. A tutorial and detailed documentation on how to use this feature are coming soon.
Improvements:
- Significant speed up of the framework and especially of the learning process
- Separated scenario loader function to improve speed and reduce unrequired operations
- Refactored unit operator by adding a seperate unit operator for learning units
- Enhanced learning output and path handling
- Updated dashboard for better storage view
- Improved clearing with shuffling of bids, to avoid bias in clearing of units early in order book
- Introduced a mechanism to clear the market according to defined market zones while maintaining information about
individual nodes, enabling the establishment of specific market zones within the energy market and subsequent
nodal-based markets such as redispatch. - Added
zones_identifier
to the configuration file andzone_id
to thebuses.csv
, and refactored the complex market
clearing algorithm to incorporate zone information, ensuring that bids submitted with a specific node are
matched to the corresponding market zone. - If any values in the availability_df.csv file are larger than 1, the framework will now warn the user
and run a method to normalize the values to [0, 1]. - Examples have been restructed to easier orientation and understanding: example_01.. cover all feature demonstration examples,
example_02.. cover all learning examples, example_03.. cover all full year examples
Bug Fixes:
- Fix learning when action dimension equals one
- Fixed Tutorial 5
- Correctly calculated timezone offsets
- Improved handling of rejected bids
- Fix the error that exploration mode is used during evaluation
- Fix double dispatch writing
- Fixed complex clearing with pyomo>=6.7
- Resolved various issues with learning and policy saving
- Fixed missing market dispatch values in day-ahead markets
- Added a check for availability_df.csv file to check for any values larger than 1
Other Changes:
- Added closing word and final dashboard link to interoperability tutorial