数学建模社区-数学中国

标题: LINGO求助啊~~!! [打印本页]

作者: lutianzhou001    时间: 2012-8-2 13:58
标题: LINGO求助啊~~!!
  1. model:
  2. sets:
  3. product /1..7/:value;
  4. need /1..14/:demand;
  5. link(product,need):cost,number;
  6. endsets
  7. data:
  8. value=160 155 155 160 155 150 160;
  9. cost=  85.3        85.2        140        38        20.5        3.1        21.2   64.2        92        96        96        116.2        123        132
  10.         135.3        135.2        185        111        95.5        86        71.2   114.2        142        146        146        166.2        173        182
  11.         145.3        145.2        200        121        105.5        96        86.2   48.2        82        86        86        106.2        108        122
  12.         180.3        180.2        230        156        140.5        131        116.2   84.2        62        51        51        71.2        73        87
  13.         175.3        120.2        225        141        125.5        116        106.2   74.2        51        33        78        61.2        63        77
  14.         175.3        170.2        225        146        130.5        121        111.2   79.2        57        45        45        26.2        11        28
  15.         190.3        185.2        240        151        135.5        136        126.5   94.2        67        61        45        38.2        26        2;

  16. demand=500 920 1130 1350 1650 2130 2810 3011 3216 3410 4016 4766 5067 5171;
  17. enddata
  18. !目标函数:求(value(i)*((i)行的和))的和+cost*number的最小值;
  19. min=@sum(link(i,j):cost(i,j)*number(i,j))+@sum(product(i):value(i)*@sum(need(j):number(i,j)));
  20. !number中各行和的要求;
  21. @for(product(i)|i#eq#1:@sum(need(j):number(i,j))>=500;@sum(need(j):number(i,j))<=800);
  22. @for(product(i)|i#eq#2:@sum(need(j):number(i,j))>=500;@sum(need(j):number(i,j))<=800);
  23. @for(product(i)|i#eq#3:@sum(need(j):number(i,j))>=500;@sum(need(j):number(i,j))<=1000);
  24. @for(product(i)|i#eq#4:@sum(need(j):number(i,j))>=500;@sum(need(j):number(i,j))<=2000);
  25. @for(product(i)|i#eq#5:@sum(need(j):number(i,j))>=500;@sum(need(j):number(i,j))<=2000);
  26. @for(product(i)|i#eq#6:@sum(need(j):number(i,j))>=500;@sum(need(j):number(i,j))<=2000);
  27. @for(product(i)|i#eq#7:@sum(need(j):number(i,j))>=500;@sum(need(j):number(i,j))<=3000);
  28. !number中各列和的要求;
  29. @for(need(j)|j#eq#14:@sum(product(i):number(i,j))>=0; @sum(product(i):number(i,j))<=500);
  30. @for(need(j)|j#ge#13 #and# j#le#14:@sum(product(i):number(i,j))>=500; @sum(product(i):number(i,j))<=920);
  31. @for(need(j)|j#ge#12 #and# j#le#14:@sum(product(i):number(i,j))>=920; @sum(product(i):number(i,j))<=1130);
  32. @for(need(j)|j#ge#11 #and# j#le#14:@sum(product(i):number(i,j))>=1130; @sum(product(i):number(i,j))<=1350);
  33. @for(need(j)|j#ge#10 #and# j#le#14:@sum(product(i):number(i,j))>=1350; @sum(product(i):number(i,j))<=1650);
  34. @for(need(j)|j#ge#9  #and# j#le#14:@sum(product(i):number(i,j))>=1650; @sum(product(i):number(i,j))<=2130);
  35. @for(need(j)|j#ge#8  #and# j#le#14:@sum(product(i):number(i,j))>=2130; @sum(product(i):number(i,j))<=2810);
  36. @for(need(j)|j#ge#7  #and# j#le#14:@sum(product(i):number(i,j))>=2810; @sum(product(i):number(i,j))<=3011);
  37. @for(need(j)|j#ge#6  #and# j#le#14:@sum(product(i):number(i,j))>=3011; @sum(product(i):number(i,j))<=3216);
  38. @for(need(j)|j#ge#5  #and# j#le#14:@sum(product(i):number(i,j))>=3216; @sum(product(i):number(i,j))<=3410);
  39. @for(need(j)|j#ge#4  #and# j#le#14:@sum(product(i):number(i,j))>=3410; @sum(product(i):number(i,j))<=4016);
  40. @for(need(j)|j#ge#3  #and# j#le#14:@sum(product(i):number(i,j))>=4016; @sum(product(i):number(i,j))<=4766);
  41. @for(need(j)|j#ge#2  #and# j#le#14:@sum(product(i):number(i,j))>=4766; @sum(product(i):number(i,j))<=5067);
  42. @for(need(j)|j#ge#1  #and# j#le#14:@sum(product(i):number(i,j))>=5067; @sum(product(i):number(i,j))<=5171);
  43. !number中所有元素和的要求;
  44. @for(need(j):@sum(product(i):number(i,j))=5171);
  45. !求整数线性规划;
  46. @for(link (i,j): @gin(number (i,j)));
复制代码
程序结果是找不到可行解,是编程出错了吧~~~求高人指教,高人啊高人
作者: lutianzhou001    时间: 2012-8-2 14:01
要求计算number中的第一行行和大于500小于800
作者: 等待...悻福    时间: 2012-8-4 13:20
你自己写的吗?那你也可以做高人了啊。。




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