资源描述:
《lingo自写程序 (2)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、model:min=fx+fy;fx=@if(x#gt#0,100,0)+2*x;!这个语句的意思是:判断x>0?是选择100,否则选择0;fy=@if(y#gt#0,60,0)+3*x;x+y>=30;endsets:set1/A,B,C,d/:X,Y;!这样的一段话的意思是把xy的具体数值赋予子母;endsetsdata:X,Y=12!这里的数值是这样的赋值的,,结果是x=1357y=2468;345678;Enddata那么假set2/1..10/x;那么数据里含有的数据就是(1,10)的矩阵>>>>sets:years/1..500/:clise
2、;endsetsdata:clise=4;!输出来的是500个数值为4的数;enddatamodel:sets:object/1..3/:f;!创建集范围是1^3。f是一个属性,可以有不同的含义;endsetsf(1)=a*@sin(x);f(2)=b*@cos(x);f(3)=a*@cos(x)+b*@sin(x);min=@smax(f(1),f(2),f(3));data:a,b=3,4;enddata@bnd(0,x,1.57);!说明函数的界限;Endmodel:sets:number/1..5/:x;endsets@for(number:x(
3、a)=a^2);Endmodel:sets:days/mon..sun/:required,start;endsetsdata:required=20161316191412;enddatamin=@sum(days(J):start);@for(days(J):@sum(days(I)
4、I#le#5:start(@wrap(J+I+2,7)))>=required(J));endmodel:sets:days/mon..sun/:required,start;endsetsdata:required=20161316191412;@text('D:o
5、ut.txt')=days'至少需要的职员数是'start;enddatamin=@sum(days(J):start);@for(days(J):@sum(days(I)
6、I#le#5:start(@wrap(J+I+2,7)))>=required(J));end下面是能够引进来来excle的一段:model:sets:product;machine;week;allowed(product,machine,week):x,y;endsetsdata:rate=0.01;product,machine,week,allowed,x,y=@ole('D
7、:import.xls');@ole('D:import.xls')=rate;enddata很有趣的一个程序:data:x=?;enddata@warn('你输入了一个正数',x#gt#0);endsets:demand/1..10/:x;endsetssum=@sum(demand(i)
8、i#le#5:x(i));end先定义一个数集demand在@sum里面的“:”右边定义x(i),左边声明x(i)中的i属于demand集
9、右边可以限定i的范围那个用户手册在lingo文件夹下有一个叫“Lingo80.hlp”帮助文件,不过是英文版的哈,一般《l
10、ingo教程》就够用的sets:demand/1..10/:x;!构造集合的时候说明集合的大小紧接着构造一个属性,属性里含有十的个数值;endsetsdata:x=1234567890;enddatasum=@sum(demand(i):x(i));!sum函数的使用方法是;end这就算是课本73页码的题目答案。model:sets:quarters/1..4/:dem,rp,op,inv;endsetsmin=@sum(quarters(i):400*rp+450*op+20*inv);@for(quarters:rp<40);@for(quarter
11、s(i)
12、i#gt#1:inv(i)=inv(i-1)+rp(i)+op(i)-dem(i););inv(1)=10+rp(1)-op(1)-dem(1);data:dem=40,60,75,45;enddataendmodel:demand/1..6/:a,b,d;supply/1..2/:x,y,e;link(demand,supply):c;endsetsdata:a=1.258.750.55.7537.25;b=1.250.754.7556.57.75;d=3547611;enddatainit:x,y=5,1,2,7;endinitmin=@s
13、um(link(i,j):c(i,j)@sqrt((x(i)-a(i))^2+(