GithubHelp home page GithubHelp logo

mlubin / robustccopfsupplement Goto Github PK

View Code? Open in Web Editor NEW
28.0 6.0 13.0 953 KB

Repository containing supplementary data and code for "A Robust Approach to Chance Constrained Optimal Power Flow with Renewable Generation" by Lubin, Dvorkin, and Backhaus

Julia 6.96% MATLAB 93.04%

robustccopfsupplement's Introduction

RobustCCOPFSupplement

Repository containing supplementary data and code for "A Robust Approach to Chance Constrained Optimal Power Flow with Renewable Generation" by Lubin, Dvorkin, and Backhaus. DOI

Installation instructions:

The optimization model was implemented by using the JuMPChance extension to JuMP in the Julia programming language. Additionally, we used Gurobi 6.0 in our numerical experiments. Gurobi is a commercial solver which must be installed and licensed separately (one may easily use a different solver if Gurobi is not available, see the JuMP documentation).

The experiments require Julia 0.3 or later, and the following Julia packages:

You should force the use of particular versions of these Julia packages with

julia> Pkg.pin("JuMP", v"0.9.0")
julia> Pkg.pin("JuMPChance", v"0.1.1")
julia> Pkg.pin("Gurobi", v"0.1.26")

Running the code:

The code for the experiments is contained in the codejl directory. Note that it is under 700 lines of code. The file input.jl contains routines and data structures for processing the input, and the file ccopfmodel_simulation.jl (heavily commented) contains the main simulation logic and optimization model.

You can run the robust chance-constrained OPF model by entering the run directory and executing:

julia ../codejl/ccopfmodel_simulation.jl bpa-season1-gamma1.0.dat

By default, this will run a small sample (10 hours) from the first season used in the experiment. See line 220 of ccopfmodel_simulation.jl to adjust this. The output of the simulation is a .mat file (ccopf_bpa_simulation_results_season1_gamma1.0.mat) which can be opened directly in MATLAB or loaded in Julia via the MAT package. Contained in the .mat file are the optimal objective values, solution times, solution status, and optimal values for the decision variables. See lines 323 and below of ccopfmodel_simulation.jl for more details on the output format.

The file bpa-season1-gamma1.0.dat specifies all of the input paths and parameters for the simulation. In particular, one can modify the robust_budget to chance the budget of uncertainty ฮ“ for the parameters of the Gaussian distributions, as discussed in the paper.

robustccopfsupplement's People

Contributors

mlubin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

robustccopfsupplement's Issues

Updating to be compatible with latest versions of Julia/JuMP/JuMPChance

Dear Miles,

Thank you for making the case study from your paper available! I'm trying to update the code to work against Julia 0.5.0, JuMPChance 0.3.0 and JuMP 0.14.1. I hope to work towards some computational tests of the CC/RCC approaches against scenario sampling to incorporate uncertainty.

I tried to fix al the depreciation warnings (Julia base / JuMP macro rename), but the problem seems infeasible now (all time steps). I tried both Gurobi and CPLEX, CC and RCC, both the reformulation and cut techniques (for CC).

Furthermore, It seems the meaning of the 'with_probability' keyword was switched (epsilon to 1-epsilon)?

I will send a pull request. In any case, thank you for your time and the contribution of this case study to the community! Tips/ hints welcome to solve this issue.

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.