使用LINGO解决多目标问题:集合概念与应用

需积分: 45 20 下载量 167 浏览量 更新于2024-08-20 收藏 1.66MB PPT 举报
"本例中集合的概念-lingo处理多目标问题实例" 在LINGO编程中,集合的概念扮演着至关重要的角色,特别是在处理多目标优化问题时。集合允许我们定义和组织模型中的各种元素,比如决策变量、约束和目标。在这个例子中,集合被用来定义需求点DEMAND和供应点SUPPLY。DEMAND集合有6个元素,而SUPPLY集合有2个元素,它们的下标可以用来标识各个点。 集合的属性是基于集合元素的一维或二维数组。在描述中提到的" ",可以理解为一个二维数组,它的两个下标分别对应DEMAND和SUPPLY集合,从而创建了一个由所有可能的需求点和供应点配对组成的新的集合。这个新的集合可以用来定义决策变量,例如表示从每个需求点到每个供应点的运送量。 在LINGO中,集合的定义通常是这样的: ```lingo SETS: DEMAND /1..6/, SUPPLY /1..2/; ``` 这里的`DEMAND`和`SUPPLY`是集合名称,`/1..6/`和`/1..2/`定义了它们的下标范围。 接下来,我们可以用这些集合来定义变量,例如: ```lingo VARIABLES: x(DEMAND,SUPPLY) NonNegative; ``` 变量`x`是基于DEMAND和SUPPLY集合的一个矩阵,它代表从DEMAND集合中的每个点到SUPPLY集合中的每个点的运输量,且非负。 此外,LINGO还支持多种运算符和函数,用于构建模型的约束和目标函数。例如,我们可以使用加减乘除运算符,以及逻辑运算符(如`<=`, `>=`, `=`, `and`, `or`等)。同时,LINGO提供了诸如`sum()`、`max()`、`min()`等函数,方便进行数值求和、最大值或最小值计算。 在实际操作中,LINGO提供了一个用户友好的界面,包括模型窗口(Model Window)用于编写模型代码,命令窗口(Command Window)用于交互式输入命令,以及运行状态窗口显示模型的统计信息,如变量数量、约束数量等。 文件管理方面,LINGO支持不同的文件格式,如.LG4保存模型的完整格式信息,.LNG是纯文本模型文件,.LDT用于存储数据,.LTF记录命令脚本,.LGR保存报告,.LTX是LINDO格式的模型文件,而.MPS是标准的数学规划系统格式。这些文件都可以用文本编辑器查看和修改,除了.LG4文件。 LINGO作为一个强大的优化工具,它的集合概念和内置建模语言使得处理复杂的多目标问题变得更为简便。通过熟练掌握集合的定义和使用,以及配合运算符、函数和各种文件格式,用户可以高效地构建和解决各种类型的优化模型。