Systems Theory and Automatic Control

ADMIToptions: ESTIMATE
ADMIT documentation: ADMIToptions: ESTIMATE

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