QQ登录

只需要一步,快速开始

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

我发现lingo的一个BUG,不知道有木有和我一起中枪的童鞋

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

2

主题

7

听众

6

积分

升级  1.05%

该用户从未签到

自我介绍
自信的孩纸
跳转到指定楼层
1#
发表于 2012-11-28 09:31 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
代码如下:
x>=40000;
x<=120000;
max=y;
y=@if(x#LE#50000,0.5*(50000-x)+20000,@if(x#LE#70000,70000-x,x));
————————————————————————————————
想实现的功能:分段函数
40000=<x<=50000 y=0.5*(50000-x)+20000
50000<x<=70000 y=70000-x
x>70000 y=x
运行结果:
Variable Value Reduced Cost
X 100000.0 0.000000
Y 100000.0 0.000000
————————————————————————————————
问题是,x的范围是40000~120000,最大值应该出现在x=120000,y=120000时呀?我的Lingo是9.0的无限制版本,用Lingo12.0计算还是出现同样的情况,这是肿么了?
zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
ustb_zxc        

2

主题

7

听众

6

积分

升级  1.05%

该用户从未签到

自我介绍
自信的孩纸
回复

使用道具 举报

sorjor        

2

主题

9

听众

485

积分

升级  61.67%

  • TA的每日心情
    开心
    2015-10-29 00:36
  • 签到天数: 75 天

    [LV.6]常住居民II

    自我介绍
    智能优化,多目标优化

    邮箱绑定达人

    这个不是bug的问题。我解出来的结果是:
      Global optimal solution found.
      Objective value:                              120000.0
      Objective bound:                              120000.0
      Infeasibilities:                             0.1164153E-09
      Extended solver steps:                               1
      Total solver iterations:                            57


                           Variable           Value        Reduced Cost
                                  X        120000.0            0.000000
                                  Y        120000.0            0.000000

                                Row    Slack or Surplus      Dual Price
                                  1        80000.00            0.000000
                                  2        0.000000            1.000000
                                  3        120000.0            1.000000
                                  4        0.000000            1.000000
    回复

    使用道具 举报

    ustb_zxc        

    2

    主题

    7

    听众

    6

    积分

    升级  1.05%

    该用户从未签到

    自我介绍
    自信的孩纸
    sorjor 发表于 2012-11-28 15:12
    这个不是bug的问题。我解出来的结果是:
      Global optimal solution found.
      Objective value:          ...

    终于知道原因了,原来是LINGO-->LINGO OPTION-->GLOBAL SOVLER 没有勾选的原因···
    谢谢sorjor
    回复

    使用道具 举报

    ustb_zxc        

    2

    主题

    7

    听众

    6

    积分

    升级  1.05%

    该用户从未签到

    自我介绍
    自信的孩纸
    sorjor 发表于 2012-11-28 15:12
    这个不是bug的问题。我解出来的结果是:
      Global optimal solution found.
      Objective value:          ...

    Model:
    SETS:
    Points/1..4/: b, c, y, z;        ! 端点数为4,即分段数为3;
    ENDSETS
    DATA:
    b=0 500 1000 1500;
    c=0 5000 9000 12000;
    y=,,,0;        ! 增加的虚拟变量y(4)=0;
    ENDDATA
    Max= 4.8*x11 + 4.8*x21 + 5.6*x12 + 5.6*x22 - @sum(Points: c*z);
    x11+x12 < x + 500;
    x21+x22 < 1000;
    0.5*x11 - 0.5*x21 > 0;  
    0.4*x12 - 0.6*x22 > 0;
    @sum(Points: b*z)=x;
    @for(Points(i)|i#eq#1: z(i) <= y(i));
    @for(Points(i)|i#ne#1: z(i) <= y(i-1)+y(i));
    @sum(Points: y)=1;
    @sum(Points: z)=1;
    @for(Points: @bin(y));
    end

    高手,你知道这个分段函数求最大值能不能做成多个周期的情形?
    比如说6个周期
    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2025-5-9 13:44 , Processed in 0.991799 second(s), 77 queries .

    回顶部