Lingo入门概要1.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Lingo入门概要1

作业(1) 重新解前面例3之“0----1规划”模型:使用派生集合的lingo程序求解。 假设: :表示第i名队员参加第j种泳姿比赛,则令 ,否则 ; :表示第i名队员的第j种泳姿成绩 目标函数: 约束条件: Lingo程序 model: sets: dyjh/1..5/; yzjh/1..4/; cjjh(dyjh,yzjh):c,x; endsets data: c=66.8,75.6,87,58.6,57.2,66,66.4,53,78,67.8,84.6,59.4,70,74.2,69.6,57.2,67.4,71,83.8,62.4; enddata min=@sum(cjjh:c*x); @for(dyjh(i):@sum(yzjh(j):x(i,j))=1); @for(yzjh(j):@sum(dyjh(i):x(i,j))=1); @for(cjjh:@bin(x)); end * 单 位 销地 运 价 产地 B1 B2 B3 B4 B5 B6 B7 B8 产量 (capacity) A1 6 2 6 7 4 2 5 9 60 A2 4 9 5 3 8 5 8 2 55 A3 5 2 1 9 7 4 3 3 51 A4 7 6 7 3 9 2 7 1 43 A5 2 3 9 5 7 2 6 5 41 A6 5 5 2 2 8 1 4 3 52 销量(damand) 35 37 22 32 41 32 43 38 ? 作业(2):求解6个发货点到8个接收点的最小费用运输问题的最优方案。 产/销/单位运价如下表 思考:变量设置/目标函数/约束条件 某公司有6个货栈,库存货物总数分别为,60,55,51,43,41,52,现有8个客户要一批货,,数量分别为35,37,22,32,41,32,43,38。各个货栈到客户处的单位货物运输价格见表1,试确定各个客栈到各个客户调运数量,使总的运输费用最小? 设xij表示第i个货栈到第j个客户的货运量。Cij表示从第i个货栈到第j个客户运价,ai表示第i个货栈的供货量,dj表示第j个客户的订货量。则可建立本问题的数学模型: 下面用lingo语言表述: 集合(set)是一组相关对象的组合,代表模型中的实际事物,并与数学变量及常量联系起来,是实际问题到数学的抽象。上面的例子中6个客栈和8个客户可以看成两个集合。其中集合要明确三个方面的内容:集合的名称、集合内的成员、集合的属性。 可以分别定义客栈集合和客户集合: Kezhan/w1..w6/AI; Kehu/v1..v8/DJ; 其中kezhan和kehu是集合的名称,“..”是特定的省略号,AI和DJ分别是集合的属性,“/”是规定的语法规则,以上面两个集合为基础可以再定义一个表示运输关系的集合,links(kezhan,kehu):c,x;称为衍生集合。衍生集合的定义语句有以下要素组成: 集合的名称、对应的初始集合、集合的成员、集合的属性。 所以模型的完整的集合定义为: sets: kezhan/w1..w6/AI; kehu/v1..v8/DJ; links(kezhan,kehu):c,x; endsets 集合定义部分以sets:开头,以endsets结束,两个语句必须单独成行,endsets后面不能有符号。 数据部分: data: AI=60,55,51,43,41,52; DJ=35,37,22,32,41,32,43,38; c=6,2,6,7,4,2,5,9 4,9,5,3,8,5,8,2 5,2,1,9,7,4,3,3 7,6,7,3,9,2,7,1 2,3,9,5,7,2,6,5 5,5,2,2,8,1,4,3; enddata 语法规则和上面类似以data:开头,以enddata结束且不能有符号。 目标函数的表达式用lingo表述: min=@sum(links(i,j):c(i,j)*x(i,j)); @sum是lingo的内部函数,其作用是对某个集合的所有成员求指定表达式的和,该函数需要两个参数,第一个参数是集合名称,指定对该集合的所有成员,第二个参数是一个表达式,表示求和运算对该表达式进行。其运算规则是,先求c(i,j)*x

文档评论(0)

676200 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档