资源描述:
《LINGO的基本用法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、LINGO的基本用法一.集合的基本用法集合(set)及其属性(attribute)的概念基本集合与派生集合集合名[/元素列表/][:属性列表];集合名(父集合列表)[/元素列表/][:属性列表];稠密集合与稀疏集合元素过滤法基本集合的隐式列举法:数字型1..n字符数字型Car101..Car208日期型MON..FRI月份型OCT..JAN年月型OCT2007..JAN2008二.模型结构(1)集合段从“sets:”到“endsets”(2)数据输入段从“data:”到“enddata”属性=常数列表(3)目标和约束段MIN=表达式(4)计算段
2、从“calc:”到“endcalc”,对原始数据的计算处理(5)初始段从“init:”到“endinit”,定义迭代初值用属性=常数列表(6)注释从感叹号到分号三.函数基本数学函数@ABS(X)@COS(X)@EXP(X)@FLOOR(X)@LGM(X)@LOG(X)@MOD(X,Y)@POW(X,Y)@SIGN(X)@SIN(X)@SMAX(list)@SMIN(list)@SQR(X)@SQRT(X)@TAN(X)其中@LGM(X)=ln(X-1)!集合循环函数@FOR@MIX@MIN@PROD@SUM用法:集合函数名(集合名(集合索引列表
3、)
4、条件:表达式组)集合操作函数@IN@IN(集合名,集合元素名,…集合元素名)@INDEX@INDEX(集合名,集合元素名)@WRAP@WRAP(i,N),循环计数@SIZE@SIZE(集合名)变量定界函数@BND(L,X,U)@BIN(X)@FREE(X)@GIN(X)分别对变量取值限制:上下界,0-1值,取消非负限制,整数概率分布函数@PNS(X)标准正态分布@PSL(X)正态线性损失@PBN(P,N,X)二项分布@PHG超几何分布@PTD(N,X)t分布@PFD(N,D,X)F分布@PPS(A,X)泊松分布@PPL(A,X)泊松线性损失
5、@PCX(N,X)X平方分布@RAND(seed)随机数服务系统函数@PEL(A,X)@PFS(A,X,C)@PEB(A,X)文件输入输出函数@FILE(fn)@TEXT(‘fn’)@OLE结果报告函数@ITERS()返回迭代次数@NEWLINE(n)输出n个新行@STRLEN(string)返回字符串的长度@NAME(reference)返回变量名或行名@WRITE用于数据段,输出变量,字符串或换行@WRITEFOR是@WRITE在循环情况下的推广@FORMAT以格式描述符方式输出数值@DUAL(varname)返回解答中变量的判别数或结束行
6、的影子价格@STATUS()返回求解后的最后状态其他函数@IF@IF(条件,true结果,false结果)@WARN@WARN(‘text’,条件)@USER@USER(用户编写的函数dll或obj文件)一.文件传输通过文本文件传输数据@FILE和@TEXT通过Excel文件传输数据@OLE例题!背包问题KnapsackProblem!maxz=sum(i=1~n)cixi!st.sumaixi<=b,xi=0/1;model:title背包问题;sets:wp/w1..w8/:a,c,x;endsetsdata:a=134331510;c=2
7、938106410;enddatamax=@sum(wp:c*x);@for(wp:@bin(x));@sum(wp:a*x)<=15;end!装箱问题!=======;model:title装箱问题;sets:wp/w1..w30/:w;xz/v1..v30/:y;links(wp,xz):x;endsetsdata:w=0.51,0.51,0.51,0.51,0.51,0.51,0.27,0.27,0.27,0.27,0.27,0.27,0.26,0.26,0.26,0.26,0.26,0.26,0.23,0.23,0.23,0.23,0.
8、23,0.23,0.23,0.23,0.23,0.23,0.23,0.23;enddatamin=@sum(xz(i):y(i));C=1;@for(links:@bin(x));@for(xz:@bin(y));@for(wp(i):@sum(xz(j):x(i,j))=1);@for(xz(j):@sum(wp(i):w(i)*x(i,j))<=C*y(j));end@for(o(j):cun(2,j)=cun(1,j)+x(2,j)-he(2,j);z2=@sum(o(j):cun(2,j));@for(o(j):cun(3,j)=cun
9、(2,j)+x(3,j)-he(3,j);z3=@sum(o(j):cun(3,j));@for(o(j):cun(4,j)=cun(3,j)+x(4