优化服务表示
优化服务框架是不旨在标准化高级模型。框架只关注机器和软件组件之间的底层表示。所有实例表示都是用XML模式语言指定的。
最重要的例子是优化问题的表示。此实例的格式由Optimization Services实例语言(OSiL)指定。OSiL实例通常从建模语言环境传输到解算器。
OSiL语言是实现主要优化类型的系统化和通用表示的第一步。目前,OSiL支持所有主要的优化类型,包括混合整数规划、二次规划、一般非线性规划、互补问题、分布式实时数据优化、用户定义函数优化、模拟优化、锥规划、约束规划、,组合问题、多目标优化、半定规划、线性/非线性随机规划和网络规划。OSiL的目标是取代许多现有(一些过时的)标准,例如线性和二次规划的MPS标准,线性随机规划的SMPS标准。需要注意的一点是,在OSiL之前,对于一般非线性程序来说,并没有标准的实例格式。解算器通常使用建模语言生成的实例,并使用MLE提供的库来解析实例。
除了OSiL,还有其他类型的实例。Optimization Services结果语言(OSrL)指定解算器输出的结果格式。它通常从解算器传回MLE。Optimization Services分析语言(OSaL)指定分析仪输出的分析格式。它通常从分析器传输到MLE,有助于在优化服务注册表中发现解算器。优化服务选项语言(OSoL)指定解算器(或分析器)算法指令的选项格式。它通常与OSiL实例一起传输。优化服务模拟语言(OSsL)指定模拟服务的输入和输出格式。它通常在解算器和模拟引擎之间传输。它通过仿真促进优化,仿真位于解算器以外的位置。
优化服务通用语言(OSgL)中指定了许多通用数据结构。OSgL然后由其他表示模式导入。所有非线性函数、运算符和操作数都在优化服务非线性语言(OSnL)中指定。OSnL然后由OSiL模式导入,用于非线性优化扩展。OSnL模式非常全面;支持200多个元素。它们大致分为以下8类:
- 算术运算符,如加号、减号、幂和和。
- 基本函数,如abs、square、log和exp。
- 三角函数,如sin、sec、csc、cosh、arctan和arcsech。
- 统计和概率函数,如最小、偏态、百分位数、协方差和共同密度、累积和逆分布函数。
- 端子和常量,如数字、字符串、PI、E、TRUE、INF和NAN。
- 优化相关元素,如var、约束和目标。
- 逻辑和关系运算符,例如lt、geq和xor、if、exists和至少。
- 特殊元素,如二次、userF、sim、xPath和补码。
|