QQ登录

只需要一步,快速开始

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

两个程序比较,为什么第一个通不过呢?

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

5

主题

6

听众

129

积分

升级  14.5%

  • TA的每日心情
    难过
    2013-10-8 13:29
  • 签到天数: 17 天

    [LV.4]偶尔看看III

    自我介绍
    Lingo建模优化
    跳转到指定楼层
    1#
    发表于 2013-9-9 14:21 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    程序1
    model:
    sets:
    node /supply,res_1,res_2,simple_1,simple_2,simple_3,simple_4,simple_5,outlet/;
    nl (node)/res_1,res_2/;
    month /Jan, Feb, Mar,Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec/:sup1,sup2,demand_dom,demand_ind,demand_agr,divert_dom,divert_ind,divert_agr,out,int;

    endsets
    sets: net_flow(node,node)
    /supply,res_1
    supply,res_2
    res_1,simple_1
    res_2,simple_1
    simple_1,simple_2
    simple_2,simple_3
    simple_3,simple_4
    simple_4,simple_5
    simple_5,outlet
    outlet,supply/;
    endsets
    sets:
    net_time(net_flow,month):waterflow;
    endsets
    data:
    sup1=128 125 234 290 350 400 500 440 240 210 181 128;   !水源1的入流量;
    sup2=39 39  52  121 168 144 105 78  49  44  45 39;      !水源2的入流量;
    demand_dom=20 20 20 20 20 20 20 20 20 20 20 20;
    demand_ind=40 40 40 40 40 40 40 40 40 40 40 40;
    demand_agr=60 60 60 60 60 60 60 60 60 60 60 60;

    enddata

    @for(net_time(i,j,t)|i#eq#1 #and# j#eq#2:waterflow(i,j,t)=sup1(t));     
    @for(net_time(i,j,t)|i#eq#1 #and# j#eq#3:waterflow(i,j,t)=sup2(t));     

    max=@sum(month(t):divert_dom(t)+divert_ind(t)+divert_agr(t));

    @for(month(t):divert_dom(t)>=demand_dom(t));
    @for(month(t):divert_ind(t)>=demand_ind(t));
    @for(month(t):divert_agr(t)>=demand_agr(t));
    @for(month(t):int(t)=@sum(net_time(j,i,t)|i#eq#5:waterflow(j,i,t)));
    @for(month(t):out(t)=divert_dom(t)+divert_ind(t)+divert_agr(t));
    @for(month(t):int(t)>=out(t));


    @for(month(t):
        @for(node(i):@sum(net_time(i,j,t):waterflow(i,j,t))=
                @if(i#lt#5,@sum(net_time(j,i,t):waterflow(j,i,t)),
                @if(i#eq#5,@sum(net_time(j,i,t):waterflow(j,i,t))-divert_dom(t)-divert_ind(t)-divert_agr(t),@sum(net_time(j,i,t):waterflow(j,i,t))
                      )
                    )
                    )
          );
    end


    程序2
    model:
    sets:
    month /Jan, Feb, Mar,Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec/:sup1,sup2,demand_dom,demand_ind,demand_agr,divert_dom,divert_ind,divert_agr,out,int;
    endsets

    data:
    sup1=128 125 234 290 350 400 500 440 240 210 181 128;   !水源1的入流量;
    sup2=39 39  52  121 168 144 105 78  49  44  45 39;      !水源2的入流量;
    demand_dom=20 20 20 20 20 20 20 20 20 20 20 20;
    demand_ind=40 40 40 40 40 40 40 40 40 40 40 40;
    demand_agr=60 60 60 60 60 60 60 60 60 60 60 60;
    enddata

    max=@sum(month(t):divert_dom(t)+divert_ind(t)+divert_agr(t));

    @for(month(t):divert_dom(t)>=demand_dom(t));
    @for(month(t):divert_ind(t)>=demand_ind(t));
    @for(month(t):divert_agr(t)>=demand_agr(t));
    @for(month(t):out(t)=divert_dom(t)+divert_ind(t)+divert_agr(t));
    @for(month(t):int(t)=sup1(t)+sup2(t));
    @for(month(t):int(t)>=out(t));
    end

    两个程序中,运行结果显示int(t)的值是相同的啊,为什么第一个通不过,而第二个却可以通过?


    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    madio        

    3万

    主题

    1311

    听众

    5万

    积分

  • TA的每日心情
    奋斗
    2024-7-1 22:21
  • 签到天数: 2014 天

    [LV.Master]伴坛终老

    自我介绍
    数学中国站长

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

    群组数学建模培训课堂1

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

    群组Matlab讨论组

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

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

    可以看出来程序二是程序一去掉了一些约束的,程序一提示没有可行解,也就是这些被去掉的约束无法满足,你可以看看这些约束是什么意思,是不是和上面的约束相矛盾
    数学建模社会化
    回复

    使用道具 举报

    bei_fang        

    5

    主题

    6

    听众

    129

    积分

    升级  14.5%

  • TA的每日心情
    难过
    2013-10-8 13:29
  • 签到天数: 17 天

    [LV.4]偶尔看看III

    自我介绍
    Lingo建模优化
    程序1多了一个平衡条件,程序1中的int(t)与程序2中的int(t)的运行值是一样的,但不知道为什么程序1却没有可行解了?
    回复

    使用道具 举报

    magic2728 实名认证    中国数模人才认证   

    61

    主题

    478

    听众

    4861

    积分

    升级  95.37%

  • TA的每日心情
    慵懒
    2014-9-29 19:37
  • 签到天数: 409 天

    [LV.9]以坛为家II

    群组数学中国 2015美赛护航

    群组数模专题强化培训

    群组建模思维养成培训

    群组2015美赛护航(强化)

    群组2013年数学建模国赛备

    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2025-8-2 20:28 , Processed in 0.813955 second(s), 70 queries .

    回顶部