请选择 进入手机版 | 继续访问电脑版

QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3339|回复: 9

求教lingo整数规划问题

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

1

主题

7

听众

2

积分

升级  40%

该用户从未签到

自我介绍
软件工程师
发表于 2015-7-16 11:22 |显示全部楼层
|招呼Ta 关注Ta
本帖最后由 daoliyouyuan 于 2015-7-16 11:24 编辑

我用lingo写了一个求解背包问题的程序,但运行时提示:
Improper use of attribute name.
23] @bin(y)
请教这个问题怎么解决? 多谢...

model:
sets:
    cheque/1..2/: y, c;
    order/1..2/: o;   
    links(cheque, order):x;
endsets

data:
    c = 2500, 1500;
    o = 1000, 700;
enddata

min = @sum(cheque: y);

@sum(order(j): o(j) * x(1, j)) <= c(1) * y(1);
@sum(order(j): o(j) * x(2, j)) <= c(2) * y(2);

@for(cheque(i) : @sum(order(j): o(j) * x(i, j)) <= c(i) * y(i) );
@for(order(j) : @sum(cheque(i): x(i,j)) = 1);

@for(links: @bin(x));

@bin(y);

end



zan
liwenhui        

70

主题

65

听众

5192

积分

独孤求败

  • TA的每日心情
    擦汗
    2018-4-26 23:29
  • 签到天数: 1502 天

    [LV.Master]伴坛终老

    自我介绍
    紫薇软剑,三十岁前所用,误伤义士不祥,乃弃之深谷。 重剑无锋,大巧不工。四十岁前恃之横行天下。 四十岁后,不滞于物,草木竹石均可为剑。自此精修,渐进至无剑胜有剑之境。

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

    群组计量经济学之性

    群组LINGO

    数学上讲,y是一个向量,你需要用一个@for来表示对每一个y的分量都限定为0-1变量。

    改为:

    model:
    sets:
        cheque/1..2/: y, c;
        order/1..2/: o;   
        links(cheque, order):x;
    endsets

    data:
        c = 2500, 1500;
        o = 1000, 700;
    enddata

    min = @sum(cheque: y);

    @sum(order(j): o(j) * x(1, j)) <= c(1) * y(1);
    @sum(order(j): o(j) * x(2, j)) <= c(2) * y(2);

    @for(cheque(i) : @sum(order(j): o(j) * x(i, j)) <= c(i) * y(i) );
    @for(order(j) : @sum(cheque(i): x(i,j)) = 1);

    @for(links: @bin(x));

    @for(chequebin(y));

    end


    运行结果:

      Global optimal solution found.
      Objective value:                              1.000000
      Objective bound:                              1.000000
      Infeasibilities:                              0.000000
      Extended solver steps:                               0
      Total solver iterations:                             0

      Model Class:                                      PILP

      Total variables:                      6
      Nonlinear variables:                  0
      Integer variables:                    6

      Total constraints:                    7
      Nonlinear constraints:                0

      Total nonzeros:                      18
      Nonlinear nonzeros:                   0

                                    Variable           Value        Reduced Cost
                                       Y( 1)        1.000000            1.000000
                                       Y( 2)        0.000000            1.000000
                                       C( 1)        2500.000            0.000000
                                       C( 2)        1500.000            0.000000
                                       O( 1)        1000.000            0.000000
                                       O( 2)        700.0000            0.000000
                                    X( 1, 1)        1.000000            0.000000
                                    X( 1, 2)        1.000000            0.000000
                                    X( 2, 1)        0.000000            0.000000
                                    X( 2, 2)        0.000000            0.000000

                                         Row    Slack or Surplus      Dual Price
                                           1        1.000000           -1.000000
                                           2        800.0000            0.000000
                                           3        0.000000            0.000000
                                           4        800.0000            0.000000
                                           5        0.000000            0.000000
                                           6        0.000000            0.000000
                                           7        0.000000            0.000000




    四十岁后,不滞于物,草木竹石均可为剑。
    回复

    使用道具 举报

    715

    主题

    213

    听众

    8581

    积分

  • TA的每日心情
    开心
    2017-4-28 17:18
  • 签到天数: 415 天

    [LV.9]以坛为家II

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

    群组乐考无忧考研公益讲座

    群组2017美赛两天强训

    群组模友会交流视频

    群组

    群组国赛讨论

    回复

    使用道具 举报

    413

    主题

    36

    听众

    1854

    积分

    升级  85.4%

  • TA的每日心情
    开心
    2019-9-18 21:55
  • 签到天数: 258 天

    [LV.8]以坛为家I

    社区QQ达人

    群组2015国赛冲刺

    群组2016美赛公益课程

    群组国赛讨论

    群组第三届数模基础实训

    群组Matlab讨论组

    !我用lingo写了一个求解背包问题的程序,但运行时提示:
    Improper use of attribute name.
    23] @bin(y)
    请教这个问题怎么解决? 多谢...;

    model:
    sets:
         cheque/1..2/: y, c;
         order/1..2/: o;   
         links(cheque, order):x;
    endsets

    data:
         c = 2500, 1500;
         o = 1000, 700;
    enddata

    min = @sum(cheque: y);

    @sum(order(j): o(j) * x(1, j)) <= c(1) * y(1);
    @sum(order(j): o(j) * x(2, j)) <= c(2) * y(2);

    @for(cheque(i) : @sum(order(j): o(j) * x(i, j)) <= c(i) * y(i) );
    @for(order(j) : @sum(cheque(i): x(i,j)) = 1);

    @for(links: @bin(x));

    !@bin(y);
    !用这种方法,限制y的取值为0或1;
    @for(cheque: @bin(y));
    !或者这种。
    !y(1)*(y(1)-1)=0;
    !y(2)*(y(2)-1)=0;

    end

    数学中国版主团队!
    回复

    使用道具 举报

    715

    主题

    213

    听众

    8581

    积分

  • TA的每日心情
    开心
    2017-4-28 17:18
  • 签到天数: 415 天

    [LV.9]以坛为家II

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

    群组乐考无忧考研公益讲座

    群组2017美赛两天强训

    群组模友会交流视频

    群组

    群组国赛讨论

    回复

    使用道具 举报

    715

    主题

    213

    听众

    8581

    积分

  • TA的每日心情
    开心
    2017-4-28 17:18
  • 签到天数: 415 天

    [LV.9]以坛为家II

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

    群组乐考无忧考研公益讲座

    群组2017美赛两天强训

    群组模友会交流视频

    群组

    群组国赛讨论

    回复

    使用道具 举报

    21

    主题

    97

    听众

    3110

    积分

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

    [LV.8]以坛为家I

       二楼给的解答是值得推荐的,言简意赅。
       四楼给的注释中的另一种方案不好,指定决策变量为binary不必整成复杂的complementary constraints,能简化模型一般经验以简化模型为先,而不是复杂化。
    有什么好说的
    回复

    使用道具 举报

    7

    主题

    10

    听众

    715

    积分

    升级  28.75%

  • TA的每日心情
    奋斗
    2017-7-31 22:33
  • 签到天数: 129 天

    [LV.7]常住居民III

    自我介绍
    xiao白

    社区QQ达人

    群组2016美赛交流群组

    回复

    使用道具 举报

    7

    主题

    10

    听众

    715

    积分

    升级  28.75%

  • TA的每日心情
    奋斗
    2017-7-31 22:33
  • 签到天数: 129 天

    [LV.7]常住居民III

    自我介绍
    xiao白

    社区QQ达人

    群组2016美赛交流群组

    回复

    使用道具 举报

    2

    主题

    1

    听众

    252

    积分

    升级  76%

  • TA的每日心情

    2018-2-12 13:14
  • 签到天数: 22 天

    [LV.4]偶尔看看III

    自我介绍
    李令晗

    邮箱绑定达人

    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2024-3-29 06:01 , Processed in 0.940686 second(s), 103 queries .

    回顶部