QQ登录

只需要一步,快速开始

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

[问题求助] lingo程序错误 求高手来看看那里出错!!

[复制链接]
字体大小: 正常 放大
799687157 实名认证       

3

主题

3

听众

58

积分

升级  55.79%

  • TA的每日心情
    奋斗
    2013-5-7 20:35
  • 签到天数: 2 天

    [LV.1]初来乍到

    自我介绍
    额 ~不好说哦.....
    跳转到指定楼层
    1#
    发表于 2011-8-4 15:57 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    本帖最后由 799687157 于 2011-8-4 16:24 编辑

    sets:
      produce/Dec..Jun/:alpha;!每月生产机器台数,alpha表示成本的增长率;
      sell/Jan..Jun/:amount;!每月销售机器台数,amount为预计销售数量;
      link(produce,sell):x;!x(i,j)表示在第i月生产在第j月卖出的台数;
    endsets
    data:
      alpha = 0 0.1 0.1 0.2 0.2 0.3 0.3;
      amount = 42 32 41 67 25 29;
    enddata
    max z = 226*48 - @for(produce(i):(1+alpha(i))*0.5*@sum(sell(j):x(i,j))^2) -  @for(produce(i):@sum(sell(j):0.1*(j-i)*x(i,j)));

    @for(sell(j):@sum(produce(i)|i #le# j:x(i,j) = amount(j));
    @sum(link(i,j)|i #eq# 1:x(i,j)) = 49;!12月剩余49台机器;
    @for(link(i,j)|i #gt# j:x = 0);
    @for(link:@gin(x));
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏1 支持支持0 反对反对0 微信微信

    12

    主题

    3

    听众

    674

    积分

    升级  18.5%

  • TA的每日心情
    难过
    2013-11-8 08:12
  • 签到天数: 114 天

    [LV.6]常住居民II

    群组Matlab讨论组

    群组数模应用

    群组我们一定会赢

    群组第一期sas基础实训课堂

    回复

    使用道具 举报

    799687157 实名认证       

    3

    主题

    3

    听众

    58

    积分

    升级  55.79%

  • TA的每日心情
    奋斗
    2013-5-7 20:35
  • 签到天数: 2 天

    [LV.1]初来乍到

    自我介绍
    额 ~不好说哦.....
    I_know__!!!! 发表于 2011-8-4 17:07
    有model和end吗?
    还有 max 后的 z 不用加的。
    检查一下程序是否错漏。

    还是不行  错误应该是在目标函数中@for和@sum这两个函数的语法里面  但怎么看都找不出错误在哪  不知道lingo的后续版本里面有没有提示错误的  我用的是lingo9.0
    回复

    使用道具 举报

    12

    主题

    3

    听众

    674

    积分

    升级  18.5%

  • TA的每日心情
    难过
    2013-11-8 08:12
  • 签到天数: 114 天

    [LV.6]常住居民II

    群组Matlab讨论组

    群组数模应用

    群组我们一定会赢

    群组第一期sas基础实训课堂

    回复

    使用道具 举报

    799687157 实名认证       

    3

    主题

    3

    听众

    58

    积分

    升级  55.79%

  • TA的每日心情
    奋斗
    2013-5-7 20:35
  • 签到天数: 2 天

    [LV.1]初来乍到

    自我介绍
    额 ~不好说哦.....
    I_know__!!!! 发表于 2011-8-4 17:24
    哦,我用lingo12,提示错误是在 max 后的 for啊,这点我想不通。

    我下了个11  提示错误是语法错误  也是在@for上   
    回复

    使用道具 举报

    799687157 实名认证       

    3

    主题

    3

    听众

    58

    积分

    升级  55.79%

  • TA的每日心情
    奋斗
    2013-5-7 20:35
  • 签到天数: 2 天

    [LV.1]初来乍到

    自我介绍
    额 ~不好说哦.....
    I_know__!!!! 发表于 2011-8-4 17:24
    哦,我用lingo12,提示错误是在 max 后的 for啊,这点我想不通。

    很纠结啊  对照了很多程序还是没发现问题
    回复

    使用道具 举报

    12

    主题

    3

    听众

    674

    积分

    升级  18.5%

  • TA的每日心情
    难过
    2013-11-8 08:12
  • 签到天数: 114 天

    [LV.6]常住居民II

    群组Matlab讨论组

    群组数模应用

    群组我们一定会赢

    群组第一期sas基础实训课堂

    回复

    使用道具 举报

    wu1234nai     中国数模人才认证   

    5

    主题

    6

    听众

    482

    积分

    升级  60.67%

  • TA的每日心情
    慵懒
    2013-4-7 20:25
  • 签到天数: 167 天

    [LV.7]常住居民III

    群组数学建摸协会

    群组2011年第一期数学建模

    首先是2楼说的加上model和end,还有去掉 z

    接着就是max后的那个循环了
    好像目标中不能有for
    只是好像,也不确定
    我把好几个正确的程序加上for后就都不行了
    回复

    使用道具 举报

    799687157 实名认证       

    3

    主题

    3

    听众

    58

    积分

    升级  55.79%

  • TA的每日心情
    奋斗
    2013-5-7 20:35
  • 签到天数: 2 天

    [LV.1]初来乍到

    自我介绍
    额 ~不好说哦.....
    本帖最后由 799687157 于 2011-8-4 19:15 编辑
    wu1234nai 发表于 2011-8-4 18:36
    首先是2楼说的加上model和end,还有去掉 z

    接着就是max后的那个循环了


    max = z;
    z = 226*48 - @for(produce(i):(1+alpha(i))*0.5*
                       @sum(sell(j):x(i,j))^2)
                   - @for(produce(i):
                       @sum(sell(j):0.1*(j-i)*x(i,j)));
    但是我用这种方法处理  问题还是出现在z中@for上面啊~
    回复

    使用道具 举报

    wu1234nai     中国数模人才认证   

    5

    主题

    6

    听众

    482

    积分

    升级  60.67%

  • TA的每日心情
    慵懒
    2013-4-7 20:25
  • 签到天数: 167 天

    [LV.7]常住居民III

    群组数学建摸协会

    群组2011年第一期数学建模

    经过三个小时的不断奋战,查资料,问同学
    终于解决
    下面是我改的程序
    不过有一句你的约束是错的,因为我不知道你的表达式,所以给你改了一下
    不过这样没有最优解了
    你看一下程序,然后把那个约束改一下就好了

    model:

    sets:
      produce/1..7/:alpha;!每月生产机器台数,alpha表示成本的增长率;
      sell/1..6/:amount;!每月销售机器台数,amount为预计销售数量;
      link(produce,sell):x;!x(i,j)表示在第i月生产在第j月卖出的台数;
    endsets
    data:
      alpha = 0 0.1 0.1 0.2 0.2 0.3 0.3;
      amount = 42 32 41 67 25 29;
    enddata
    max = 226*48-a-b;
    @for(produce(i):  a=(1+alpha(i))*0.5*@sum(sell(j):x(i,j))^2);
    @for(produce(i):b=@sum(sell(j):0.1*(j-i)*x(i,j)));

    @@for(link(i,j)|i #le# j: x(i,j)=amount(j));
    @sum(link(i,j)|i #eq# 1:x(i,j)) = 49;!12月剩余49台机器;
    @for(link(i,j)|i #gt# j:x = 0);
    @for(linkgin(x));      !取整

    end
    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2026-4-11 03:40 , Processed in 1.093772 second(s), 97 queries .

    回顶部