QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 21788|回复: 86
打印 上一主题 下一主题

一个小小的LINGO建模技巧

[复制链接]
字体大小: 正常 放大

21

主题

97

听众

3110

积分

  • TA的每日心情
    奋斗
    2014-3-2 00:26
  • 签到天数: 243 天

    [LV.8]以坛为家I

    跳转到指定楼层
    #
    发表于 2014-1-4 22:19 |只看该作者 |正序浏览
    |招呼Ta 关注Ta
    本帖最后由 wujianjack2 于 2014-11-25 18:53 编辑

      本帖将以一个看似简单,实则求解很难的优化测试题来讨论LINGO的求解能力(LINDO API),个人见识有限,敬请谅解!
      参考帖子:
      http://forum.simwe.com/thread-806242-1-1.html     (原问题提出者为shamohu版主,16楼为我的回复)

    1.问题陈述:
       参考文献:
       1stOpt and Global Optimization Platform-Comparison and Case Study.caj
        Difficult Problem
       
       文献给出参考结果:(取较优解)
        Solution_Doc

    2.LINGO程序代码:(以LINGO 14及【LINGO学习杂谈 二】中Patch的LINDO API版本为求解引擎)
       方案一:直接编写
      (1)源代码一:
    MIN=(X1^X2+X2^X1-5*X1*X2*X3-85)^2+(X1^3*X2^X3*X3^X2-60)^2+(X1^X3+X3^X1-X2-0.55)^2;            @FREE(X1);@FREE(X2);@FREE(X3);
       
       运行结果截图:
       运行状态:
        Status_1

       运行结果:
        Global_Solu_1

    (2)源代码二:
    X1^X2+X2^X1-5*X1*X2*X3-85=0;X1^3*X2^X3*X3^X2-60=0;
    X1^X3+X3^X1-X2-0.55=0;
    @FREE(X1);@FREE(X2);@FREE(X3);

      运行结果截图:
      Global Solver Status:
       Global_Status 2
       
      Local Nonlinear Solver Status:
       Local_Status 2
      
       Local Nonlinear Solver运行结果:
        Local_Solu 2
      综上,可以看出,如果直接编写,LINGO对于此题的求解结果并不理想,但这并不意味着此题LINGO无法求解,只是,我们需要改变下策略。

       方案二:把复杂的约束简化(前提:把X1,X2,X3的定义域缩小为非负)
       对于方案一的代码,LINDO Systems公司的Mark Wiley先生给出了评价,并给出了合理的建议:
        Remark_By Mark Wiley

       如下代码基本沿用Mark Wiley先生给出的思路,稍作调整:
    [C1]  X1^X2+X2^X1-5*X1*X2*X3-85=0;
    [LC2] 3*@LOG(X1)+X3*@LOG(X2)+X2*@LOG(X3)-@LOG(60)=0;
    [C3]  X1^X3+X3^X1-X2-0.55=0;

       使用Global Solver与否均可较快得到较好的结果:(以下结果为Global Solver求解结果)
        Diff_Global_Solu
       有兴趣的可尝试其它版本,包括各种Crack,由于LINDO API版本号的不同,求解效果也可能出现差异。


    点评

    博学日新  感谢楼主分享  发表于 2014-2-6 17:15
    zan
    转播转播0 分享淘帖0 分享分享4 收藏收藏5 支持支持3 反对反对0 微信微信
    有什么好说的

    3

    主题

    14

    听众

    27

    积分

    升级  23.16%

  • TA的每日心情
    开心
    2017-3-1 21:26
  • 签到天数: 1 天

    [LV.1]初来乍到

    回复

    使用道具 举报

    myron_lee        

    1

    主题

    12

    听众

    9

    积分

    升级  4.21%

    该用户从未签到

    自我介绍
    关注企业信息化

    社区QQ达人

    这论坛怎么没人讨论lingo api在第三方高级编译语言的一些知识点啊,难道都是直接在lingo上写然后求解看结果吗?我觉得真正发挥价值,提高系统友好性还得跟业务系统集成整合。
    回复

    使用道具 举报

    1

    主题

    12

    听众

    32

    积分

    升级  28.42%

  • TA的每日心情
    奋斗
    2016-1-29 08:38
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    邮箱绑定达人 社区QQ达人

    回复

    使用道具 举报

    colinwang        

    0

    主题

    9

    听众

    55

    积分

    升级  52.63%

  • TA的每日心情
    郁闷
    2016-5-18 12:42
  • 签到天数: 21 天

    [LV.4]偶尔看看III

    邮箱绑定达人 社区QQ达人

    回复

    使用道具 举报

    3

    主题

    9

    听众

    347

    积分

    升级  15.67%

  • TA的每日心情
    慵懒
    2016-5-5 00:10
  • 签到天数: 96 天

    [LV.6]常住居民II

    自我介绍
    热爱数学的经管学生

    社区QQ达人

    群组2015国赛优秀论文解析

    群组2015国赛冲刺

    我是在限定条件中,老师说lingo没有定义不等于,l例如,要使a*b不等于0在lingo不能直接实现,而如果a*b等于一个极小的数,lingo就认定a*b=0了,为防止这种情况,可以令@abs(a*b)>=10^(-100),转个弯解决不等于0.    不知道这种情况是不是类似。。
    回复

    使用道具 举报

    3

    主题

    9

    听众

    347

    积分

    升级  15.67%

  • TA的每日心情
    慵懒
    2016-5-5 00:10
  • 签到天数: 96 天

    [LV.6]常住居民II

    自我介绍
    热爱数学的经管学生

    社区QQ达人

    群组2015国赛优秀论文解析

    群组2015国赛冲刺

    因为解非常非常小吗,今天上课也遇到类似问题,不过不是在求解中,是限定条件。
    回复

    使用道具 举报

    buaaflylc        

    0

    主题

    12

    听众

    34

    积分

    升级  30.53%

  • TA的每日心情
    奋斗
    2015-2-6 16:40
  • 签到天数: 13 天

    [LV.3]偶尔看看II

    邮箱绑定达人 社区QQ达人

    群组2015美赛备战交流群组

    群组北航数模

    回复

    使用道具 举报

    15

    主题

    12

    听众

    91

    积分

    升级  90.53%

  • TA的每日心情
    慵懒
    2016-2-14 18:58
  • 签到天数: 27 天

    [LV.4]偶尔看看III

    邮箱绑定达人

    群组高等数学串讲

    群组2014第三期英语写作

    群组2015年美赛冲刺

    群组2015美赛备战交流群组

    群组2016美赛交流群组

    回复

    使用道具 举报

    0

    主题

    1

    听众

    16

    积分

    升级  11.58%

    该用户从未签到

    自我介绍
    我就是我
    回复

    使用道具 举报

    1

    主题

    13

    听众

    274

    积分

    升级  87%

  • TA的每日心情
    奋斗
    2015-1-16 08:08
  • 签到天数: 78 天

    [LV.6]常住居民II

    自我介绍
    中计院

    社区QQ达人

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2024-5-19 08:44 , Processed in 0.989454 second(s), 122 queries .

    回顶部