网站大量收购闲置独家精品文档,联系QQ:2885784924

lingo及举例.pptx

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
lingo及举例

数学规划;Lingo及举例; Lingo模型以“model:”开始,以“end”结束,中间主要包括集合部分、数据部分、初始化部分、计算部分和目标与约束部分。 (1)集合部分:这部分以“sets:”开始,以“endsets”结束。该部分的作用是定义必要的变量。基本格式如下: sets: setname/menber1..menbern/:variable1,variable2; endsets ; 这一类数据类型(集合)为原始集合,可以进一步定义派生集合,比如 sets: setname1/menber1..menbern/:variable1; setname2/element1..elementm/:variable2; setname(setname1,setname2):varibale; endsets 可以将setname1类型的变量看成一个n维向量,setname2类型的变量看成一个m维向量,而将setname类型的变量看成一个n行m列的矩阵。; (2)数据部分:这部分以“data:”开始,以“enddata”结束,其作用是对集合段定义的部分变量进行赋值。 (3)初始化部分:这部分以“init:”开始,以“endinit”结束,作用是为决策变量赋初始值。 (4)计算部分:以”calc:”开头“endcalc”结束,这部分可以进行简单的计算,为相关的部分做准备。 (5)目标和约束部分:这部分定义目标函数和约束条件。为方便的定义目标函数和约束条件,一般需要用到Lingo的一些内部函数,比如@for和@sum等等。;例1:解下列线性规划问题 ;model: !程序以”model:” 开始 sets: !从”sets:”到“endsets”是集合段 feed/1..5/:x,c; !定义集合的类型和变量 nutr/1..3/: b; !三种营养物质的需求 mat(nutr,feed):a; !使用前面的集合定义派生集合 endsets data: !从”data:”到“enddata”是数据段 ;a=0.30 2.00 1.00 0.60 1.80 0.10 0.05 0.02 0.20 0.05 0.05 0.10 0.02 0.20 0.08; !矩阵按行依次赋值 c=0.02 0.07 0.04 0.03 0.05; b=7 3 10; enddata min=@sum(feed(i):c(i)*x(i)); !定义目标函数并求最小化问题 @for(nutr(j):@sum(feed(i):a(j,i)*x(i))=b(j)); !定义约束条件 end !最后以“end”结束 ;例2 蔬菜运输问题;model: !程序以”model:” 开始 sets: !从”sets:”到“endsets”是集合段 base/1..5/:xb,yb,s; !定义集合的类型和变量 super/1..3/:xs,ys,d; mat(base,super):c,x; !使用前面的集合定义派生集合 endsets data: !从”data:”到“enddata”是数据段 xb=2.1 8 5 1.3 7.7; yb=9 7.5 5.2 1.7 0.9; s=7 14 5 9 19; xs=5 2 8; ys=8 4 2.5; d=28 15 9; enddata;calc: !从”calc:”到“endcalc”是计算段 @for(mat(i,j):c(i,j)=((yb(i)-ys(j))^2+(xb(i)-

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档