Solver interface

Documentation for StochasticPrograms.jl's interface for structured solvers and sample-based solvers.

Index

Interface

StochasticPrograms.check_loadable — Function
check_loadable(optimizer::AbstractStructuredOptimizer, structure::AbstractStochasticStructure)

Throws an UnloadableStructure exception if structure is not loadable by optimizer.

See also: [`load_structure!`](@ref)
source
StochasticPrograms.load_model! — Function
load_model!(optimizer::AbstractSampledOptimizer, model::StochasticModel, x₀::AbstractVector)

Instantiate the optimizer with the stochastic model and initial decision x₀.

See also: optimize!

source
StochasticPrograms.load_structure! — Function
load_structure!(optimizer::AbstractStructuredOptimizer, structure::AbstractStochasticStructure, x₀::AbstractVector)

Instantiate the optimizer with the stochastic program represented in memory by the given structure and initial decision x₀.

See also: optimize!

source
StochasticPrograms.supports_structure — Method
supports_structure(optimizer::StochasticProgramOptimizerType, structure::AbstractStochasticStructure)

Return a Bool indicating whether optimizer supports the stochastic structure. That is, load_structure!(optimizer, structure) will not throw UnsupportedStructure

source

Attributes

StochasticPrograms.Execution — Type
Execution

An optimizer attribute for specifying an execution policy for a structure-exploiting algorithm. Options are:

  • Serial: Classical L-shaped (default)
  • Synchronous: Classical L-shaped run in parallel
  • Asynchronous: Asynchronous L-shaped ?Asynchronous for parameter descriptions.
source
StochasticPrograms.InstanceOptimizer — Type
InstanceOptimizer

An optimizer attribute for specifying the AbstractStructuredOptimizer/AbstractOptimizer used to solve sampled problems in sample-based procedures.

source
StochasticPrograms.MasterOptimizer — Type
MasterOptimizer

An optimizer attribute for specifying the MathOptInterface optimizer used to solve master problems arising in a structure-exploiting procedure.

source
StochasticPrograms.NumLowerTrials — Type
NumLowerTrials

An optimizer attribute for specifying the number of trials used to compute lower bounds of confidence intervals in sample-based procedures.

source
StochasticPrograms.NumUpperTrials — Type
NumUpperTrials

An optimizer attribute for specifying the number of trials used to compute upper bounds of confidence intervals in sample-based procedures.

source
StochasticPrograms.set_instanceoptimizer_attributes — Method
set_instanceoptimizer_attributes(stochasticmodel::StochasticModel, pairs::Pair...)

Given a list of attribute => value pairs or a collection of keyword arguments, calls set_instanceoptimizer_attribute(stochasticmodel, attribute, value) for each pair.

source
StochasticPrograms.set_masteroptimizer_attributes — Method
set_masteroptimizer_attributes(stochasticprogram::StochasticProgram, pairs::Pair...)

Given a list of attribute => value pairs or a collection of keyword arguments, calls set_masteroptimizer_attribute(stochasticprogram, attribute, value) for each pair.

source
StochasticPrograms.set_suboptimizer_attributes — Method
set_suboptimizer_attributes(stochasticprogram::StochasticProgram, pairs::Pair...)

Given a list of attribute => value pairs or a collection of keyword arguments, calls set_suboptimizer_attribute(stochasticprogram, attribute, value) for each pair.

source

Execution

Penalty terms

StochasticPrograms.Quadratic — Type
Quadratic

Functor object for using a quadratic 2-norm penalty term. Requires an AbstractMathProgSolver capable of solving QP problems. Passed by default through penalty where applicable.

source
StochasticPrograms.Linearized — Type
Linearized

Functor object for using an approximately quadratic penalty term, through linearization. Pass through penalty where applicable.

...

Parameters

  • nbreakpoints::Int: Number of cutting planes used to approximate quadratic term

...

source