QQ登录

只需要一步,快速开始

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

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

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

9

主题

10

听众

768

积分

升级  42%

  • TA的每日心情

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

    [LV.8]以坛为家I

    新人进步奖

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

    跳转到指定楼层
    1#
    发表于 2013-7-29 17:57 |只看该作者 |倒序浏览
    |招呼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 微信微信
    菜菜菜        

    9

    主题

    10

    听众

    768

    积分

    升级  42%

  • TA的每日心情

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

    [LV.8]以坛为家I

    新人进步奖

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

    回复

    使用道具 举报

    菜菜菜        

    9

    主题

    10

    听众

    768

    积分

    升级  42%

  • TA的每日心情

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

    [LV.8]以坛为家I

    新人进步奖

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

    回复

    使用道具 举报

    _kk        

    0

    主题

    6

    听众

    713

    积分

    升级  28.25%

  • TA的每日心情
    开心
    2014-9-2 23:30
  • 签到天数: 235 天

    [LV.7]常住居民III

    自我介绍
    hi

    群组2012HIMCM培训群组

    至少把题目完整贴出来吧 = =
    我随便改了下!火力发电厂;
    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
    @bin(x(i));
    @gin(y(i));
    min=@sum(mon(i):(d+x(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
    没报错了。但是结果跟你的差不多。
    但是运行时出现
    model is ill defined.这就跟目标规划的思想差不多了。当不能同时满足时,就弱化一个条件呗 柔性条件之类的吧~~

    点评

    wujianjack2  该问题我已尝试解决,不知是否为可行的方案,你有时间也可以看看,谢谢支持!  详情 回复 发表于 2013-8-13 19:28
    回复

    使用道具 举报

    菜菜菜        

    9

    主题

    10

    听众

    768

    积分

    升级  42%

  • TA的每日心情

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

    [LV.8]以坛为家I

    新人进步奖

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

    _kk 发表于 2013-7-29 21:56
    至少把题目完整贴出来吧 = =
    我随便改了下!火力发电厂;
    model:

    我的这个也没有报错啊,你把@bin()改成了x(i),我也试过,model is ill defined是不是因为你定义@bin的时候没有用for遍历啊?我也不知道哪里错了。
    条件限制不是问题,放宽以后本来就很慢的程序不知道还要跑多久,,,,实在不知道bin哪里出问题了。linus,,救救我吧!

    点评

    百年孤独  你用的是 lingo9吗???  详情 回复 发表于 2013-7-30 10:05
    回复

    使用道具 举报

    3503

    主题

    538

    听众

    5990

    积分

  • TA的每日心情
    开心
    2017-2-7 15:12
  • 签到天数: 691 天

    [LV.9]以坛为家II

    社区QQ达人 元老勋章 发帖功臣 新人进步奖 优秀斑竹奖 金点子奖 原创写作奖 最具活力勋章 助人为乐奖 风雨历程奖

    群组2013年国赛赛前培训

    群组2014年地区赛数学建模

    群组数学中国第二期SAS培训

    群组物联网工程师考试

    群组2013年美赛优秀论文解

    菜菜菜 发表于 2013-7-30 08:48
    我的这个也没有报错啊,你把@bin()改成了x(i),我也试过,model is ill defined是不是因为你定义@bin的时候 ...

    你用的是 lingo9吗???

    点评

    菜菜菜  lingo11证书齐全啊....是不是设置错了?  详情 回复 发表于 2013-7-30 12:07
    回复

    使用道具 举报

    菜菜菜        

    9

    主题

    10

    听众

    768

    积分

    升级  42%

  • TA的每日心情

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

    [LV.8]以坛为家I

    新人进步奖

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

    百年孤独 发表于 2013-7-30 10:05
    你用的是 lingo9吗???

    lingo11证书齐全啊....是不是设置错了?
    回复

    使用道具 举报

    8#
    无效楼层,该帖已经被删除
    9#
    无效楼层,该帖已经被删除
    10#
    无效楼层,该帖已经被删除
    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2025-7-9 08:25 , Processed in 0.664327 second(s), 96 queries .

    回顶部