GithubHelp home page GithubHelp logo

darkieq / q-learning-electricity-market Goto Github PK

View Code? Open in Web Editor NEW

This project forked from thomas-haydn/q-learning-electricity-market

0.0 0.0 0.0 6 KB

Includes a reincorement learning algorithm which is used to simulate a simple electricity market

Python 100.00%

q-learning-electricity-market's Introduction

Q-learning-electricity-market

author = Thomas Haydn

This algorithm simulates price bidding behavior of different players in a electricity market with uniform bidding.

Each player is owner of multiple generators and can decide on a bidding strategy for each generator individually.

Players use a simple reinforcement learning strategy (Q-learning) to improve from auction-round to auction-round.

How to use it:

Parameter settings can be changed in order to apply the algorithm to a specific problem. Parameters can be changed

in the sector 'Global Variables' (line 457). Moreover 3 csv. files are needed for data input.

Changeable parameters:

ACTION_PER_GEN...Number of allowed price bids per generator. (example = 4)

PRICE_COEF...Multiplier for highest allowed price bid. (example = 2)

STATE_SIZE...Number of states. For a constant demand a STATE_SIZE of 1 is reasonable. For altering demands more states

improve agents' performance but more iterations are needed. (example = 1)

PLAYER_NMB...Number of simulated players. Games wih more than 3 players tend to become intraceable. (example = 2)

PLAYER_GEN_NMB...Has the form of a list and summarizes the number of generators each player owns.

(example: 2 players, player1 owns 2 generators, player2 owns 3 generators = [2,3])

RUNS... Number of experiment runs. Each experiment should be run multiple times. (example = 50)

EPSILON_MAX... Maximal value epsilon can reach. A value of 1 is highly recommended.

EPSILON_MIN...Minimal value epsilon can reach. A value if 0 is highly recommended

EPSILON_DECAY_RATE...Regulates epsilon decay process. We recommend to select a EPSILON_DECAY_RATE according to:

EPSILON_DECAY_RATE = 5/iterations

LEARNING_RATE...Fegulates how fast new experiences influence according Q-values. For bigger set-ups a lower

lower learning rate is sufficient. Learning rates should not be set higher than 0.1.

Needed csv files:

demand_45000.csv...Has to include one demand value for each iteration. Each iterations is represented by one row.

capacity.csv...Has to include one capacity value for each generator. Each generator is represented by one row.

The first row is distributed to the first player's generator and so on.

costs.csv...Has to include one marginal cost value for one produced unit of electricity for each generator.

Each generator is represented by one row. The first row is distributed to the first player's generator and so on.

q-learning-electricity-market's People

Contributors

thomas-haydn avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.