QQ登录

只需要一步,快速开始

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

lingo程序,求大神解答——0-1规划就是出不来

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

9

主题

10

听众

768

积分

升级  42%

  • TA的每日心情

    2014-10-11 23:21
  • 签到天数: 276 天

    [LV.8]以坛为家I

    新人进步奖

    群组2013电工杯A题讨论群组

    跳转到指定楼层
    1#
    发表于 2013-7-31 08:45 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    用的lingo11,跑出来的结果,x不为0-1,是数量级较小的数,在10-7左右,不知道为什么,bin函数用不成。是语句问题么?

    源程序采自《lingo和excel在数学建模中的应用》P100页
    !火力发电厂;
    model:
    sets:
    mon/1..12/:a,b,c,x,y;
    endsets
    data:
    a=1875 1960 2160 1980 2085 2395 2555 2675 2330 2125 1930 2180;        !每月耗油量;
    b=2626.15 2620.75 2647.275 2693.9 2737.775 2729.9 2707.425 2705.475 2703.85 2700.6 2718.5 2753.825;        !每月柴油价格预测;
    enddata
    @for(mon:@bin(x));
    @for(mon:@gin(y));     注:英文输入‘:’变为了表情
    min=@sum(mon(i):(d+y(i)*b(i)+@if(y(i)#le#2000,40,@if(y(i)#gt#12000,30,42-0.001*y(i)))*y(i))*x(i))+@sum(mon(i):(30*c(i)-15*a(i))*e);
    d=10000;
    e=0.5;
    !限制条件;
    c(1)=y(1)*x(1)+a(1)/2;
    @for(mon(k)|k#ge#2:c(k)=@sum(mon(j)|j#le#k:y(j)*x(j))+a(1)/2-@sum(mon(i)|i#lt#k:a(i)));
    c(12)>=1.5*a(12);
    @for(mon(i)|i#lt#12:c(i)>=a(i)+a(i+1)/2);
    @for(mon(i):c(i)<=20000);
    @for(mon(i):y(i)>=1000*x(i));
    end
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    madio        

    3万

    主题

    1307

    听众

    5万

    积分

  • TA的每日心情
    奋斗
    2021-5-1 20:26
  • 签到天数: 2013 天

    [LV.Master]伴坛终老

    自我介绍
    数学中国站长

    社区QQ达人 邮箱绑定达人 优秀斑竹奖 发帖功臣 风雨历程奖 新人进步奖 最具活力勋章

    群组数学建模培训课堂1

    群组数学中国美赛辅助报名

    群组Matlab讨论组

    群组2013认证赛A题讨论群组

    群组2013认证赛C题讨论群组

    你估计得到的是局部最优解吧?打开全局求解器求解,我这里的版本求解不了这么大规模的问题,你找一个破解版的

    点评

    菜菜菜  设过了全局最优解了....有lingo11破解的很完全  详情 回复 发表于 2013-7-31 15:34
    数学建模社会化
    回复

    使用道具 举报

    菜菜菜        

    9

    主题

    10

    听众

    768

    积分

    升级  42%

  • TA的每日心情

    2014-10-11 23:21
  • 签到天数: 276 天

    [LV.8]以坛为家I

    新人进步奖

    群组2013电工杯A题讨论群组

    madio 发表于 2013-7-31 10:07
    你估计得到的是局部最优解吧?打开全局求解器求解,我这里的版本求解不了这么大规模的问题,你找一个破解版 ...

    设过了全局最优解了....有lingo11破解的很完全
    回复

    使用道具 举报

    madio        

    3万

    主题

    1307

    听众

    5万

    积分

  • TA的每日心情
    奋斗
    2021-5-1 20:26
  • 签到天数: 2013 天

    [LV.Master]伴坛终老

    自我介绍
    数学中国站长

    社区QQ达人 邮箱绑定达人 优秀斑竹奖 发帖功臣 风雨历程奖 新人进步奖 最具活力勋章

    群组数学建模培训课堂1

    群组数学中国美赛辅助报名

    群组Matlab讨论组

    群组2013认证赛A题讨论群组

    群组2013认证赛C题讨论群组

    如果是得到了全局最优解,那个很小的数就是零了,这个是正常的计算机的存储误差

    点评

    菜菜菜  极小值乘以对应的花费以后,依然不是一个可以忽略的极小值  详情 回复 发表于 2013-7-31 17:02
    回复

    使用道具 举报

    菜菜菜        

    9

    主题

    10

    听众

    768

    积分

    升级  42%

  • TA的每日心情

    2014-10-11 23:21
  • 签到天数: 276 天

    [LV.8]以坛为家I

    新人进步奖

    群组2013电工杯A题讨论群组

    madio 发表于 2013-7-31 16:12
    如果是得到了全局最优解,那个很小的数就是零了,这个是正常的计算机的存储误差

    极小值乘以对应的花费以后,依然不是一个可以忽略的极小值
    回复

    使用道具 举报

    madio        

    3万

    主题

    1307

    听众

    5万

    积分

  • TA的每日心情
    奋斗
    2021-5-1 20:26
  • 签到天数: 2013 天

    [LV.Master]伴坛终老

    自我介绍
    数学中国站长

    社区QQ达人 邮箱绑定达人 优秀斑竹奖 发帖功臣 风雨历程奖 新人进步奖 最具活力勋章

    群组数学建模培训课堂1

    群组数学中国美赛辅助报名

    群组Matlab讨论组

    群组2013认证赛A题讨论群组

    群组2013认证赛C题讨论群组

    直接就变为零了,这个就是最优解了,10的-7次方显然是系统误差

    点评

    菜菜菜  貌似真的是误差容限的问题,多谢多谢  详情 回复 发表于 2013-7-31 18:15
    回复

    使用道具 举报

    菜菜菜        

    9

    主题

    10

    听众

    768

    积分

    升级  42%

  • TA的每日心情

    2014-10-11 23:21
  • 签到天数: 276 天

    [LV.8]以坛为家I

    新人进步奖

    群组2013电工杯A题讨论群组

    madio 发表于 2013-7-31 17:32
    直接就变为零了,这个就是最优解了,10的-7次方显然是系统误差

    貌似真的是误差容限的问题,多谢多谢
    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2024-4-29 06:23 , Processed in 0.527105 second(s), 90 queries .

    回顶部