ADMIToptions: ESTIMATE
Options for outer approximation (function ADMITestimate)
ESTIMATE.tolerance.relative [positive double {1e-6}]
Value is used to determine initial step size relative to width of
uncertainty interval.
ESTIMATE.tolerance.absolute [positive double {1e-4}]
Value is used to determine initial step size.
ESTIMATE.forceLinear [1 | {0}]
Solver uses LP formulation even if the solver is able to work with SDP
ESTIMATE.timeout [positive integer {300}]
Sets the timeout for single run of an SDP/(MI)LP solver via YALMIP
(currently only supported for 'gurobi' and 'cplex' solvers) and a
global limit for estimating one of the variable bounds in the outer
bounding procedure in case cost function is not employed
Postfix bisectioning
Options for bisectioning algorithm.
ESTIMATE.bisectioning.use [{1} | 0]
Enable/Disable bisectioning procedure
ESTIMATE.bisectioning.splitDepth [positive integer/vector {3}]
Bisectioning depth. Specifies how many partitions are checked for
variables of interest, 2 ^ splitDepth per direction.
ESTIMATE.bisectioning.limitBlocks [positive integer {2^16}]
Sets a maximal amount of bisectioning blocks that can be considered
during the bisectioning procedure. This is set to prevent initiating
the procedure for too many variables of interest, as it will take a
considerable amount of time and space and might lead to problems with
MATLAB.
ESTIMATE.bisectioning.computeConvexHull [1 | {0}]
Compute the convex hull of all valid bisectioning blocks.
Postfix outerBounding
Options for outer-bounding algorithm.
ESTIMATE.outerBounding.use [2 | {1} | 0]
0 - disable outerbounding procedure
1 - enable sequential outerbounding procedure
2 - enable batch outerbounding procedure
Sequential outerbounding recalculates interval bounds on the involved
variables after each solver step. It is desired, for example, if the
bounds on the time dependent variables are heavily interconnected.
Batch outerbounding improves bounds on every variable of interest
without recalculating the other variables' bounds. This reduces the
overhead, when the optimization solver time is small. Values 1 and 2
are equivalent for PARALLEL.use set to 1.
ESTIMATE.outerBounding.iterations [positive integer {3}]
Number of consecutive outerbounding runs
ESTIMATE.outerBounding.useOptimization [{1} | 0]
Enable/Disable cost function during outer bounding procedure
Without cost function the outer bounding is performed via "sequential"
algorithm (more appropriate in case of numerical instability of the
employed solver). Optimization is forced if outerBounding.use set to 2
and PARALLEL.use is set to 0.
ESTIMATE.outerBounding.shuffle [1 | {0}]
Enable/Disable automatic ordering of the variables to be estimated.
When enabled, first variables to be estimated are those with the
largest uncertainty.
Postfix bounds
Options to specify how variable bounds are treated in the estimation
algorithms.
ESTIMATE.bounds.logarithmic [1 | {0}]
Enable/Disable logarithmic bounds on bisectioning subregions
ESTIMATE.bounds.unboundedIsInfeasible [{1} | 0]
In case the solver cannot decide between unbounded and infeasible
problems (happens to MILP solvers with discrete variables), the toolbox
treats it as infeasible (1) or feasible (0). If you construct the
problem providing bounds on all the variables, the problem cannot be
undounded.
ESTIMATE.bounds.save [{1} | 0]
Estimated bounds will be saved after each iteration of outer bounding
procedure and after bisectioning procedure. The values are saved in the
optResult variable of class ADMITresults in the file [task_name].mat.
Warning! The variable optResult that is already contained in the file
will be overwritten.
ESTIMATE.bounds.updateOnError [{1} | 0]
If YALMIP reports an error, the result will be either considered (1) or
ignored (0)
Postfix presolve
Specify how the presolver operates.
ESTIMATE.presolve.only [1 | {0}]
Enable/Disable SDP/(MI)LP solver
ESTIMATE.presolve.maxIterations [positive integer {100}]
Maximum number of times the interval reachability/feasibility
computations are repeated; bounds can improve due to repetitions;
ESTIMATE.presolve.mode [3 | 2 | {1} | 0]
Determines algorithms used by the presolver. Mode 2 and 3 are
experimental.
mode=0 : only performs one iteration and determines explicit and
implicit bounds; shouldn't be used for estimation
mode=1 : default mode; suitable if additionally external solvers
are used
mode=2 : try to improve bounds based on additionally available
constraints and performs a recursive update strategy;
should be used if no external solvers are used.
mode 2 can be slow but bounds can be tighter in general and
even tighter than LP results in some rare cases;
all constraints that are not already used to determine
(implicit) bounds for other variables are used; these are
usually inequality constraints or unnamed constraints
mode=3 : same as mode 2, but it considers ALL available constraints;
this can tighten the bounds, but is slower than mode 2
ESTIMATE.presolve.tolerance [positive integer {1e-4}]
All constrains must be satisfied to the specified relative tolerance
ESTIMATE.presolve.timeout [positive double {300}]
Timeout in seconds for presolver