数学建模社区-数学中国

标题: 初学者求指点。初学者用lingo建立目标函数时,目标函数里不能含有@for函数的形式吗? [打印本页]

作者: nightmare啊    时间: 2012-8-8 17:01
标题: 初学者求指点。初学者用lingo建立目标函数时,目标函数里不能含有@for函数的形式吗?
  1. sets:
  2. company/a,b,c/;
  3. methods/0,1,2,3/;
  4. cm(company,methods):
  5. cost,bod,select;
  6. endsets
  7. data:
  8. cost=0 8 14 17
  9.      0 4 8 14
  10.      0 10 15 22;
  11. bod=1.2 .6 .2 0
  12.     .8 .6 .4 0
  13.     1.6 1.0 .6 0;
  14. enddata
  15. min=@for(company(i):
  16. @sum(methods(j):
  17. cost(i,j)*select(i,j)));

  18. @for(cm:@bin(select));
  19. @sum(cm:
  20. bod*select)<=1.6;
  21. @for(company(k):
  22. @sum(cm(k,p):
  23. select(k,p))=1);
复制代码
(这是我先编写的程序,可是我运行过不去,说是出现语法错误。)
下面是我稍微改过一点的,就只把min=@for(company(i)sum(methods(j):cost(i,j)*select(i,j)));拆开了就运行过去了。。请问有什么区别吗??

  1. sets:
  2. company/a,b,c/;
  3. methods/0,1,2,3/;
  4. cm(company,methods):
  5. cost,bod,select;
  6. endsets
  7. data:
  8. cost=0 8 14 17
  9.      0 4 8 14
  10.      0 10 15 22;
  11. bod=1.2 .6 .2 0
  12.     .8 .6 .4 0
  13.     1.6 1.0 .6 0;
  14. enddata
  15. min= @sum(methods(j): cost(1,j)*select(1,j))+@sum(methods(j):cost(2,j)*select(2,j))+@sum(methods(j):cost(3,j)*select(3,j));

  16. @for(cm:@bin(select));
  17. @sum(cm:
  18. bod*select)<=1.6;
  19. @for(company(k):
  20. @sum(cm(k,p):
  21. select(k,p))=1);
复制代码

作者: nightmare啊    时间: 2012-8-9 12:50
就没人指点吗???
作者: 桃子的陪伴    时间: 2014-8-5 17:16
Lingo不会用啊,同求高人指点!




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5