Systems Theory and Automatic Control

ADMIToptions: COMPOSE
ADMIT documentation: ADMIToptions: COMPOSE

ADMIToptions: COMPOSE

Additional options for constructing the QP

COMPOSE.integrationMethod
  ['EULERFORWARD','EULER','EULEREXPLICIT','EULERBACKWARD',{'EULERIMPLICIT'}]
  Set integration method used by ADMITdiscretizeDynamics

Postfix constraints

Specify how and which constraints are used and generated.

COMPOSE.constraints.useTighterBoundsOnAVs [1 | {0}]
  Consider additional implicit bounds.
  Can improve estimation result, however, increases problem size.
COMPOSE.constraints.useBXB [{1} | 0] 
  Use B'*X*B >= 0 constraints for linear inequalities in B. Usually
  reduces the relaxation error significantly.
COMPOSE.constraints.useBX  [{1} | 0] 
  Use B'*X*e1 >= 0 constraints for linear inequalities in B. Usually
  reduces the relaxation error significantly.
COMPOSE.constraints.useQXQ [{1} | 0]
  Use Q'*X*Q >= 0 constraints for linear equalities. Can significantly
  reduce relaxation error. NOTE: theoretically, Q'*X*Q == 0 should also
  be satisfied, however in some instances it leads to numerical issues
  and false infeasibility.
COMPOSE.constraints.useQXB [{1} | 0]
  Use Q'*X*B >= 0 constraints for linear equalities and inequalities. Can
  significantly reduce relaxation error. NOTE: theoretically, Q'*X*B == 0
  should also be satisfied, however in some instances it leads to
  numerical issues and false infeasibility.
COMPOSE.constraints.bigMFactor [positive integer {2}]
  Big-M-normalization factor for implications 
COMPOSE.constraints.collapsedBounds.tolerance [positive double {2*eps}]
  If bounds for a real variable collapsed to a singleton VAL and if 
  option COMPOSE.constraints.collapsedBoundsUseEqualities is set to 1, then
  the two inequalities specifying the bounds are relaxed to
  [VAL-TOL,VAL+TOL]; this can help to avoid numerical issues.
COMPOSE.constraints.collapsedBounds.useEqualities [{0} | 1] ---- EXPERIMENTAL ----
  If bounds for a binary or integer variable collapsed to a singleton,
  then the two inequalities specifying the bounds are replaced by a
  single equation; this reduces computational complexity
COMPOSE.constraints.removeRedundantVariables [1 | {0}] ---- EXPERIMENTAL ----
  Remove redundant variables. Can reduce problem size if e.g.  
  piece-wise constant inputs are used.

Postfix constructQP

Specify how the QP is constructed.

COMPOSE.constructQP.linearizeInequalities [1 | {0}]
  Introduce additional variables until inequalities are linear.
  Example for quadratic  inequality: a*b + c >= 0
  Example for linearized inequality: av1 + c >= 0 with av1 == a*b
  If linear inequalities are used, the problem size is usually larger,
  because more additional variables are introduced in the vector xi.
  Introduce additional variables until equalities are linear.
COMPOSE.constructQP.linearizeEqualities [1 | {0}]
  Introduce additional variables until equalities are linear.
  See also option COMPOSE.constructQP.useLinearInequalities.
COMPOSE.constructQP.timeout [positive integer {30}]
  Limits the time spent on trying to minimize the amount of additional
  variables (in seconds).
COMPOSE.constructQP.replaceRationalTerms ['substitute' | {'multiply'}]
  Choose method to eliminate rational terms. Currently only 'multiply' is
  supported.
COMPOSE.constructQP.reduceOrder [{0} | 1]
  See help text of function ADMITcompose
COMPOSE.constructQP.order [cell array of strings {'timeInvariant','all'}]
  See help text of function ADMITcompose