GithubHelp home page GithubHelp logo

bilevel-atc's Introduction

Cost-optimal ATCs in Zonal Networks

This repository is a companion to the paper [1], and optimizes the Available Transfer Capacity between zones in a zonal network. The scripts are meant to be used with the RE-Europe dataset [2] and scenarios generated as in [3]

Packages needed (Tested version):

- Python 2.7
- Pandas (0.18.1)
- Numpy (1.11.0)
- GurobiPy (6.5.0)
- NetworkX (1.11)
- Matplotlib (1.5.1)
- Seaborn (0.5.1)
- tqdm (4.8.4)

This software was developed on Ubuntu 16.04, and some syntax may be incompatible with other operating systems.

File overview

benders_driver_24bus_3Z.py: Generates plots for the 24 bus test system (Figures 2 and 3).

optimal_driver_stoch.py: Optimizes ATCs for the European test system. Only runs for the hour set in the loadhour variable. To generate the plots in the paper, it is necessary to run this file for loadhour in [1,...,24].

plot_optimized_ATC_layouts.py: Plots the optimized ATC layout (Figure 5) for the set of parameters indicated. Requires optimal_driver_stoch.py to have been run for the same set of parameters.

heuristic_driver_stoch.py: Uses the optimized ATCs, and explicitly evaluates them against all 100 scenarios, along with the heuristics (Static ATC, nodal deterministic). Requires optimal_driver_stoch.py to have been run for the same set of parameters.

optimal_driver_stoch_nodal_direct.py: Generates the optimal stochastic schedule.

save_nodal_stochastic_results.py: Evaluates the optimal stochastic schedule against all scenarios. Requires optimal_driver_stoch_nodal_direct.py to have been run.

plot_functions.py: Plots Figure 4. Requires heuristic_driver_stoch.py and to have been run forloadhour in [1,...,24], and requires save_nodal_stochastic_results.py to have been run.

Solution_strategy.html: Overview of the oslution strategy used to solve large-scale problem instances, as implemented in benders_driver_stoch.py.

Files not provided

Certain files are not provided due to space limitations. These are:

EU_data_scenarios/scenariostore.h5: HDF data store containing signal for load, and scenarios and signals for wind and solar production. The file is organized as

class 'pandas.io.pytables.HDFStore'>
File path: EU_data_scenarios/scenariostore.h5
/load/obs                   frame        (shape->[24,1494])
/solar/obs                  frame        (shape->[24,1494])
/solar/pfcs                 frame        (shape->[24,1494])
/solar/scenarios            wide         (shape->[100,24,1494])
/wind/obs                   frame        (shape->[24,1494])
/wind/pfcs                  frame        (shape->[24,1494])
/wind/scenarios             wide         (shape->[100,24,1494])

With the contents of /wind/scenarios being

<class 'pandas.core.panel.Panel'>
Dimensions: 100 (items) x 24 (major_axis) x 1494 (minor_axis)
Items axis: s0 to s99
Major_axis axis: 2013-06-24 00:00:00 to 2013-06-24 23:00:00
Minor_axis axis: 1 to 1514

To generate these scenarios, see [3]

[1] Jensen, Kazempour, Pinson: "Cost-optimal ATCs in zonal networks" (2016) To be submitted to IEEE Transactions on Power Systems

[2] [https://zenodo.org/record/35177]

[3] [https://github.com/TueVJ/RE-Europe_SimpleEnsembles]

bilevel-atc's People

Contributors

tuevj avatar

Stargazers

 avatar

Watchers

 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.