优化服务通用语言(OSgL)
点击查看或下载OSgL XML模式->OSgL.xsd公司[稳定]
OSgL(general)包含所有其他OSxL模式使用的通用元素和数据类型的定义。因此,OSgL通常通过以下语句包含在另一个OSxL模式的开头:
<xs:include schemaLocation=“OSgL.xsd”/>
例如,下图显示了OSgL中的<intVector>数据类型,该数据类型在OSiL中用于定义行或列索引的向量。
<xs:complexType name=“intVector”> <xs:choice> <xs:element name=“base64BinaryData”type=“base64BinaryData”/> <xs:element name=“el”maxOccurs=“unbounded”> <xs:complexType> <xs:simpleContent> <xs:extension base=“xs:int”> <xs:attribute name=“mult”type=“xs:positiveInteger”use=“optional”default=“1”/> <xs:attribute name=“incr”type=“xs:int”use=“optional”default=“0”/> </xs:extension>(扩展名) </xs:simpleContent> </xs:complexType> </xs:element> </xs:choice> </xs:complexType>
如果<el>元素中的数据被压缩,则<intVector>可以有一个或多个<el>子级或<base64BinaryData>子级。压缩在LPFML纸。每个<el>元素都有一个默认值为1的mult属性(表示多重性)和默认值为0的incr属性(表示增量)。例如
<el>0
和
<el>0</el><el>1
更简洁地表达为
<el mult=“5”>0和
OSgL中还定义了类似的<doubleVector>数据类型。
在下表中,我们列出了OSgL中定义的一些常见数据类型。
类型名称 |
简要说明 |
int矢量 |
整数向量 |
双重向量 |
双精度向量 |
el类型 |
具有名称和值属性以及描述文本的el元素 |
映射类型 |
el元素序列(名称-值对) |
base64二进制 |
通常以el元素表示的数据序列的压缩;参见LPFML文件[53] |
稀疏向量 |
具有idx数组和非z值数组的稀疏向量 |
列表矩阵 |
具有起始数组、rowIdx或colIdx数组和非零值数组的典型稀疏矩阵存储类型 |
mps矩阵 |
具有列(或行)元素序列的MPS型稀疏矩阵存储;每个col(或row)元素依次是一系列row(或col)元素 |
矩阵市场 |
线性代数中使用el元素序列的公共稀疏矩阵存储;每个元素都是一个双值(对于矩阵条目),具有行和列属性(对于矩阵索引) |
xmlData(xml数据)
|
任何数据的序列 |
在下表中,我们列出了与功能相关的典型元素。其中许多函数是分布函数。所有分布函数都可以有一个可选的cdf布尔属性,默认为false。如果为true,则分布函数是累积分布函数。如果为假,则分布是概率分布函数(pdf,用于连续分布)或概率质量函数(pmf,用于离散分布)。其中许多函数都具有表示为元素属性的参数。分布函数在随机规划的OSiL扩展中得到了广泛的应用。
函数名称 |
简要说明 |
userFunctions(用户功能) |
一系列userFunction元素;每个userFunction元素都包含一个OSnLNode作为表达式树根,用于表示函数 |
用户变量 |
userVariable元素序列;每个userVariable元素都包含一个OSnLNode作为表达式树根,用于表示用户定义的变量 |
离散均匀 |
参数为N的离散一致函数 |
伯努利 |
参数为p的伯努利函数 |
二项式 |
参数为N,p的二项式函数 |
超几何的 |
参数为N,M,N的超几何函数 |
泊松 |
带参数lamda的泊松函数 |
几何的 |
参数为p的几何函数 |
阴性非临床 |
参数为p,r的负二项式函数 |
经验离散的 |
具有el元素序列的经验离散函数;每个el元素都是一个双值,并且有一个prob属性 |
经验性连续 |
具有el元素序列的经验连续函数;每个el元素包含一个OSnLNode作为表达式树根,用于表示函数,以及函数域的from和to属性 |
制服 |
带参数a、b的一致函数 |
正常的 |
参数为mu,sigma的正态函数 |
标准正常值 |
标准正常功能 |
指数的 |
带参数lamda的指数函数 |
威布尔 |
具有位置、比例、形状参数的Weibull函数 |
厄朗 |
参数为lamda,n的Erlang函数 |
伽马射线 |
带有参数的伽玛函数位置、比例、形状 |
贝塔 |
参数为degree1、degree2的Beta函数 |
贝塔将军 |
具有参数degree1、degree2、min、max的通用Beta函数 |
对数正态分布 |
参数为mu,sigma的对数正态函数 |
柯西 |
带参数位置、刻度的柯西函数 |
t吨 |
带参数度的Student T函数 |
chi方形 |
具有参数度的X平方函数 |
(f) |
参数为degree1、degree2的F函数 |
物流 |
参数为mu和beta的Logistic函数 |
logLogistic公司 |
参数为mu和beta的对数Logistic函数 |
对数的 |
带参数a、b的对数函数 |
帕累托 |
具有参数形状和比例的Pareto函数 |
瑞利 |
参数为β的瑞利函数 |
佩特 |
参数为a、c、b的Pert函数 |
三角形 |
参数为a、c、b的三角函数 |
多变量离散 |
具有2个或更多场景元素序列的多元离散函数;每个场景都是由两个或多个具有双值的el元素组成的序列 |
多项式 |
具有参数N和概率值el元素序列的多项式函数 |
双变量法线 |
参数为mu1、sigma1、mu2、sigma、rho的二元正态函数 |
多变量正态 |
具有3个或更多μ元素序列和矩阵市场型协方差矩阵的多元正态函数 |
线性变换 |
具有numberRows和numberColumns属性的线性变换函数;它包含一个doubleVector类型的常量元素、一个matrixMarket类型的矩阵元素和一个表示多元分布的randomVariables元素 |
类似类型的元素可以分组并一起引用。例如,下图中显示的discreteDistributionGroup组用于对上表中的所有离散分布函数进行分组。
<xs:group name=“discreteDistributionGroup”> <xs:choice> <xs:element ref=“经验离散”/> <xs:element ref=“discreteUniform”/> <xs:element ref=“bernoulli”/> <xs:element ref=“二项式”/> <xs:element ref=“超几何”/> <xs:element ref=“poisson”/> <xs:element ref=“几何”/> <xs:element ref=“negativeBinomial”/> </xs:choice> </xs:group>
continuousDistributionGroup的定义类似。更通用的分发组是一组离散分发组和连续分发组,如下图所示。
<xs:group name=“distributionGroup”> <xs:choice> <xs:group ref=“discreteDistributionGroup”/> <xs:group ref=“continuousDistributionGroup”/> </xs:choice> </xs:group>
链接:
点击查看或下载OSgL XML模式->OSgL.xsd公司
|