Solver interface

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

Index

Interface

StochasticPrograms.check_loadableFunction
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_structureMethod
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.ExecutionType
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.InstanceOptimizerType
InstanceOptimizer

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

source
StochasticPrograms.MasterOptimizerType
MasterOptimizer

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

source
StochasticPrograms.NumLowerTrialsType
NumLowerTrials

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

source
StochasticPrograms.NumUpperTrialsType
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_attributesMethod
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_attributesMethod
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_attributesMethod
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.QuadraticType
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.LinearizedType
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