lingo教程 和MATLAB入门教程
- 格式:doc
- 大小:639.50 KB
- 文档页数:75
LINGO 使用教程LINGO 是用来求解线性和非线性优化问题的简易工具。
LINGO 内置了一种建立最优化模型的语言,可以简便地表达大规模问题,利用LINGO 高效的求解器可快速求解并分析结果。
§1 LINGO 快速入门当你在windows 下开始运行LINGO 系统时,会得到类似下面的一个窗口:外层是主框架窗口,包含了所有菜单命令和工具条,其它所有的窗口将被包含在主窗口之下。
在主窗口内的标题为LINGO Model – LINGO1的窗口是LINGO 的默认模型窗口,建立的模型都都要在该窗口内编码实现。
下面举两个例子。
例1.1 如何在LINGO 中求解如下的LP 问题:,6002100350..32min 212112121≥≤+≥≥++x x x x x x x t s x x在模型窗口中输入如下代码: min =2*x1+3*x2; x1+x2>=350; x1>=100;2*x1+x2<=600;然后点击工具条上的按钮 即可。
例1.2 使用LINGO 软件计算6个发点8个收点的最小费用运输问题。
产销单位运价如model:!6发点8收点运输问题;sets:warehouses/wh1..wh6/: capacity;vendors/v1..v8/: demand;links(warehouses,vendors): cost, volume;endsets!目标函数;min=@sum(links: cost*volume);!需求约束;@for(vendors(J):@sum(warehouses(I): volume(I,J))=demand(J));!产量约束;@for(warehouses(I):@sum(vendors(J): volume(I,J))<=capacity(I));!这里是数据;data:capacity=60 55 51 43 41 52;demand=35 37 22 32 41 32 43 38;cost=6 2 6 7 4 2 9 54 95 3 8 5 8 25 2 1 9 7 4 3 37 6 7 3 9 2 7 12 3 9 5 7 2 6 55 5 2 2 8 1 4 3;enddataend然后点击工具条上的按钮即可。
Matlab入门教程(很齐全)嘿,伙计们!今天我要给大家介绍一个超级好玩的东西——Matlab入门教程!这可是一个让你轻松掌握Matlab的绝佳机会,不管你是编程小白还是有经验的小伙伴,都能在这里找到属于自己的一片天地。
不多说了,让我们开始吧!我们来了解一下Matlab是什么。
Matlab是一种高级数学软件,它可以帮助你进行各种复杂的计算和数据处理。
它的特点是界面友好,操作简单,而且功能强大。
无论你是学数学、物理、工程还是计算机专业的学生,都可以用Matlab来提高自己的技能。
我们该如何开始学习Matlab呢?你需要安装Matlab软件。
这个过程非常简单,只需要按照提示一步步操作就可以了。
安装完成后,我们就可以开始学习了。
在Matlab中,有很多基本的操作和函数可以使用。
比如,我们可以用变量来存储数据,用算术运算符来进行简单的计算,用逻辑运算符来进行条件判断等等。
这些都是Matlab的基本操作,掌握了这些,你就可以开始进行更复杂的计算了。
除了基本操作之外,Matlab还有很多强大的函数可以使用。
这些函数可以帮助你完成各种各样的任务,比如绘制图形、分析数据、解决方程等等。
学会使用这些函数,可以让你的计算变得更加高效和准确。
学习Matlab并不是一蹴而就的事情。
你需要不断地练习和实践,才能真正掌握它。
我建议你可以找一些实际的问题来尝试解决,这样既能巩固所学的知识,又能提高自己的动手能力。
Matlab是一个非常有趣且实用的工具。
只要你肯下功夫去学习,相信你一定能够掌握它。
今天的教程就到这里啦!希望大家能够喜欢这个教程,也希望大家能够在学习过程中取得好成绩!下次再见啦!。
LINGO教程LINGO是用来求解线性和非线性优化问题的简易工具。
LINGO内置了一种建立最优化模型的语言,可以简便地表达大规模问题,利用LINGO高效的求解器可快速求解并分析结果。
§1 LINGO快速入门●安装:实验室的所有电脑都已经事先安装好了Lingo 8(或者9, 10, 11)。
如果要在自己的电脑上安装这个软件,建议从网上下载一个破解版的,按照提示一步一步地安装完毕。
●简单例子:当你在windows系统下开始运行LINGO时,会得到类似下面的一个窗口:外层是主框架窗口,包含了所有菜单命令和工具条,其它所有的窗口将被包含在主窗口之下。
在主窗口内的标题为LINGO Model – LINGO1的窗口是LINGO的默认模型窗口,建立的模型都要在该窗口内编码实现。
下面举两个例子。
例 1 某工厂在计划期内要安排生产I、II两种产品,已知生产单位产品所需的设备台时及A、B两种原材料的消耗,如表所示。
产品I 产品II设备 1 2 8台时原材料A 4 0 16kg原材料B 0 4 12kg该工厂每生产一件产品I可获利2元,每生产一件产品II可获利3元,问应该如何安排生产计划使该厂获利最多?我们用下面的数学模型来描述这个问题。
设x_1、x_2分别表示在计划期内产品I、II的产量。
因为设备的有效台时是8,这是一个限制产量的条件,所以在确定产品I、II的产量时,要考虑不超过设备的有效台时数,即可用不等式表示为x_1 + 2x_2 <=8同理,因原材料A、B的限量,可以得到以下不等式4x_1 <=164x_2 <=12该工厂的目标是在不超过所有资源限量的条件下,如何确定产量x_1、x_2以得到最大的利润。
若用z表示利润,这时z=2x_1+3x_2.综合上述,该计划问题可用数学模型表示为:目标函数 max z=2x_1+3x_2约束条件 x_1 + 2x_2 <=84x_1 <=164x_2 <=12x_1、x_2 >=0一个优化模型一般有三部分组成:1.目标函数(Objective Function):要达到的目标。
LINGO教程LINGO是用来求解线性和非线性优化问题的简易工具。
LINGO内置了一种建立最优化模型的语言,可以简便地表达大规模问题,利用LINGO高效的求解器可快速求解并分析结果。
§1 LINGO快速入门●安装:实验室的所有电脑都已经事先安装好了Lingo 8(或者9,10,11)。
如果要在自己的电脑上安装这个软件,建议从网上下载一个破解版的,按照提示一步一步地安装完毕。
●简单例子:当你在windows系统下开始运行LINGO时,会得到类似于下面的一个窗口:外层是主框架窗口,包含了所有菜单命令和工具条,其它所有的窗口将被包含在主窗口之下。
在主窗口内的标题为LINGO Model – LINGO1的窗口是LINGO 的默认模型窗口,建立的模型都要在该窗口内编码实现。
下面举两个例子。
例 1某工厂在计划期内要安排生产I、II两种产品,已知生产单位产品所需的设备台时及A、B两种原材料的消耗,如表所示。
产品I产品II设备 1 28台时原材料A 4 016kg原材料B 0 412kg该工厂每生产一件产品I可获利2元,每生产一件产品II可获利3元,问应该如何安排生产计划使该厂获利最多?我们用下面的数学模型来描述这个问题。
设x_1、x_2分别表示在计划期内产品I、II的产量。
因为设备的有效台时是8,这是一个限制产量的条件,所以在确定产品I、II的产量时,要考虑不超过设备的有效台时数,即可用不等式表示为x_1 + 2x_2 <=8同理,因原材料A、B的限量,可以得到以下不等式4x_1 <=164x_2 <=12该工厂的目标是在不超过所有资源限量的条件下,如何确定产量x_1、x_2以得到最大的利润。
若用z表示利润,这时z=2x_1+3x_2.综合上述,该计划问题可用数学模型表示为:目标函数 max z=2x_1+3x_2约束条件 x_1 + 2x_2 <=84x_1 <=164x_2 <=12x_1、x_2 >=0一般来说,一个优化模型将由以下三部分组成:1.目标函数(Objective Function):要达到的目标。
MATLAB基础使用教程一、什么是MATLAB?MATLAB是一款强大的数学计算软件,广泛应用于科学研究、工程设计和数据分析等领域。
它以其简单易用的编程语言和丰富的功能,成为了许多科研工作者和工程师的首选工具。
在本篇文章中,将介绍MATLAB的基础使用方法,帮助初学者快速入门。
二、MATLAB的安装与入门1. 下载和安装MATLAB软件在MathWorks官方网站上下载适用于您的操作系统版本的MATLAB,然后按照安装向导的提示进行安装。
2. MATLAB的界面介绍在打开MATLAB后,您将看到一个包含命令窗口、编辑器和变量编辑器等组件的界面。
命令窗口是最常用的组件,您可以在其中输入MATLAB的命令并执行。
3. 基本操作在命令窗口中,可以输入简单的算术运算,如加减乘除,以及一些内置函数。
例如,输入"2+3"并按下Enter,MATLAB将返回结果5。
三、MATLAB的变量与数据类型1. 变量的定义与赋值在MATLAB中,可以使用一个变量来存储一个数值或一个数据矩阵。
要定义一个变量并赋值,只需输入变量名和等号,然后再输入数值或矩阵。
例如,输入"A=5",即可定义一个名为A的变量,并将其赋值为5。
2. 数据类型MATLAB支持多种数据类型,包括整数、浮点数、字符串和逻辑类型。
您可以使用"whos"命令查看当前可用的变量及其数据类型。
3. 矩阵与数组操作在MATLAB中,矩阵和数组是最常用的数据结构之一。
您可以使用方括号来创建矩阵或数组,并使用索引来访问其中的元素。
例如,输入"A=[1 2 3; 4 5 6]",即可创建一个2行3列的矩阵。
四、MATLAB的数学运算与函数1. 基本数学运算MATLAB支持各种基本的数学运算,包括加、减、乘、除、幂运算等。
您可以直接在命令窗口中输入相应的表达式,并按下Enter键进行计算。
附录一Matlab入门§ 1 概论常用的数学软件有Maple, Mathematica, Matlab等;常用的大型统计软件有 SAS,SPSS等。
下面我们简要地介绍一些Matlab的功能,应用范围及发展史。
Matlab有五大通用功能:数值计算功能(Numeric),符号运算功能(Symbolic) (当要求Matlab进行符号运算时,它就请求Malpe计算并将结果返回到Matlab命令窗口),数据可视化功能(Graphic),数据图形文字统一处理功能(Notebook)和建模仿真可视化功能(Simulink)。
Matlab在线性代数,矩阵分析,数值及优化,数理统计和随机信号分析,电路与系统,系统动力学,信号和图像处理,控制理论分析和系统设计,过程控制,建模和仿真,通信系统,财政金融的众多领域的理论研究和工程设计中得到了广泛应用。
MATLAB是1984年由美国Mathworks公司推向市场。
该软件有三大特点:一是功能强大;二是界面友善,语言自然;三是开放性强(仅Mathworks公司就推出了30多个应用工具箱)。
Matlab的版本目前已经发展到Matlab7.4。
§2 Matlab简介1.指令行的编辑启动Matlab后,就可以利用Matlab工作。
由于Matlab是一种交互式语言,随时输入指令,即时给出运算结果是它的工作方式。
2*sin(0.3*pi)/(1+sqrt(5)) ↵ans=0.5000 (ans是一个保留的Matlab字符串,它表示上面一个式子的返回结果,用于结果的缺省变量名。
)2. 入门演示intro↵ demo↵3. 帮助① help↵ %帮助总揽help elfun↵ %关于基本函数的帮助信息help exp↵ %指数函数exp的详细信息② lookfor指令当要查找具有某种功能但又不知道准确名字的指令时,help的能力就不够了,lookfor可以根据用户提供的完整或不完整的关键词,去搜索出一组与之相关的指令。
LINGO基本教程(完整版)pdf一、教学内容本节课我们使用的教材是《LINGO基本教程》,我们将学习第14章的内容。
第1章介绍LINGO软件的基本操作,包括界面的熟悉、模型的建立等;第2章学习线性规划模型的建立与求解;第3章讲解非线性规划模型的建立与求解;第4章介绍整数规划模型的建立与求解。
二、教学目标1. 学生能够熟练操作LINGO软件,建立和求解线性、非线性以及整数规划模型。
2. 学生能够理解线性、非线性以及整数规划的基本概念,并能够运用到实际问题中。
3. 学生通过学习LINGO基本教程,提高自己的逻辑思维能力和解决实际问题的能力。
三、教学难点与重点重点:熟练操作LINGO软件,建立和求解线性、非线性以及整数规划模型。
难点:理解线性、非线性以及整数规划的基本概念,以及如何将这些概念运用到实际问题中。
四、教具与学具准备教具:多媒体教学设备、投影仪、计算机。
学具:学生计算机、LINGO软件、教材《LINGO基本教程》。
五、教学过程1. 实践情景引入:以一个简单的线性规划问题为切入点,引导学生思考如何利用LINGO软件求解。
2. 讲解教材内容:分别讲解第14章的内容,包括LINGO软件的基本操作、线性规划模型的建立与求解、非线性规划模型的建立与求解以及整数规划模型的建立与求解。
3. 例题讲解:针对每个章节的内容,选择合适的例题进行讲解,让学生通过例题理解并掌握相关知识点。
4. 随堂练习:在每个章节讲解结束后,安排随堂练习,让学生通过练习巩固所学知识。
5. 课堂互动:鼓励学生提问,解答学生在学习过程中遇到的问题。
6. 板书设计:每个章节的重要知识点和操作步骤进行板书设计,方便学生复习。
7. 作业布置:布置与本节课内容相关的作业,巩固所学知识。
六、作业设计1. 作业题目:最大化问题:目标函数:Z = 2x1 + 3x2约束条件:x1 + x2 ≤ 62x1 + x2 ≤ 8x1, x2 ≥ 0最大化问题:目标函数:Z = x1^2 + x2^2约束条件:x1 + x2 ≤ 5x1^2 + x2^2 ≤ 10x1, x2 ≥ 0最大化问题:目标函数:Z = 3x1 + 2x2约束条件:x1 + x2 ≤ 42x1 + x2 ≤ 6x1, x2 均为整数2. 答案:(1)线性规划问题的解为:x1 = 2, x2 = 4(2)非线性规划问题的解为:x1 = 3, x2 = 2(3)整数规划问题的解为:x1 = 2, x2 = 2七、板书设计1. 第1章:LINGO软件的基本操作(1)界面的熟悉(2)模型的建立2. 第2章:线性规划模型的建立与求解(1)目标函数的定义(2)约束条件的设置(3)求解线性规划问题3. 第3章:非线性规划模型的建立与求解(1)目标函数的定义(2)约束条件的设置(3)求解非线性规划问题4. 第4章:整数规划模型的建立与求解(1)目标函数的定义(2)约束条件的设置(3)求解整数规划问题八、课后反思及拓展延伸本节课通过实践情景引入,使学生能够快速融入学习状态。
lingo入门教程Lingo是一种广泛应用于计算机编程和计算机科学领域的编程语言。
它是用于Adobe Director(一种多媒体应用程序)中的脚本语言,用于控制多媒体元素和动画。
Lingo的语法比较简单易懂,有助于创建交互式和多媒体项目。
下面是一些Lingo的基本概念和用法。
1. 变量(Variables): 在Lingo中,变量用于存储数据值。
变量可以是数字、文本或其他数据类型。
要创建变量,可以使用关键字`global`或`local`,后跟变量名和初始值(可选)。
例如:```global myVariable = 10local myText = "Hello World"```2. 条件语句(Conditional statements): 条件语句用于根据条件执行特定的代码块。
常用的条件语句有`if-then`和`if-then-else`。
例如:```if myVariable > 5 thenalert "Value is greater than 5"elsealert "Value is less than or equal to 5"end if```3. 循环(Loops): 循环用于重复执行一段代码块,直到满足指定条件为止。
Lingo提供了`repeat`和`repeat while`循环语句。
例如:```repeat with i = 1 to 5put iend repeat```4. 函数(Functions): 函数是一组预定义的代码,用于执行特定的任务。
Lingo提供了许多内置函数,如`alert`、`put`等。
您还可以创建自己的函数。
例如:```on multiplyNumbers(a, b)return a * bend multiplyNumbersput multiplyNumbers(2, 4) -- 输出8```这些只是Lingo的一些基本概念和用法。
LINGO 使用教程LINGO 是用来求解线性和非线性优化问题的简易工具。
LINGO 内置了一种建立最优化模型的语言,可以简便地表达大规模问题,利用LINGO 高效的求解器可快速求解并分析结果。
§1 LINGO 快速入门当你在windows 下开始运行LINGO 系统时,会得到类似下面的一个窗口:外层是主框架窗口,包含了所有菜单命令和工具条,其它所有的窗口将被包含在主窗口之下。
在主窗口内的标题为LINGO Model – LINGO1的窗口是LINGO 的默认模型窗口,建立的模型都都要在该窗口内编码实现。
下面举两个例子。
例1.1 如何在LINGO 中求解如下的LP 问题:,6002100350..32min 212112121≥≤+≥≥++x x x x x x x t s x x在模型窗口中输入如下代码: min =2*x1+3*x2; x1+x2>=350; x1>=100;2*x1+x2<=600;然后点击工具条上的按钮 即可。
例1.2 使用LINGO 软件计算6个发点8个收点的最小费用运输问题。
产销单位运价如model:!6发点8收点运输问题;sets:warehouses/wh1..wh6/: capacity;vendors/v1..v8/: demand;links(warehouses,vendors): cost, volume;endsets!目标函数;min=@sum(links: cost*volume);!需求约束;@for(vendors(J):@sum(warehouses(I): volume(I,J))=demand(J));!产量约束;@for(warehouses(I):@sum(vendors(J): volume(I,J))<=capacity(I));!这里是数据;data:capacity=60 55 51 43 41 52;demand=35 37 22 32 41 32 43 38;cost=6 2 6 7 4 2 9 54 95 3 8 5 8 25 2 1 9 7 4 3 37 6 7 3 9 2 7 12 3 9 5 7 2 6 55 5 2 2 8 1 4 3;enddataend然后点击工具条上的按钮即可。
为了能够使用LINGO的强大功能,接着第二节的学习吧。
§2 LINGO中的集对实际问题建模的时候,总会遇到一群或多群相联系的对象,比如工厂、消费者群体、交通工具和雇工等等。
LINGO允许把这些相联系的对象聚合成集(sets)。
一旦把对象聚合成集,就可以利用集来最大限度的发挥LINGO建模语言的优势。
现在我们将深入介绍如何创建集,并用数据初始化集的属性。
学完本节后,你对基于建模技术的集如何引入模型会有一个基本的理解。
2.1 为什么使用集集是LINGO建模语言的基础,是程序设计最强有力的基本构件。
借助于集,能够用一个单一的、长的、简明的复合公式表示一系列相似的约束,从而可以快速方便地表达规模较大的模型。
2.2 什么是集集是一群相联系的对象,这些对象也称为集的成员。
一个集可能是一系列产品、卡车或雇员。
每个集成员可能有一个或多个与之有关联的特征,我们把这些特征称为属性。
属性值可以预先给定,也可以是未知的,有待于LINGO求解。
例如,产品集中的每个产品可以有一个价格属性;卡车集中的每辆卡车可以有一个牵引力属性;雇员集中的每位雇员可以有一个薪水属性,也可以有一个生日属性等等。
LINGO有两种类型的集:原始集(primitive set)和派生集(derived set)。
一个原始集是由一些最基本的对象组成的。
一个派生集是用一个或多个其它集来定义的,也就是说,它的成员来自于其它已存在的集。
2.3 模型的集部分集部分是LINGO模型的一个可选部分。
在LINGO模型中使用集之前,必须在集部分事先定义。
集部分以关键字“sets:”开始,以“endsets”结束。
一个模型可以没有集部分,或有一个简单的集部分,或有多个集部分。
一个集部分可以放置于模型的任何地方,但是一个集及其属性在模型约束中被引用之前必须定义了它们。
2.3.1 定义原始集为了定义一个原始集,必须详细声明:·集的名字·可选,集的成员·可选,集成员的属性定义一个原始集,用下面的语法:setname[/member_list/][:attribute_list];注意:用“[]”表示该部分内容可选。
下同,不再赘述。
Setname是你选择的来标记集的名字,最好具有较强的可读性。
集名字必须严格符合标准命名规则:以拉丁字母或下划线(_)为首字符,其后由拉丁字母(A—Z)、下划线、阿拉伯数字(0,1,…,9)组成的总长度不超过32个字符的字符串,且不区分大小写。
注意:该命名规则同样适用于集成员名和属性名等的命名。
Member_list是集成员列表。
如果集成员放在集定义中,那么对它们可采取显式罗列和隐式罗列两种方式。
如果集成员不放在集定义中,那么可以在随后的数据部分定义它们。
①当显式罗列成员时,必须为每个成员输入一个不同的名字,中间用空格或逗号搁开,允许混合使用。
例2.1可以定义一个名为students的原始集,它具有成员John、Jill、Rose和Mike,属性有sex和age:sets:students/John Jill, Rose Mike/: sex, age;endsets②当隐式罗列成员时,不必罗列出每个集成员。
可采用如下语法:setname/member1..memberN/[: attribute_list];这里的member1是集的第一个成员名,memberN是集的最末一个成员名。
LINGO将自动产生中间的所有成员名。
LINGO也接受一些特定的首成员名和末成员名,用于创建一些特殊的集。
例2.2!集部分;sets:students:sex,age;endsets!数据部分;data:students,sex,age= John 1 16Jill 0 14Rose 0 17Mike 1 13;enddata注意:开头用感叹号(!),末尾用分号(;)表示注释,可跨多行。
在集部分只定义了一个集students,并未指定成员。
在数据部分罗列了集成员John、Jill、Rose和Mike,并对属性sex和age分别给出了值。
集成员无论用何种字符标记,它的索引都是从1开始连续计数。
在attribute_ list可以指定一个或多个集成员的属性,属性之间必须用逗号隔开。
可以把集、集成员和集属性同C语言中的结构体作个类比。
如下图:集←→ 结构体集成员←→ 结构体的域集属性←→ 结构体实例LINGO内置的建模语言是一种描述性语言,用它可以描述现实世界中的一些问题,然后再借助于LINGO求解器求解。
因此,集属性的值一旦在模型中被确定,就不可能再更改。
在LINGO中,只有在初始部分中给出的集属性值在以后的求解中可更改。
这与前面并不矛盾,初始部分是LINGO求解器的需要,并不是描述问题所必须的。
2.3.2 定义派生集为了定义一个派生集,必须详细声明:·集的名字·父集的名字·可选,集成员·可选,集成员的属性可用下面的语法定义一个派生集:setname(parent_set_list)[/member_list/][:attribute_list];setname是集的名字。
parent_set_list是已定义的集的列表,多个时必须用逗号隔开。
如果没有指定成员列表,那么LINGO会自动创建父集成员的所有组合作为派生集的成员。
派生集的父集既可以是原始集,也可以是其它的派生集。
例2.3sets:product/A B/;machine/M N/;week/1..2/;allowed(product,machine,week):x;endsetsLINGO生成了三个父集的所有组合共八组作为allowed集的成员。
列表如下:编号成员1 (A,M,1)22(A,M,2)33(A,N,1)44(A,N,2)55(B,M,1)66(B,M,2)77(B,N,1)88(B,N,2)成员列表被忽略时,派生集成员由父集成员所有的组合构成,这样的派生集成为稠密集。
如果限制派生集的成员,使它成为父集成员所有组合构成的集合的一个子集,这样的派生集成为稀疏集。
同原始集一样,派生集成员的声明也可以放在数据部分。
一个派生集的成员列表有两种方式生成:①显式罗列;②设置成员资格过滤器。
当采用方式①时,必须显式罗列出所有要包含在派生集中的成员,并且罗列的每个成员必须属于稠密集。
使用前面的例子,显式罗列派生集的成员:allowed(product,machine,week)/A M 1,A N 2,B N 1/;如果需要生成一个大的、稀疏的集,那么显式罗列就很讨厌。
幸运地是许多稀疏集的成员都满足一些条件以和非成员相区分。
我们可以把这些逻辑条件看作过滤器,在LINGO生成派生集的成员时把使逻辑条件为假的成员从稠密集中过滤掉。
例2.4sets:!学生集:性别属性sex,1表示男性,0表示女性;年龄属性age. ;students/John,Jill,Rose,Mike/:sex,age;!男学生和女学生的联系集:友好程度属性friend,[0,1]之间的数。
;linkmf(students,students)|sex(&1) #eq# 1 #and# sex(&2) #eq# 0: friend;!男学生和女学生的友好程度大于0.5的集;linkmf2(linkmf) | friend(&1,&2) #ge# 0.5 : x;endsetsdata:sex,age = 1 160 140 170 13;friend = 0.3 0.5 0.6;enddata用竖线(|)来标记一个成员资格过滤器的开始。
#eq#是逻辑运算符,用来判断是否“相等”,可参考§4. &1可看作派生集的第1个原始父集的索引,它取遍该原始父集的所有成员;&2可看作派生集的第2 个原始父集的索引,它取遍该原始父集的所有成员;&3,&4,……,以此类推。
注意如果派生集B的父集是另外的派生集A,那么上面所说的原始父集是集A向前回溯到最终的原始集,其顺序保持不变,并且派生集A的过滤器对派生集B仍然有效。
因此,派生集的索引个数是最终原始父集的个数,索引的取值是从原始父集到当前派生集所作限制的总和。
总的来说,LINGO可识别的集只有两种类型:原始集和派生集。