LINGO8.0编程介绍.pptVIP

  • 4
  • 0
  • 约7.5千字
  • 约 38页
  • 2017-10-16 发布于浙江
  • 举报
LINDO应用实例 牛奶问题(1)程序 max 72x1+64x2 st 2)x1+x250 3)12x1+8x2480 4)3x1100 end 牛奶问题(2)程序 max 72x1+64x2+8.2x3+5x4 st 2) x1+x2=50 3) 12x1+8x2+2x3+2x4=480 4) 3x1=100 5) x3-3x1=0 6) x4-4x2=0 end 使用LINDO的一些注意事项 “”(或“”)号与“=”(或“=”)功能相同; 变量与系数间可有空格, 但无运算符; 变量名以字母开头,不区分大小写; 目标函数所在行是第一行,第二行起为约束条件; 行号(行名)自动产生或人为定义,行名以“)”结束; 行中“!”符号的后面部分为注释,如: ! It’s Comment. 变量不能出现在约束条件的右端; 表达式中不接受括号“()”和逗号“,”等任何符号; 表达式应化简,如2x1+3x2- 4x1应写成 -2x1+3x2; 缺省时假定所有变量非负;可在模型的“END”语句后用“FREE name”将变量name的非负假定取消; 可在 “END”后用“SUB” 或“SLB” 设定变量上下界 例如: “sub x1 10”的作用等价于“x1=10” 但用“SUB”和“SLB”表示的上下界约束不计入模型的约束,也不能给出其松紧判断和敏感性分析; 14. “END”后对整数变量说明:GIN n 或 GIN name; 15. “END”后对0-1变量说明: INT n 或 INT name. TITLE This Model is only an Example LINDO应用实例 LINGO程序 max 2x1+3x2+4x3 st 1.5x1+3x2+5x3600 280x1+250x2+400x360000 end gin 3 LINGO程序简单实例 牛奶问题(2)程序 model: max=24*(3*x1-x3)+16*(4*x2-x4)+ 44*0.8*x3-3*x3+32*0.75*x4-3*x4; x1+x2=50; 12*x1+8*x2+2*x3+2*x4=480; 3*x1=100; x3=3*x1; x4=4*x2; end 使用LINGO的一些注意事项 “”(或“”)号与“=”(或“=”)功能相同; 变量与系数间应有运算符“*”; 变量名以字母开头,不区分大小写; 程序以“model:”开始,以“end”结束; 目标函数行中max(或min)后要有等号“=”; 每行最后必须以分号“;”表示结束; 行中“!”符号的后面部分为注释。如: ! It’s Comment. 表达式的书写方式比较自由,变量可以出现在等式右边; 缺省时假定所有变量连续非负;可在模型的“END”语句前用free(name)表示取消非负假定; 用gin(name)表示变量为整数;用bin(name)表示0-1变量. 11. LINGO一般不给出敏感性分析,如需要可以在option选项中设置。 LINGO模型 — 例:选址问题 LINGO程序: model: sets: P/1,2/; Q/1..6/:a,b,d; R(P,Q):c,z; endsets data: a=1.25, 8.75, 0.5, 5.75, 3, 7.25; b=1.25, 0.75, 4.75, 5, 6.5, 7.75; d= 3, 5, 4, 7, 6, 11; enddata min=@sum(R(i,j):c(i,j)*z(i,j)); @for(Q(j):z(1,j)=(@sum(Q(j):(5-a(j))^2+(1-b(j))^2))^(1/2)); @for(Q(j):z(2,j)=(@sum(Q(j):(2-a(j))^2+(7-b(j))^2))^(1/2)); @for(P(i):@sum(Q(j):c(i,j))=20); @for(Q(j):@sum(P(i):c(i,j))=d(j)); end 选址问题:NLP LINGO程序 model: sets: P/1,2/:x,y; Q/1..6/:a,b,d; R(P,Q):c,z; endsets data: a=1.25, 8.75, 0.5, 5.75, 3, 7.25; b=1.25, 0.75, 4.75, 5, 6.5, 7.75; d=3, 5, 4, 7, 6, 11; enddata min=@sum(R(i,j):c(i,j)*z(i,j)); @for(Q(j):z(1,j)=(@sum(Q(j):(

文档评论(0)

1亿VIP精品文档

相关文档