https://github.com/martinbiel/stochasticprograms.jl

Julia package for formulating and analyzing stochastic recourse models.

https://github.com/martinbiel/stochasticprograms.jl

Science Score: 20.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: arxiv.org, springer.com
  • Committers with academic emails
    1 of 5 committers (20.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.3%) to scientific vocabulary

Keywords

julia l-shaped optimization progressive-hedging stochastic-programming

Keywords from Contributors

mathematical-programming jump-jl
Last synced: 6 months ago · JSON representation

Repository

Julia package for formulating and analyzing stochastic recourse models.

Basic Info
  • Host: GitHub
  • Owner: martinbiel
  • License: mit
  • Language: Julia
  • Default Branch: master
  • Homepage:
  • Size: 3.84 MB
Statistics
  • Stars: 81
  • Watchers: 10
  • Forks: 28
  • Open Issues: 9
  • Releases: 10
Topics
julia l-shaped optimization progressive-hedging stochastic-programming
Created almost 8 years ago · Last pushed about 2 years ago
Metadata Files
Readme License

README.md

StochasticPrograms

A modeling framework for stochastic programming problems

Build Status codecov.io

Installation

julia pkg> add StochasticPrograms

Summary

Stochastic programming models recourse problems where an initial decision is taken, uncertain parameters are observed, followed by recourse decisions to correct any inaccuracy in the initial decision. StochasticPrograms.jl is a general purpose modeling framework for stochastic programming. The framework includes both modeling tools and structure-exploiting optimization algorithms. The underlying optimization problems are formulated using JuMP.jl. Stochastic programming models can be efficiently formulated using an expressive syntax and models can be instantiated, inspected, and analyzed interactively. The framework scales seamlessly to distributed environments. Small instances of a model can be run locally to ensure correctness, while larger instances are automatically distributed in a memory-efficient way onto supercomputers or clouds and solved using parallel optimization algorithms. These structure-exploiting solvers are based on variations of the classical L-shaped, progressive-hedging, and quasi-gradient algorithms.

The framework will prove useful to researchers, educators and industrial users alike. Researchers will benefit from the readily extensible open-source framework, where they can formulate complex stochastic models or quickly typeset and test novel optimization algorithms. Educators of stochastic programming will benefit from the clean and expressive syntax. Moreover, the framework supports analysis tools and stochastic programming constructs, such as expected value of perfect information and value of the stochastic solution, from classical theory and leading textbooks. Industrial practitioners can make use of StochasticPrograms.jl to rapidly formulate complex models, analyze small instances locally, and then run large-scale instances in production. In doing so, they get distributed capabilities for free, without changing the code, and access to well-tested state-of-the-art implementations of parallel structure-exploiting solvers. A good introduction to recourse models, and to the stochastic programming constructs provided in this package, is given in Introduction to Stochastic Programming. To learn more about the package, consider the documentation.

Project Status

The package is tested against Julia 1.6, 1.8 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 Julia}, author={Biel, Martin and Johansson, Mikael}, journal={INFORMS Journal on Computing}, year={2022}, publisher={INFORMS} }

Owner

  • Name: Martin Biel
  • Login: martinbiel
  • Kind: user
  • Location: Stockholm, Sweden
  • Company: Swedish Defence Research Agency (FOI)

GitHub Events

Total
  • Watch event: 8
  • Pull request event: 1
  • Fork event: 3
Last Year
  • Watch event: 8
  • Pull request event: 1
  • Fork event: 3

Committers

Last synced: 6 months ago

All Time
  • Total Commits: 384
  • Total Committers: 5
  • Avg Commits per committer: 76.8
  • Development Distribution Score (DDS): 0.018
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Martin Biel m****3@g****m 377
Alinson S. Xavier g****t@a****g 3
Ryan Walker r****r@p****u 2
metab0t m****t 1
Julia TagBot 5****t 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 44
  • Total pull requests: 9
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 28 days
  • Total issue authors: 30
  • Total pull request authors: 6
  • Average comments per issue: 4.16
  • Average comments per pull request: 0.56
  • Merged pull requests: 5
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • maramos874 (8)
  • rtwalker (3)
  • enri07 (3)
  • bigadolfo (2)
  • BYS543 (2)
  • bandayachul (2)
  • jeremyomer (1)
  • kurtulus-ercan (1)
  • johnzigla (1)
  • iagoleal (1)
  • JuliaTagBot (1)
  • ALamasV (1)
  • simontherien (1)
  • victorgarciareolid (1)
  • lagrangian94 (1)
Pull Request Authors
  • odow (3)
  • dviladrich95 (2)
  • iSoron (2)
  • rtwalker (2)
  • metab0t (1)
  • JuliaTagBot (1)
Top Labels
Issue Labels
bug (1)
Pull Request Labels

Dependencies

.github/workflows/TagBot.yml actions
  • JuliaRegistries/TagBot v1 composite
.github/workflows/ci.yml actions
  • actions/cache v1 composite
  • actions/checkout v2 composite
  • codecov/codecov-action v1 composite
  • julia-actions/julia-buildpkg v1 composite
  • julia-actions/julia-processcoverage v1 composite
  • julia-actions/julia-runtest v1 composite
  • julia-actions/setup-julia v1 composite
.github/workflows/documentation.yml actions
  • actions/checkout v2 composite
  • julia-actions/setup-julia latest composite