📄 mld_structure.tex
字号:
\hysdel{} stores the output in a file which describes aMLD-structure according to \matlab{} syntax. If the systemcontains symbolic parameters then the generated file assumes thatthe structure \mcmd{params} is defined in the workspace.In the next section we will present the complete format of theMLD-structure.\section{MLD structure}\index{MLD!structure} The structure \mcmd{S} contains thefollowing fields:\begin{itemize}\item \mcmd{Arr} = $A_{rr}$, \mcmd{Arb} = $A_{rb}$, \mcmd{Abr} = $A_{br}$, \mcmd{Abb} = $A_{bb}$, \mcmd{A = [Arr, Arb; Abr, Abb]}.\item \mcmd{B1rr} = $B_{1rr}$, \mcmd{B1rb} = $B_{1rb}$, \mcmd{B1br} = $B_{1br}$,\mcmd{B1bb} = $B_{1bb}$, \mcmd{B1 = [B1rr, B1rb; B1br, B1bb]}.\item \mcmd{B2rb} = $B_{2rb}$, \mcmd{B2bb} = $B_{2bb}$, \mcmd{B2 = [B2rb; B2bb]}.\item \mcmd{B3rr} = $B_{3rr}$, \mcmd{B3br} = $B_{3br}$, \mcmd{B3 = [B3rr; B3br]}.\item \mcmd{B5r} = $B_{5r}$, \mcmd{B5b} = $B_{5b}$, \mcmd{B5 = [B5r; B5b]}.\item \mcmd{Crr} = $C_{rr}$, \mcmd{Crb} = $C_{rb}$, \mcmd{Cbr} = $C_{br}$, \mcmd{Cbb} = $C_{bb}$, \mcmd{C = [Crr, Crb; Cbr, Cbb]}.\item \mcmd{D1rr} = $D_{1rr}$, \mcmd{D1rb} = $D_{1rb}$, \mcmd{D1br} = $D_{1br}$,\mcmd{D1bb} = $D_{1bb}$, \mcmd{D1 = [D1rr, D1rb; D1br, D1bb]}.\item \mcmd{D2rb} = $D_{2rb}$, \mcmd{D2bb} = $D_{2bb}$, \mcmd{D2 = [D2rb; D2bb]}.\item \mcmd{D3rr} = $D_{3rr}$, \mcmd{D3br} = $D_{3br}$, \mcmd{D3 = [D3rr; D3br]}.\item \mcmd{D5r} = $D_{5r}$, \mcmd{D5b} = $D_{5b}$, \mcmd{D5 = [D5r; D5b]}.\item \mcmd{E1} = $E_{1}$, \mcmd{E2} = $E_{2}$, \mcmd{E3} = $E_{3}$,\mcmd{E4} = $E_{4}$, \mcmd{E5} = $E_{5}$.\item \mcmd{nxr} = $n_{xr}$, \mcmd{nxb} = $n_{xb}$, \mcmd{nx =nxr + nxb}, \mcmd{nur} = $n_{ur}$, \mcmd{nub} = $n_{ub}$,\mcmd{nu = nur + nub}, \mcmd{nyr} = $n_{yr}$, \mcmd{nyb} =$n_{yb}$, \mcmd{ny = nyr + nyb}, \mcmd{nd} = $n_{\delta}$,\mcmd{nz} = $n_{z}$, \mcmd{ne} = $n_{e}$.\item \mcmd{ul, uu} lower and upper bound on $u$, same for \mcmd{xl,xu}, \mcmd{yl, yu}, \mcmd{dl, du}, and \mcmd{zl, zu}.\item \mcmd{MLDisvalid} 1 if the model has passed a validitycheck (sizes of the matrices, null entries,\ldots). User functionscan trust this information.\item \mcmd{name} string containing the system name as specifiedin the \hysdel{} declaration.\item \mcmd{MLDstructver} integer containing the protocol version, needed forfuture extentions. All the protocol versions should be backwardscompatible. User's function should check if the protocol versionis new enough. The protocol version presented in this document is2. \hysdel{} version 1.3.0 and higher support protocol version 2.\item \mcmd{MLDsymtable} 1 if the structure includes symbol tableinformations.\item \mcmd{MLDrowinfo} 1 if the structure includes debugging information for the generated constraints.\item \mcmd{symtable} Cell array containing the symbols.\begin{itemize} \item \mcmd{name} string containing the name of the symbol \item \mcmd{kind} \{'x'$\mid$'u'$\mid$'y'$\mid$'z'$\mid$'d'$\mid$'p'\} name of the array containing the variable, note that they are lower case. The letter 'p' stands for parameter, it is just a place holder as there is no parameter vector. \item \mcmd{type} \{'r'$\mid$'b'\} type of the variable, note that they are lower case. \item \mcmd{index} position of the variable in the array $\mbox{\mcmd{kind}}_{\mbox{\mcmd{type}}}$. In case of parameters (kind = 'p') the content of this variable is of no relevance. \item \mcmd{line\_of\_declaration} line where the variable was declared in the \hysdel{} code. This index is -1 for the predefined parameters. \item \mcmd{line\_of\_first\_use} line where the variable was used for the first time in the \hysdel{} code. \item \mcmd{defined} group of constraints containing the definition of the variable (see the following \mcmd{rowinfo} entry). \item \mcmd{computable\_order} priority for computation. This information can be used as branching priority if the mixed integer solver supports this option. \item \mcmd{min} minimum of the variable. \item \mcmd{min\_computed} 1 if \hysdel{} computed the minimum. \item \mcmd{max} maximum of the variable. \item \mcmd{max\_computed} 1 if \hysdel{} computed the maximum. \item \mcmd{value} numerical value of the parameter (this field is present only if kind = 'p').\end{itemize}\item \mcmd{rowinfo} Structure containing the information on the matrices.\begin{itemize}\item \mcmd{state\_upd} Cell array containing the information onthe rows in the state update matrices~(\ref{XMLDS.a}). The cellarray has the same number of items as the number of rows of thematrices, the $i$-th element of the array provides information onthe $i$-th constraint.\begin{itemize}\item \mcmd{section} Name of the section where the state updatewas declared.\item \mcmd{item\_type} Actual section the item belong to.\item \mcmd{defines} Name of the variable that is defined.\item \mcmd{depends} Cell array of variable names the definition.depends on.\item \mcmd{group}, \mcmd{subgroup}, \mcmd{subindex} uniqueidentification of the source declaration. Each statement in\hysdel{} gets a sequential number, this statement is stored in\mcmd{group}. A statement may correspond to more than one basicelement of \hysdel{} (i.e. in case of automatic introduction ofvariables), each such a constituting element gets an sequentialnumber, stored in \mcmd{subgroup}. Each element may correspond tomore than one inequality or equality constraint, each constraintgets a sequential number. Summing up, all the constraints comingfrom a \hysdel{} statement share the same \mcmd{group} index, allthe constraints coming from a basic element share the same\mcmd{subgroup} index and within the same\mcmd{group},\mcmd{subgroup} each constraint gets a sequential\mcmd{subindex}.\item \mcmd{source} Code snippet of the original \hysdel{}declaration.\item \mcmd{sourceline} Line in the source code.\item \mcmd{human} Human readable expression.\end{itemize}\item \mcmd{output} Cell array containing the information on therows in the output matrices~(\ref{XMLDS.b}). As before the $i$-thelement of the array provides information on the $i$-th constraintand each item has the same fields as in the previous point. \item\mcmd{ineq} Cell array containing the information on the rows ofthe inequality constraints~(\ref{XMLDS.c}). As before the $i$-thelement of the array provides information on the $i$-thconstraint. The item has the same fields as described in theprevious point plus the following fields:\begin{itemize}\item \mcmd{aff\_min} value of $m$ used for thetransformations~(\ref{eq:if-ineq}) and~(\ref{eq:threshold-ineq}).\item \mcmd{aff\_min\_computed} 1 if $m$ was computed, 0 ifprovided. \item \mcmd{aff\_max} value of $M$ used for thetransformations~(\ref{eq:if-ineq}) and~(\ref{eq:threshold-ineq}).\item \mcmd{aff\_max\_computed} 1 if $M$ was computed, 0 ifprovided. \item \mcmd{aff\_eps} value of the tolerance $\epsilon$used for the transformations~(\ref{eq:threshold-ineq}). \item\mcmd{aff\_eps\_computed} 1 if a default value for $\epsilon$ wasused, 0 if provided.\end{itemize}\end{itemize}\end{itemize}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -