优化服务


 

 

 

 

 

 

 

 

优化服务模拟语言(OSsL)

点击查看或下载OSsL XML模式->操作系统L.xsd[接近稳定]


OSsL(simulation)是模拟服务使用的输入和输出格式,这些服务通过Optimization services调用以获取函数值。

OSsL促进并使目标或约束函数能够合并仿真,仿真可能位于解算器以外的位置。OSsL实例通常在解算器和模拟引擎之间传输。从Optimization Services框架的角度来看,如果仿真要由兼容OS的解算器调用,则其输入和输出必须采用标准OSsL格式。

每个模拟都包含使用<uri>子项的模拟地址,以及使用<ossl>的模拟输入和输出 孩子。下图是一个很好的说明。

simpleSimulation(简单模拟)

simpleSimulation的定义如下:

<simulation name=“simpleSimulation”>
<uri值=“http://www.optimizationservices.org/os/ossimulation/SimpleSimulationService.jws"/>
<ossl>
<输入>
<el name=“a”>1
MSFT
</input>
<输出>
<el name=“f1”/>
<el name=“f2”/>
</输出>
</ossl>
</simulation(模拟)>

作为OSnL部分,为了构造包含simpleSimulation的非线性表达式,我们使用<simInput>和<simOutput>节点:

<nl idx=“-1”>
<加号>
<sim name=“simpleSimulation”>
<simInput inputName=“a”><var idx=“0”/></simInput>
<simInput inputName=“b”><var idx=“1”/></simInput>
<simOutput outputName=“f1”/>
</sim>
<数值=“2”/>
</plus>
</nl>

在下图中,我们列出了整个ossl模式。

OSsL架构

<xs:complexType name=“OSsL公司">
<xs:all>
<xs:element name=“输入“最小发生次数=”0“>
<xs:complex类型>
<xs:sequence>
<xs:element name=“埃尔“type=”ioType“minOccurs=”0“maxOccurs=”unbounded“/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name=“输出“最小发生次数=”0“>
<xs:complexType>
<xs:sequence>
<xs:element name=“埃尔“type=”ioType“minOccurs=”0“maxOccurs=”unbounded“/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>

<xs:complexType name=“IO类型">
<xs:simpleContent>
<xs:extension base=“xs:string”>
<xs:attribute name=“名称“type=”xs:ID“use=”required“/>
<xs:attribute name=“类型“type=”type“use=”optional“default=”string“/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>

<xs:simpleType name=“类型">
<xs:restriction base=“xs:string”>
<xs:enumeration value=“一串"/>
<xs:enumeration value=“链接"/>
</xs:restriction>
</xs:simpleType>

如上图所示,OSsL模式非常简单,但仍然足够通用,可以适应任何现有的模拟。<ossl>元素有两个可选的子元素<input>和<output>,谁先出现并不重要。这两个子元素非常相似,这就是为什么我们没有为每个元素单独的模式。两个元素都有0个或多个<el>元素。这对应于这样一个概念,即模拟通常可以接受任意数量的输入并生成任意数量的输出。一个<el>元素是ioType;它采用输入或输出名称所需的name属性和可选的type属性。输入或输出值进入元素内部。默认情况下,type属性为“string”,这是输入或输出值最常见的类型。另一种类型为“link”,表示元素内的值是指针,实际数据将从指定的链接地址获得。例如,在以下示例中:

<simulation name=“simpleSimulation”>
<uri值=“http://www.optimizationservices.org/os/ossimulation/SimpleSimulationService.jws"/>
<ossl>
<输入>
<el name=“a”type=“string”>1
<el name=“b”type=“link”>http://www.optimizationservices.org/data/stock.html</el>
</input>
<输出>
<el name=“f1”>
<el name=“f2”/>
</输出>
</ossl>
</simulation(模拟)>

输入“a”是字符串(=“1”),输入“b”是链接。b的值(例如“MSFT”)应从地址中获得http://www.optimizationservices.org/data/stock.html。


链接:

点击查看或下载OSsL XML模式->操作系统L.xsd