跳至主内容
框架 无框架

 
用于 OPL 的IBM脚本扩展 - 参考手册

用于 OPL 的IBMILOG 脚本扩展类 - 简要介绍

IBM®ILOG OPL 包括用于 OPL 的IBMILOG 脚本扩展类,可在脚本语句中使用。 IBMILOG Script for OPL 是一种嵌入式JavaScript™实现,可提供 OPL 的 "非建模 "表达能力。 因此,它符合ECMA-262 标准。

为了更好地理解IBMILOG 脚本与 OPL 的集成,你可以把 "execute或 "main块看作是嵌套在作用域中的。 该范围等同于

var scope = new Object();
scope.thisOplModel= // 此 .mod 文件的IloOplModel实例
scope.cplex= // 用于实例化IloOplModel的IloCplex实例
与 (scope) {
      withthisOplModel) {
          // 执行块或主块放在这里
      }
}

欲了解更多信息,特别是基本概念,请参阅

本概述提供了以下方面的初步信息:


上下文

并非所有的类在所有情况下都能提供相同的功能。 下表列出了每个作用域可使用的属性和方法的类。

预处理
PostProcessing
流量控制
全局函数
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

限制:脚本语句中的值赋值

下表列出了哪些类型支持哪些分配。

内容?
支持
不支持
为数组项赋值
元组
标量:整数、浮点数、字符串
其余所有(均为设置项目)
为模型元素或数据元素赋值
标量:整数、浮点数、字符串
所有剩余值
为元组组件赋值
标量:整数、浮点数、字符串
其余:集合、数组、子元组
使用新名称创建新数据元素
标量:整数、浮点数、字符串
所有剩余值

流量控制中的结束对象

警告
end() 方法时,需要特别小心。 在相互依存的对象上以错误的顺序调用 "end()可能会导致应用程序崩溃。

规范

每个类的文档结构如下:

类名

脚本中的类名,后跟继承路径。

描述

本节包括

OPL 类型

相应的 OPL 建模类型。

命名属性

在适用的情况下,"属性摘要 "表会列出该类对象可用的已命名属性,并链接到后面的单个说明。 在 "可用"主题中,"全部 "表示 "可用于预处理、后处理和流量控制('main关键字)"。 明确提到了可供分配(书写)的属性。

方法

同样,"方法摘要 "表列出了该类对象上可用的方法,并链接到后面的单个说明。

迭代属性

本节介绍了给定类型的对象在属性迭代上下文中的使用方式。

for(var p inmyObject)

说明报告了 "p的对象。 默认行为是遍历所有已命名属性的名称。

索引决议

本节说明了对象将如何回答带有属性 "p的索引请求:

myObject[p]

默认情况下,字符串索引会作为命名属性(如果有的话)进行解析。 在所有其他情况下,将返回特殊值 "undefined

方法

本节说明了每种方法:

构造函数被记录为一个名为 "(constructor)的方法。 其名称如下

varmyObject= newMyClass();

版权所有IBM公司 1987-2011。