欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PDF文档下载
     

    Lingo超经典案例大全要点.pdf

    • 资源ID:5197416       资源大小:1.34MB        全文页数:20页
    • 资源格式: PDF        下载积分:4
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要4
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Lingo超经典案例大全要点.pdf

    Lingo 超经典案例大全 LINGO 是 Linear Interactive and General Optimizer的缩写,即 “ 交互式的线性和通用优化 求解器 ” 。Lingo 超强的优化计算能力在很多方面(线性规划、非线性规划、线性整数规划、 非线性整数规划、非线性混合规划、二次规划等)比matlab、maple 等强得多, Lingo 编程 简洁明了,数学模型不用做大的改动(或者不用改动)便可以直接采用Lingo 语言编程,十 分直观。 Lingo 模型由 4 个段构成: (1)集合段( sets endsets );( 2)数据段( data enddata); (3)初始段( init endinit );( 4)目标与约束段。 Lingo 的五大优点: 1. 对大规模数学规划,LINGO 语言所建模型较简洁,语句不多; 2. 模型易于扩展,因为FOR、SUM 等语句并没有指定循环或求和的上下限,如果在集 合定义部分增加集合成员的个数,则循环或求和自然扩展,不需要改动目标函数和约束条件; 3. 数据初始化部分与其它部分语句分开,对同一模型用不同数据来计算时,只需改动数据 部分即可,其它语句不变; 4. “集合 ” 是 LINGO 有特色的概念,它把实际问题中的事物与数学变量及常量联系起来,是 实际问题到数学量的抽象,它比C 语言中的数组用途更为广泛。 5. 使用了集合以及FOR、SUM 等集合操作函数以后可以用简洁的语句表达出常见的规 划模型中的目标函数和约束条件,即使模型有大量决策变量和大量数据,组成模型的语句并 不随之增加 一、求解线性整数规划、非线性整数规划问题: 1.线性整数规划: model: max=x1+x2; x1+9/14*x20.001; abs(x2-1)0.001; end 求得 x1=2,x2=2.若再次排除这组解,发现Lingo 解不出第三组解了,这时我们可以断定: 此优化模型有两组解: x1=3,x2=1 和 x1=2,x2=2. 求解模型时需注意:Lingo 中,默认变量均为非负;输出的解可能是最优解中的一组,要判 断、检验是否还有其他解(根据具体问题的解的情况或用排除已知最优解的约束条件法)。 2、非线性整数规划: model: sets: row/14/:b; col/15/:c1,c2,x; link(row,col):a; endsets data: c1=1,1,3,4,2; c2=-8,-2,-3,-1,-2; a=1 1 1 1 1 1 2 2 1 6 2 1 6 0 0 0 0 1 1 5; b=400,800,200,200; enddata max=sum(col:c1*x2+c2*x); for(row(i):sum(col(j):a(i,j)*x(j)=0) ; ! 对于每一个存在优先关系的作业对(I,J)来说, I 先 J后安排 ; FOR( STATION( K):SUM( TXS( I, K): T( I) * X( I, K) =required (j)( j=1,2,3,.,7) model: sets: days/monsun/: required,start; endsets data: !每天所需的最少职员数; required = 20 16 13 16 19 14 12; enddata !最小化每周所需职员数; min=sum(days: start); for(days(J):sum(days(I) | I #le# 5:start(wrap(J+2+I,7) = required(J); end 解得: 总共需要22 人,周一8 人开始值班,周二2 人,周三0 人,周四6 人,周五3 人, 周六 3 人,周日0 人。 十、填数问题 分别把 1,2, ,16 填到图示的16 个圈内,使得每个三角形上的所有圈内的数的和为81 (共 4 个三角形)。 决策变量 :e_ij=1,第 i 个圈填数a_j;e_ij=0, 第 i 个圈不填数a_j。a_j=j,j=1,2,3,.,16 。 模型: model: sets: number/116/:a; link(number,number):e; tri1(number)/1 2 3 4 5 6 7 8 9/; tri2(number)/1 2 3 4 16 15 12 11 10/; tri3(number)/4 5 6 7 14 13 12 15 16/; tri4(number)/7 8 9 1 10 11 12 13 14/; endsets data: a=1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16; enddata objmax=sum(link(i,j):e(i,j)*a(j); for(number(i):sum(link(i,j):e(i,j)=1); for(number(j):sum(link(i,j):e(i,j)=1); for(link(i,j):bin(e(i,j); sum(number(j):sum(tri1(i):e(i,j)*a(j)=81; sum(number(j):sum(tri2(i):e(i,j)*a(j)=81; sum(number(j):sum(tri3(i):e(i,j)*a(j)=81; sum(number(j):sum(tri4(i):e(i,j)*a(j)=81; sum(link(i,j):e(i,j)*a(j)=136; end 红色的那句程序可以去掉,也可以为:min=sum(link(i,j):e(i,j)*a(j),但求的结果不同,结 果都符合要求。 编号 116 的圆圈的填数结果至少有3 种: (1)12 11 1 10 7 8 14 13 5 9 4 16 2 6 15 3 (2)14 3 5 15 8 7 13 4 12 6 11 10 9 2 16 1 (3)14 11 4 15 9 8 13 2 5 16 3 10 12 6 1 7 为了求得更多的解,可以约束编号116 的圆圈的填数结果不为以上3 种结果。 model: sets: number/116/:a; link(number,number):e; tri1(number)/1 2 3 4 5 6 7 8 9/; tri2(number)/1 2 3 4 16 15 12 11 10/; tri3(number)/4 5 6 7 14 13 12 15 16/; tri4(number)/7 8 9 1 10 11 12 13 14/; yueshu1:c1; yueshu2:c2; yueshu3:c3; endsets data: a=1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16; c1=12 11 1 10 7 8 14 13 5 9 4 16 2 6 15 3; c2=14 3 5 15 8 7 13 4 12 6 11 10 9 2 16 1; c3=14 11 4 15 9 8 13 2 5 16 3 10 12 6 1 7; enddata objmin=sum(number(i):sum(number(j):e(i,j)*a(j); for(number(i):sum(number(j):e(i,j)=1); for(number(j):sum(link(i,j):e(i,j)=1); for(link(i,j):bin(e(i,j); sum(number(j):sum(tri1(i):e(i,j)*a(j)=81; sum(number(j):sum(tri2(i):e(i,j)*a(j)=81; sum(number(j):sum(tri3(i):e(i,j)*a(j)=81; sum(number(j):sum(tri4(i):e(i,j)*a(j)=81; sum(link(i,j):e(i,j)*a(j)=136; sum(yueshu1(j):sum(link(i,j):e(i,j)16; sum(yueshu2(j):sum(link(i,j):e(i,j)16; sum(yueshu3(j):sum(link(i,j):e(i,j)16; end 解得:( 4) 12 15 11 10 3 8 16 1 5 4 7 14 9 13 2 6 可以继续下去:· · · · · · 十一、数独求解 在琳琅在线数独随机截取一至尊级题目如下: 用 Lingo 求解这道题。

    注意事项

    本文(Lingo超经典案例大全要点.pdf)为本站会员(tbuqq)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开