ILOG OPL建模语言详解:数据类型与结构

需积分: 11 4 下载量 184 浏览量 更新于2024-07-09 1 收藏 348KB PDF 举报
本资源是一份关于ILOG OPL建模语言的详细教程,由主讲人雒兴刚教授提供,他来自东北大学系统工程研究所,联系方式为luoxinggang@ise.neu.edu.cn和Tel:83682292。本章节主要讲解了OPL(Optimization Programming Language)的数据类型和数据结构,这对于理解和使用ILOG CPLEX优化软件至关重要。 首先,OPL支持多种数据类型: 1. 整型(int):如`int i=25`,`int n=3`,整型用于表示有界数值。在某些情况下,如`int size=n*n`,特殊的初始化方式用于计算动态大小。 2. 浮点型(float):采用IEEE754标准,如`float f=3.2`,用于存储带有小数部分的数值。 字符串型(string)是另一个重要的数据类型,例如`{string} Tasks={"masonry",...}`,它定义了一个字符串的集合,其中包含多个任务名称,并且允许使用特殊字符进行操作,如换行符。 接下来,OPL提供了两种数据结构: 1. Range:这是一个定义范围的数据结构,用于表示一组有序的整数。例如,`rangeRows=1..10`表示从1到10的整数集合,它可以用于创建数组、循环或者变量定义。比如`intA[R]`定义了一个包含100个整数的数组。 2. 数组:包括一维、二维甚至多维数组。一维数组如`inta[1..4]=[10,20,30,40]`,元素下标可以是整数或字符串。多维数组如`inta[Days][1..3]`,允许混合下标,如字符串`Days`作为索引。此外,下标还可以是元组,如`inta[<1,2>]`,用于存储特定关系的数据。 通过理解这些基础概念,学习者能够更好地构建OPL模型,处理复杂的数学优化问题,如线性规划、整数规划等,以实现高效解决实际工业问题的能力。在使用ILOG CPLEX时,熟练掌握OPL语言将大大提高模型编写效率和优化结果的准确性。