HOME

TheInfoList



OR:

SAMPL, which stands for "Stochastic
AMPL AMPL (A Mathematical Programming Language) is an algebraic modeling language to describe and solve high-complexity problems for large-scale mathematical computing (i.e., large-scale optimization and scheduling-type problems). It was developed b ...
", is an
algebraic modeling language Algebraic modeling languages (AML) are high-level computer programming languages for describing and solving high complexity problems for large scale mathematical computation (i.e. large scale optimization type problems). One particular advantage of ...
resulting by expanding the well-known language
AMPL AMPL (A Mathematical Programming Language) is an algebraic modeling language to describe and solve high-complexity problems for large-scale mathematical computing (i.e., large-scale optimization and scheduling-type problems). It was developed b ...
with extended syntax and keywords. It is designed specifically for representing
stochastic programming In the field of mathematical optimization, stochastic programming is a framework for modeling optimization problems that involve uncertainty. A stochastic program is an optimization problem in which some or all problem parameters are uncertain, ...
problems and, through recent extensions, problems with chance constraints, integrated chance constraints and
robust optimization Robust optimization is a field of mathematical optimization theory that deals with optimization problems in which a certain measure of robustness is sought against uncertainty that can be represented as deterministic variability in the value of the ...
problems. It can generate the deterministic equivalent version of the instances, using all the solvers AMPL connects to, or generate an SMPS representation and use specialized decomposition based solvers, like
FortSP FortSP is a software package for solving stochastic programming (SP) problems. It solves scenario-based SP problems with recourse as well as problems with chance constraints and integrated chance constraints. FortSP is available as a standalone ...
.


Language Features

SAMPL shares all language features with AMPL, and adds some constructs specifically designed for expressing scenario based
stochastic programming In the field of mathematical optimization, stochastic programming is a framework for modeling optimization problems that involve uncertainty. A stochastic program is an optimization problem in which some or all problem parameters are uncertain, ...
and
robust optimization Robust optimization is a field of mathematical optimization theory that deals with optimization problems in which a certain measure of robustness is sought against uncertainty that can be represented as deterministic variability in the value of the ...
.


Stochastic programming features and constructs

To express scenario-based SP problems, additional constructs describe the tree structure and group the decision variable into stages. Moreover, it is possible to specify which parameter stores the probabilities for each branch of the tree and which set represents the scenario set. Other constructs to easily define chance constraints and integrated chance constraint in an SP problem are available as well. Using these language constructs allows to retain the structure of the problem, hence making it available to the solvers, which might exploit it using specialized decomposition methods like
Benders' decomposition Benders decomposition (or Benders' decomposition) is a technique in mathematical programming that allows the solution of very large linear programming problems that have a special block structure. This block structure often occurs in applications ...
to speed-up the solution.


Robust optimization constructs

SAMPL supports constructs to describe three types of robust optimization formulations: * Soyster * Bertsimas and Sim * Ben-Tal and Nemirovski


Availability

SAMPL is currently available as a part of the software AMPLDev (distributed b
www.optirisk-systems.com
. It supports many popular 32- and 64-bit platforms including
Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
,
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
and
Mac OS X macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac (computer), Mac computers. Within the market of ...
. A free evaluation version with limited functionality is available.


A stochastic programming sample model

The following is the SAMPL version of a simple problem (Dakota), to show the SP related constructs. It does not include the data file, which follows the normal AMPL syntax (see the
example Example may refer to: * '' exempli gratia'' (e.g.), usually read out in English as "for example" * .example, reserved as a domain name that may not be installed as a top-level domain of the Internet ** example.com, example.net, example.org, ex ...
provided in the AMPL Wikipedia page for further reference). scenarioset Scen; tree Tree := twostage; random param Demand; probability P; suffix stage 1; suffix stage 2; suffix stage 2;


Solvers connectivity

SAMPL instance level format for SP problems is SMPS, and therefore the problem can be solved by any solver which supports that standard. One of such solvers (FortSP) is included in the standard SAMPL distribution. Regarding robust optimization problems, the needed solver depend on the specific formulation used, as Ben-Tal and Nemirovski formulation need a second-order cone capable solver.


See also

*
Algebraic modeling language Algebraic modeling languages (AML) are high-level computer programming languages for describing and solving high complexity problems for large scale mathematical computation (i.e. large scale optimization type problems). One particular advantage of ...
*
AIMMS AIMMS (acronym for Advanced Interactive Multidimensional Modeling System) is a prescriptive analytics software company with offices in the Netherlands, United States, China and Singapore. It has two main product offerings that provide modeling and ...
*
AMPL AMPL (A Mathematical Programming Language) is an algebraic modeling language to describe and solve high-complexity problems for large-scale mathematical computing (i.e., large-scale optimization and scheduling-type problems). It was developed b ...
*
FortSP FortSP is a software package for solving stochastic programming (SP) problems. It solves scenario-based SP problems with recourse as well as problems with chance constraints and integrated chance constraints. FortSP is available as a standalone ...
*
GAMS Gams is a municipality in the ''Wahlkreis'' (constituency) of Werdenberg in the canton of St. Gallen in Switzerland. History Gams is first mentioned in 835 as ''Campesias''. In 1210 it was mentioned as ''Chames'', in 1236 as ''Gamps''. Unti ...
– General Algebraic Modeling System *
GLPK The GNU Linear Programming Kit (GLPK) is a software package intended for solving large-scale linear programming (LP), mixed integer programming (MIP), and other related problems. It is a set of routines written in ANSI C and organized in the fo ...
– free open source system based on a subset of AMPL *
MPS (format) MPS (Mathematical Programming System) is a file format for presenting and archiving linear programming (LP) and mixed integer programming problems. Overview The format was named after an early IBM LP product and has emerged as a de facto stan ...
*
Robust optimization Robust optimization is a field of mathematical optimization theory that deals with optimization problems in which a certain measure of robustness is sought against uncertainty that can be represented as deterministic variability in the value of the ...
*
Stochastic programming In the field of mathematical optimization, stochastic programming is a framework for modeling optimization problems that involve uncertainty. A stochastic program is an optimization problem in which some or all problem parameters are uncertain, ...


References

{{reflist, 30em


External links


AMPL home page

OptiRisk Systems home page
Computer algebra systems Mathematical optimization software Numerical programming languages Mathematical modeling Text-oriented programming languages 1990 software