LINGO模型的集部分详解-动态脚本编程第二版

需积分: 34 23 下载量 147 浏览量 更新于2024-08-07 收藏 4.88MB PDF 举报
"本书主要介绍了使用LINGO进行数学建模和优化的各种方法,特别是关于集的概念和使用。书中提到了集在LINGO模型中的重要角色,包括原始集和派生集,并提供了如何定义它们的详细步骤。此外,还涵盖了其他数学优化领域的知识,如线性规划、整数规划、非线性规划、动态规划、图与网络、排队论、对策论以及层次分析法等。" 在LINGO中,集是一个关键的概念,它是由相关对象组成的集合,这些对象可以是有特定属性的实体,比如产品、卡车或雇员。集有两个主要类型:原始集和派生集。原始集由基础对象构成,而派生集则基于其他已存在的集来定义。在建立LINGO模型时,集部分是可选的,但必须在使用集之前先定义。集部分的定义以"sets:"开始,以"endsets"结束,可以包含多个集定义。 定义原始集时,需要指定集的名称,可选的成员列表和属性列表。集名称遵循特定的命名规则,确保可读性并符合标准的标识符格式。成员列表可以显式列举,也可以通过隐式范围定义。显式列举时,每个成员需有唯一的名称,可以使用空格或逗号分隔。隐式列举时,只需给出第一个和最后一个成员,LINGO会自动生成中间的成员。 例如,定义一个名为"students"的原始集,包含成员John、Jill、Rose和Mike,同时具有sex和age属性,可以这样写: ``` sets: students/John Jill, Rose Mike/: sex, age; endsets ``` 另一方面,若要隐式列举成员,可以写成: ``` setname/member1..memberN/[: attribute_list]; ``` 书中还涵盖了一系列与优化相关的数学问题,包括线性规划、整数规划(如分枝定界法)、非线性规划、动态规划、图论问题(如最短路径、树、匹配和网络流)、排队论(涉及各种排队模型和优化策略)、对策论和层次分析法等。这些章节提供了理论介绍和实际应用示例,帮助读者掌握如何使用MATLAB解决这些问题。 通过这些章节的学习,读者将能够运用LINGO和MATLAB解决各种实际问题,如投资风险分析、生产计划、运输问题、动态调度、网络优化和决策分析等。书中的习题旨在巩固理论知识并提高实践能力。