Efficient Stochastic Programming in Julia

09/23/2019
by   Martin Biel, et al.
0

We present StochasticPrograms.jl, a user-friendly and powerful open-source framework for stochastic programming written in the Julia language. The framework includes both modeling tools and structure-exploiting optimization algorithms. Stochastic programming models can be efficiently formulated using 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 and progressive-hedging algorithms. We provide a concise mathematical background for the various tools and constructs available in the framework, along with code listings exemplifying their usage. Both software innovations related to the implementation of the framework and algorithmic innovations related to the structured solvers are highlighted. We conclude by demonstrating strong scaling properties of the distributed algorithms on numerical benchmarks in a multi-node setup.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
05/31/2019

GENO -- GENeric Optimization for Classical Machine Learning

Although optimization is the longstanding algorithmic backbone of machin...
research
01/26/2023

Distributed Optimization Methods for Multi-Robot Systems: Part II – A Survey

Although the field of distributed optimization is well-developed, releva...
research
10/08/2018

POLO: a POLicy-based Optimization library

We present POLO --- a C++ library for large-scale parallel optimization ...
research
02/25/2020

Least Squares Optimization: from Theory to Practice

Nowadays, Non-Linear Least-Squares embodies the foundation of many Robot...
research
01/26/2023

Distributed Optimization Methods for Multi-Robot Systems: Part I – A Tutorial

Distributed optimization provides a framework for deriving distributed a...
research
05/12/2021

SPUX Framework: a Scalable Package for Bayesian Uncertainty Quantification and Propagation

We present SPUX - a modular framework for Bayesian inference enabling un...
research
11/29/2018

BioSimulator.jl: Stochastic simulation in Julia

Biological systems with intertwined feedback loops pose a challenge to m...

Please sign up or login with your details

Forgot password? Click here to reset