Skip to content

Releases: assume-framework/assume

v0.4.1

08 Oct 20:49
0a9f3fc

Choose a tag to compare

v0.4.1 - latest release (8th October 2024)

New Features:

  • improve LSTM learning strategy (#382)
  • add python 3.12 compatibility (#334)
  • manual strategy for interactive market simulation (#403)

Improvements:

  • add the ability to define the solver for the optimization-based market clearing inside the param_dict of the config file (#432)
  • shallow clone in Jupyter notebooks so that cloning is faster (#433)
  • fixes in storage operation bidding (#417)
  • update GitHub Actions versions (#402)

Bug Fixes:

  • add compatibility with pyyaml-include (#421)
  • make complex clearing compatible to RL (#430)
  • pin PyPSA to remove DeprecationWarnings for now (#431)

v0.4.0

08 Aug 12:42
2399d9d

Choose a tag to compare

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 and zone_id to the buses.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

v0.3.7

21 Mar 09:58
8dd905b

Choose a tag to compare

What's Changed

Full Changelog: v0.3.6...v0.3.7

v0.3.6

21 Mar 09:56

Choose a tag to compare

What's Changed

  • update github actions by @maurerle in #296
  • use latest github actions versions for codecov too by @maurerle in #297
  • Fix tutorial 2 by @nick-harder in #299
  • silence output of gurobipy by specifying an env which does not log by @maurerle in #300
  • fixes writing market_dispatch and dispatch for other product_types by @maurerle in #301
  • Fix datetime warning by @maurerle in #302
  • Add a tutorial for the advanced order types and documentation for the complex clearing by @adamsjohanna in #303
  • Fixes string conversion of paths by @kim-mskw in #307
  • move dmas bidding strategies into try since pyomo is not a required d… by @nick-harder in #308

Full Changelog: v0.3.5...v0.3.6

v0.3.5

14 Feb 08:55
0969c35

Choose a tag to compare

Release Notes - v0.3.5

We are thrilled to announce the release of v0.3.5 of ASSUME Framework. This release marks the introduction of the redispatch module, a tool for congestion management, alongside several bug fixes and improvements. Let's delve into the details of the changes:

Redispatch Module Introduction

Congestion Management

In v0.3.5, the introduction of the redispatch module significantly enhances the framework's capabilities in addressing congestion management challenges. This module is equipped to support both cost-based and market-based redispatch strategies, leveraging the PyPSA network to detect and resolve congestion effectively.

To explore its functionality, users can engage with the Example 01d, wherein a Day-Ahead Energy Market and a subsequent Redispatch Market are employed. Initially, the market is cleared using a single bidding zone, followed by a congestion management process. Furthermore, a detailed Jupyter-based tutorial will be made available to facilitate a deeper understanding of the module's application.

Cost-Based and Market-Based Redispatch

The redispatch module offers support for both cost-based and market-based redispatch strategies. This includes the implementation of "pay as bid" and "pay as clear" market methods, empowering users with versatile tools for congestion management.

Detailed Changes

Redispatch v1

Implemented by @nick-harder. @paragpatil39 and @rqussous in PR #279, this significant update introduces the initial version of the redispatch feature, laying the foundation for advanced congestion management.

New Strategies Allocation

@nick-harder's contribution in PR #289 brings about a crucial change in strategy allocation, now utilizing market names instead of product types, enhancing the overall clarity and usability of the framework.

Bug Fixes and Refinements

  • Storage Operation Fixes: @adamsjohanna addressed some bugs in storage operations, ensuring smoother functionality (PR #291).
  • Removal of Empty Bid Method: In PR #293, @nick-harder eliminated the use of empty bid as a method of bidding strategy, streamlining the bidding process.
  • EOM References Cleanup: @nick-harder's contribution in PR #294 involved the removal of hard-coded EOM references from the code base, ensuring a more flexible and maintainable code structure.
  • Overall scenario loading and other quality improvements by @maurerle

For a comprehensive list of changes, please refer to the Full Changelog.

We encourage all users to upgrade to v0.3.5 to leverage the latest enhancements and bug fixes. Your feedback is invaluable, and we look forward to hearing about your experiences with these new features.

v0.3

06 Feb 13:26
2279ca6

Choose a tag to compare

Release Notes - Version 0.3

What's Changed

Features
Fixes
Documentation
Other

Full Changelog

Full Changelog

v0.2.1

06 Nov 09:34
e537ad6

Choose a tag to compare

What's Changed

Full Changelog: v0.2.0...v0.2.1

v0.2.0

30 Sep 09:33
b1ae73e

Choose a tag to compare

What has changed:

  • The learning performance has been improved
  • The learning can now be also performed on CUDA enabled devices
  • Added tracking of evaluation periods for better learning performance evaluation
  • Storage units behavior bugs have been adressed
  • Now several simulation can be started in parallel
  • New Grafana dashboard definitions for easier analysis
  • Docker compose file now includes Renderer to save plots directly from Grafan dashboards

v0.1.0 - initial release

12 Sep 09:08
5a2f8ed

Choose a tag to compare

This is the initial release of assume-framework, which is published to PyPi.

The assume-framework allows to define different energy market designs and includes reinforcement learning capabilities.

EIA-2023 - Market Abstraction Paper

28 Jun 05:20
b8c95d8

Choose a tag to compare

This tag is used to release a citable version of the code used for the conference paper:
"Market Abstraction of Energy Markets and Policies – Application in an Agent-Based Modeling Toolbox"