|
Modeling in Xpress-SP
Xpress-SP is an extension to the Mosel
language for expressing stochastic concepts in a clear and concise
fashion. "mmsp", an extension module for Xpress-Mosel, provides
stochastic data types and language
components for building stochastic models with familiar Mosel
style modeling, several scenario tree
building tools, and various advanced
features.
The following new types are defined
in Xpress-SP:
sprand : Random variable that takes
different values with certain probability, e.g., demand.
sprandexp : Random expression built
using reals and sprands.
spvar : Stochastic decision variable
that takes different values in different scenarios or at different
nodes in the scenario tree.
splinctr : Stochastic constraint built
with reals, sprands, sprandexps, and spvars.
Random Events
Random event e.g. movement of market
may give rise to random demand occurring over multiple stages.
One may create event models e.g. Demand process-
as follows:

Scenario tree
Discretized random events can be used
to generate scenario trees. Shown below is the exhaustive
generation of binary tree from the distributions of movements
belonging to {1 w.p .5, -1 w.p .5} corresponding to up and
down movement of market respectively with equal probability.

Exhaustive, symmetric, and explicit
scenario tree generation are provided in Xpress-SP. Additionally,
techniques such as deletion and aggregation may also be used
for scenario manipulation and can be visualized
in IVE.
Stochastic variables and constraints
The stochastic variables are associated
with stages depending on the occurrence of random events.

The constraints may contain reals,
sprands, and sprandexps as coefficients.

Solving: The problem is parsed internally into deterministic
equivalent problem depending on whether it is scenario
based or node based.
One can use primal, dual or barrier algorithm to solve the
multi-stage lp, or use MIP B&B technique to solve the parsed
MILP.
Advanced features
One can also create:
non-linear random expression and functions with breaks
scenario trees with trap stages
fix decision variables and hide constraints
solve related problems such as expected value and perfect
information
solve chance constraint problems
|
|
|