GithubHelp home page GithubHelp logo

rtwalker / stochasticprograms.jl Goto Github PK

View Code? Open in Web Editor NEW

This project forked from martinbiel/stochasticprograms.jl

0.0 0.0 0.0 1.63 MB

Julia package for formulating and analyzing stochastic recourse models.

License: MIT License

Julia 100.00%

stochasticprograms.jl's Introduction

StochasticPrograms

A modeling framework for stochastic programming problems

Build Status codecov.io

Installation

pkg> add StochasticPrograms

Summary

StochasticPrograms models recourse problems where an initial decision is taken, unknown parameters are observed, followed by recourse decisions to correct any inaccuracy in the initial decision. The underlying optimization problems are formulated in JuMP.jl. In StochasticPrograms, model instantiation can be deferred until required. As a result, scenario data can be loaded/reloaded to create/rebuild the recourse model at a later stage, possibly on separate machines in a cluster. Another consequence of deferred model instantiation is that StochasticPrograms.jl can provide stochastic programming constructs, such as expected value of perfect information and value of the stochastic solution, to gain deeper insights about formulated recourse problems. A good introduction to recourse models, and to the stochastic programming constructs provided in this package, is given in Introduction to Stochastic Programming. A stochastic program has a structure that can be exploited in solver algorithms. Therefore, StochasticPrograms provides a structured solver interface. Furthermore, a suite of solvers based on L-shaped and progressive-hedging algorithms that implements this interface are included. StochasticPrograms has parallel capabilities, implemented using the standard Julia library for distributed computing.

Project Status

The package is tested against Julia the 1.0, 1.5 and nightly branches on Linux, macOS, and Windows. See NEWS for release notes.

An older version for Julia 0.6 is available on the compat-0.6 branch, but backwards compatibility can not be promised.

Citing

If you use StochasticPrograms, please cite the following preprint:

@Article{spjl,
  title     = {Efficient Stochastic Programming in {J}ulia},
  author    = {Martin Biel and Mikael Johansson},
  journal   = {arXiv preprint arXiv:1909.10451},
  year      = {2019}
}

stochasticprograms.jl's People

Contributors

juliatagbot avatar martinbiel avatar rtwalker 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.