Efficient Stochastic Programming in Julia

Efficient Stochastic Programming in Julia
复制标题

Julia 中的高效随机编程

DOI:
--
复制
发表时间:
2019
影响因子:
2.1
通讯作者:
M. Johansson
M. Johansson
中科院分区:
计算机科学3区
文献类型:
--
作者:
Martin Biel;M. Johansson

文献摘要

参考文献

被引文献

相似文献

我们提出了StochasticPrograms。jl,一个用户友好的和强大的开源框架,随机编程编写的Julia语言。该框架包括建模工具和结构开发优化算法。随机编程模型可以有效地制定使用表达语法,模型可以实例化,检查和分析交互式。该框架可无缝扩展到分布式环境。模型的小实例可以在本地运行以确保正确性,而较大的实例则以内存高效的方式自动分发到超级计算机或云上,并使用并行优化算法求解。这些结构开发求解器是基于经典的L形,渐进对冲,准梯度算法的变化。我们提供了一个简明的数学背景的各种工具和结构,在框架沿着与代码清单,举例说明他们的用法。这两个软件的创新有关的框架和算法的创新结构化求解器的实施突出显示。最后,我们展示了强大的缩放性能的分布式算法的数值基准在多节点设置。贡献摘要:本文介绍了StochasticPrograms.jl,一个用Julia编程语言实现的随机编程的开源框架。该框架包括一个表达语法制定随机规划模型,以及通用的分析工具和并行优化算法。该框架将被证明是有用的研究人员,教育工作者和工业用户一样。研究人员将从易于扩展的开源框架中受益,在该框架中,他们可以制定复杂的随机模型或快速定型和测试新的优化算法。随机规划的教育工作者将受益于干净和表达语法。此外,该框架支持经典理论和领先教科书中的分析工具和随机规划结构。我们坚信,StochasticPrograms.jl框架可以降低随机编程从业者的入门门槛。行业从业者可以利用StochasticPrograms.jl快速制定复杂的模型,在本地分析小实例,然后在生产中运行大规模实例。这样做,他们可以免费获得分布式功能,而无需更改代码,并可以访问经过良好测试的并行结构开发求解器的最新实现。由于该框架是开源的,来自这些目标受众的任何人都可以为框架贡献新功能。总之,通过为新用户提供直观的界面,并为专家用户提供广泛的开发环境,StochasticPrograms.jl具有强大的潜力,以进一步推动随机规划领域。
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 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, whereas 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. 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 multinode setup. Summary of Contribution: This paper presents StochasticPrograms.jl, an open-source framework for stochastic programming implemented in the Julia programming language. The framework includes an expressive syntax for formulating stochastic programming models as well as versatile analysis tools and parallel optimization algorithms. The framework will prove useful to researchers, educators, and industrial users alike. Researchers will benefit from the readily extensible open-source framework, in which 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 from classical theory and leading textbooks. We strongly believe that the StochasticPrograms.jl framework can reduce the barrier to entry for incoming practitioners of stochastic programming. 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. As the framework is open-source, anyone from these target audiences can contribute with new functionality to the framework. In conclusion, by providing both an intuitive interface for new users and an extensive development environment for expert users, StochasticPrograms.jl has strong potential to further the field of stochastic programming.
DOI: 10.1016/j.ejor.2013.04.017
发表时间: 2013-10
期刊: Eur. J. Oper. Res.
影响因子: --
作者:
Christian Wolf;Achim Koberstein
通讯作者: Christian Wolf;Achim Koberstein
DOI: 10.1287/ijoc.2021.1067
发表时间: 2020-02
期刊: INFORMS J. Comput.
影响因子: --
作者:
B. Legat;O. Dowson;J. Garcia;Miles Lubin
通讯作者: B. Legat;O. Dowson;J. Garcia;Miles Lubin