资源描述:
《lingo的基本知识及使用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、LINGO的基本知识美国LINDO公司的主要产品:LINDO:LinearINteractiveandDiscreteOptimizer(V6.1)LINGO:LinearINteractiveGeneralOptimizer(V8.0)LINDOAPI:LINDOApplicationProgrammingInterface(V2.0)What’sBest!:(SpreadSheete.g.EXCEL)(V7.0)一、一个最简单的LP(线性规划)问题目标函数约束条件下面我们看一下在LINGO中如何解决这个简单的问题。(LP01.lg4)每条语句必须用“;”结束。二、LINGO
2、中的集(合)有了集合,许多类似的约束条件就可以简化。下面定义一个简单的集合:SETS:CARS/car1,car2,car3/:topspeed,price;ENDSETS其中,CARS是集合名,是一个标记;/car1,car2,car3/是集合中的成员列表(类似于集合中的元素);topspeed和price则是car1,car2,car3的属性,如car2的topspeed为180km/h,price为40万;SETS和ENDSETS为LINGO中定义集合域的关键词。下面定义一个集合:SETS:stus/john,jill,rose,mike/:sex,age;links(
3、stus,stus)
4、sex(&1)#eq#1#and#sex(&2)#eq#2:friend;ENDSETS注:stus中的sex属性有1和0两个值,分别表示男生和女生。&1和&2是集合索引占位符,只在元素过滤器中有效。元素过滤器派生集合中的成员,可以省略(这时这个集合就是密集),也可以显式罗列,也就是用类似原始集的方法直接列出(只选取集合中的一部分元素用在模型中),还可以用元素过滤器筛选。注意,我们是给集合中的属性而不是成员赋值。如对集合CARS/car1,car2,car3/:topspeed,price;可以赋值为:topspeed=100,180,220;price=
5、20,40,65;还可以赋值为:topspeed,price=100,20,180,40,220,65;三、模型的数据域和初始域——给集合中的属性赋值在赋值时,我们还可以输入‘?’,这样,在程序运行时,会出现如图所示的提示框,让我们输入需要的值。Sets:days/mo,tu,we,th,fr,sa,su/:needs,cost;EndsetsDataneeds,cost=20,100;!这时集合中的所有元素的needs和cost属性值相同;enddata模型的初始域的赋值方法和数据域赋值方法相同,不过作用不同而已。模型的初始域在解非线性规划时才能发挥作用,为某些属性选一个好的
6、初始值可以加快模型的求解速度。具体格式如下:Init:X,Y=0,0.1;Endinit四、LINGO中的函数LINGO中的函数有基本运算符,数学函数,金融函数,变量限定函数等。这里我们看一下集合循环函数,这是lingo中的特色。其余函数的使用与该函数一致。@FOR用于对集合的所有元素产生约束;@SUM计算出基于集合元素表达式的总和;@MIN求出基于集合元素的表达式的最小值;@MAX求出基于集合元素的表达式的最大值。下面我们用例子来体会每个函数的运用方法:Eg1:SETS:TRUCKS/MAC,PET,FORT,DOD/:HAUL;ENDSETS@FOR(TRUCKS(T):H
7、AUL(T)<=2500);上面这个句子就表示了以下几条句子的意思:1]HAUL(MAC)<=25002]HAUL(PET)<=25003]HAUL(FORT)<=25004]HAUL(DOD)<=2500就是每个卡车的装载量小于等于2500。Eg2:sets:set1/v1,v2,v3,v4/:demand;endsetsdata:demand=1346;enddatatotal_set1=@sum(set1(i):demand(i));min_set1=@min(set1(i):demand(i));max_set1=@max(set1:demand);运行情况看eg2.l
8、g4。工厂定位:0/1变量;匹配问题:元素过滤器的使用(稀疏集)职员分配:选看;PERT:模型中可以没有目标函数,选看;Eg_excel:与EXCEL的连接示例;!(工厂定位模型)某公司计划增加一些产品加工点(工厂),有三个位置可供选择。现有四个客户需要该公司的产品且需要量已知。在每一个位置建立工厂都有与其关联的月运作费用,从工厂到客户的运输成本也不相同。此外工厂的运输能力也是有限的,不得突破它的生产能力。现在需要决定哪些工厂要开工?开工的工厂给每个客户运送多少产品使的总运输成本和工厂月运作