数软lingo语言.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语言

数学软件教程 Lingo模型语言 LINDO /LINGO软件 LINGO: Linear INteractive General Optimizer (V10.0) 求解数学规划问题 Min Z = f (x) s.t x ? A (? Rn ) 需要掌握的几个重要方面 基本语法结构 掌握集合(SETS)的应用 正确阅读求解报告 正确理解求解状态窗口 学会设置基本的求解选项(OPTIONS) 一、Lingo基本语法 1、定义了目标函数为MIN=.. 2、以一个分号“;”结尾 ——除SETS, ENDSETS, DATA , ENDDATA, END之外 3、可以放在约束条件的右端,同时数字也可放在约束条件的左端。 4、假定各变量非负。 5、注释:“!” 6、、为≤、≥ 建模时需要注意的几个基本问题 尽量使用实数优化,减少整数约束和整数变量 尽量使用光滑优化,减少非光滑约束的个数 尽量少使用绝对值、符号函数、多个变量求最大/最小值、四舍五入、取整函数等 尽量使用线性模型,减少非线性约束和非线性变量的个数 如x/y 5 改为x5y 合理设定变量上下界,尽可能给出变量初始值 模型中使用的参数数量级要适当 如小于103 二、Lingo集合 某公司有6个建筑工地,位置坐标为(ai,bi) (单位:公里),水泥日用量di (单位:吨) 解: 决策变量:料场j到工地i的运量—— cij ——12维 线性规划模型 lingo——表达式? 目标与约束段 MODEL: Title Location Problem; sets: demand/1..6/:a,b,d; supply/1..2/:x,y,e; link(demand,supply):c; 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; e=20,20; x,y=5,1,2,7; enddata init: endinit min=@sum(link(i,j):c(i,j)*((x(j)-a(i))^2+(y(j)-b(i))^2)^(1/2)); @for(demand(i):@sum(supply(j):c(i,j))=d(i);); @for(supply(i):@sum(demand(j):c(j,i))=e(i);); @for(supply: @free(X); @free(Y); ); END 2、Lingo的集合Set及其属性Attribute 例1 建筑工地位置坐标 (ai,bi) 、水泥日用量di : 对每个建筑工地(6个)都有一个对应的值 都是一个由6个元素组成的数组——是已知的 料场位置坐标 (xj,yj) 、日储量ej 对每个料场(2个)都有一个对应的值 都是一个由2个元素组成的数组——目前是已知的 料场到建筑工地的供应计划 c i j 对每个料场与建筑工地之间(6×2)都有一个对应的值 是一个6×2 个元素组成的矩阵——是未知数 LINDO无数组,每个变量输入——麻烦 集合Set及其属性Attribute 定义数组下标集合demand/1..6/———表示6个建筑工地 a,b,d称为该集合的属性 ———表示坐标(ai,bi) 、水泥日用量di 定义数组下标集合supply/1..2/———表示6个建筑工地 该集合的属性x,y,e ———表示坐标(xj,yj) 、日储量ej 定义数组下标集合link(demand,supply)———表示6×2个料场到建筑工地的连接 该集合的属性c ———表示每个料场与建筑工地之间供应计划c i j Lingo 建模语言——集合段 数据段 建立下标集合 3、定义集合Set 直接把元素列举出来 定义格式 ——集合名 元素列表 属性列表 setname [/member_list/] [: attribute_list]; [ …… ] —— 可选项 元素列表 显式列举法——列出全部元素, 用逗号或空格分开 隐式列举法—— 1..n 属性列表缺省——集合可在程序中作为一循环变量使用,构造更复杂的派生集合 元素列表缺省——必须在数据段给出元素列表赋值 派生集合derived set 基于其它集合而派生出来的二维或多维集合 定义格式 ——集合名 父集合列表 元素列表 属性列表 setname(parent_set_list) [/member_list/] [: attr

文档评论(0)

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

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

1亿VIP精品文档

相关文档