数学建模社区-数学中国

标题: 用lingo求解问题时出错了,希望有大神来帮助解决一下! [打印本页]

作者: xiavyvee    时间: 2013-5-27 17:49
标题: 用lingo求解问题时出错了,希望有大神来帮助解决一下!
帮我看看哪错了,解不出来呀?
!设在航段ij的载箱量为dij,xij表示船舶航行于航段ij,根据集装箱网络优化模型得到非线性整数规划模型;
!目标函数;
max=(50*d12+70*d13+460*d14+610*d15+590*d16+590*d17)+(50*d21+40*d23+460*d24+590*d25+570*d26+570*d27)+(70*d31+40*d32+480*d34+620*d35+580*d36+580*d37)+(460*d41+450*d42+490*d43+580*d45+580*d46+580*d47)+(620*d51+600*d52+630*d53+460*d54+240*d56+240*d57)+(610*d61+570*d62+590*d63+480*d64+230*d65+230*d67)+(600*d71+590*d72+590*d73+460*d74+240*d75+230*d76)-(132419*x12+139623*x13+158411*x14+217747*x15+166055*x16+187958*x17)-(132419*x21+118304*x23+156765*x24+217941*x25+164399*x26+186400*x27)-(139623*x31+118304*x32+161916*x34+219402*x35+167612*x36+189400*x37)-(158411*x41+156756*x42+161916*x43+177542*x45+122735*x46+144443*x47)-(217747*x51+217941*x52+219402*x53+177542*x54+163281*x56+133396*x57)-(166055*x61+164340*x62+167612*x63+122735*x64+163281*x65+133396*x67)-(187958*x71+186400*x72+189613*x73+144443*x74+143617*x75+133395*x76);
!约束条件;
!挂靠港约束
x11+x21+x31+x41+x51+x61+x71=1:
x12+x22+x32+x42+x52+x62+x72=1;
x13+x23+x33+x43+x53+x63+x73=1;
x14+x24+x34+x44+x54+x64+x74=1;
x15+x25+x35+x45+x55+x65+x75=1;
x16+x26+x36+x46+x56+x66+x76=1;
x17+x27+x37+x47+x57+x67+x77=1;
x11+x12+x13+x14+x15+x16+x17=1;
x21+x22+x23+x24+x25+x26+x27=1;
x31+x32+x33+x34+x35+x36+x37=1;
x41+x42+x43+x44+x45+x46+x47=1;
x51+x52+x53+x54+x55+x56+x57=1;
x61+x62+x63+x64+x65+x66+x67=1;
x71+x72+x73+x74+x75+x76+x77=1;
!货流量约束;       
d11<=0;
d12<=0;
d13<=0;
d14<=30;
d15<=35;
d16<=40;
d17<=30;
d21<=0;
d22<=0;
d23<=0;
d24<=400;
d25<=420;
d26<=400;
d27<=405;
d31<=0;
d32<=0;
d33<=0;
d34<=40;
d35<=45;
d36<=50;
d37<=45;
d41<=20;
d42<=200;
d43<=25;
d44<=0;
d45<=300;
d46<=280;
d47<=300;
d51<=15;
d52<=30;
d53<=20;
d54<=40;
d55<=0;
d56<=0;
d57<=0;
d61<=10;
d62<=40;
d63<=15;
d64<=60;
d65<=0;
d66<=0;
d67<=0;
d71<=10;
d72<=35;
d73<=10;
d74<=55;
d75<=0;
d76<=0;
d77<=0;
!船舶载运量约束;
!第1个港口;
d71+d72+d73+d74+d75+d76+d61+d62+d63+d64+d65+d51+d52+d53+d54+d41+d42+d43+d31+d32+d21<=2000;
!第2个港口;
d12+d13+d14+d15+d16+d17+d72+d73+d74+d75+d76+d62+d63+d64+d65+d52+d53+d54+d42+d43+d32<=2000;
!第3个港口;
d23+d24+d25+d26+d27+d21+d13+d14+d15+d16+d17+d73+d74+d75+d76+d63+d64+d65+d53+d54+d43<=2000;
!第4个港口;
d34+d35+d36+d37+d31+d32+d24+d25+d26+d27+d21+d14+d15+d16+d17+d74+d75+d76+d64+d65+d54<=2000;
!第5个港口;
d45+d46+d47+d41+d42+d43+d35+d36+d37+d31+d32+d25+d26+d27+d21+d15+d16+d17+d75+d76+d65<=2000;
!第6个港口;
d56+d57+d51+d52+d53+d54+d46+d47+d41+d42+d43+d36+d37+d31+d32+d26+d27+d21+d16+d17+d76<=2000;
!第7个港口;
d67+d61+d62+d63+d64+d65+d57+d51+d52+d53+d54+d47+d41+d42+d43+d37+d31+d32+d27+d21+d17<=2000;
!整数约束;
@bin(x11);
@bin(x21);
@bin(x31);
@bin(x41);
@bin(x51);
@bin(x61);
@bin(x71);
@bin(x12);
@bin(x22);
@bin(x32);
@bin(x42);
@bin(x52);
@bin(x62);
@bin(x72);
@bin(x13);
@bin(x23);
@bin(x33);
@bin(x43);
@bin(x53);
@bin(x63);
@bin(x73);
@bin(x14);
@bin(x24);
@bin(x34);
@bin(x44);
@bin(x54);
@bin(x64);
@bin(x74);
@bin(x15);
@bin(x25);
@bin(x35);
@bin(x45);
@bin(x55);
@bin(x65);
@bin(x75);
@bin(x16);
@bin(x26);
@bin(x36);
@bin(x46);
@bin(x56);
@bin(x66);
@bin(x76);
@bin(x17);
@bin(x27);
@bin(x37);
@bin(x47);
@bin(x57);
@bin(x67);
@bin(x77);













作者: qlb061    时间: 2013-5-28 09:08
本帖最后由 qlb061 于 2013-5-28 09:14 编辑

如果i=100,j=100,不知道你该怎么办,累不?
你在使用Lindo,不是Lingo!
Lingo默认所有变量非负,如果变量要取负值,请使用@free(variable).

第一个约束语句请用分号“;”!
作者: xiavyvee    时间: 2013-5-28 10:43
qlb061 发表于 2013-5-28 09:08
如果i=100,j=100,不知道你该怎么办,累不?
你在使用Lindo,不是Lingo!
Lingo默认所有变量非负,如果变 ...

主要是我不会lingo的语句,我把我的问题发给你,你可以帮我看看吗
作者: qlb061    时间: 2013-5-28 17:52
本帖最后由 qlb061 于 2013-5-28 18:01 编辑
xiavyvee 发表于 2013-5-28 10:43
主要是我不会lingo的语句,我把我的问题发给你,你可以帮我看看吗
  1. max=(50*d12+70*d13+460*d14+610*d15+590*d16+590*d17)+(50*d21+40*d23+460*d24+590*d25+570*d26+570*d27)+
  2. (70*d31+40*d32+480*d34+620*d35+580*d36+580*d37)+(460*d41+450*d42+490*d43+580*d45+580*d46+580*d47)+
  3. (620*d51+600*d52+630*d53+460*d54+240*d56+240*d57)+(610*d61+570*d62+590*d63+480*d64+230*d65+230*d67)+
  4. (600*d71+590*d72+590*d73+460*d74+240*d75+230*d76)-(132419*x12+139623*x13+158411*x14+217747*x15+166055*x16+187958*x17)
  5. -(132419*x21+118304*x23+156765*x24+217941*x25+164399*x26+186400*x27)-
  6. (139623*x31+118304*x32+161916*x34+219402*x35+167612*x36+189400*x37)-
  7. (158411*x41+156756*x42+161916*x43+177542*x45+122735*x46+144443*x47)-
  8. (217747*x51+217941*x52+219402*x53+177542*x54+163281*x56+133396*x57)-
  9. (166055*x61+164340*x62+167612*x63+122735*x64+163281*x65+133396*x67)-
  10. (187958*x71+186400*x72+189613*x73+144443*x74+143617*x75+133395*x76);
  11. x11+x21+x31+x41+x51+x61+x71=1;
  12. x12+x22+x32+x42+x52+x62+x72=1;
  13. x13+x23+x33+x43+x53+x63+x73=1;
  14. x14+x24+x34+x44+x54+x64+x74=1;
  15. x15+x25+x35+x45+x55+x65+x75=1;
  16. x16+x26+x36+x46+x56+x66+x76=1;
  17. x17+x27+x37+x47+x57+x67+x77=1;
  18. x11+x12+x13+x14+x15+x16+x17=1;
  19. x21+x22+x23+x24+x25+x26+x27=1;
  20. x31+x32+x33+x34+x35+x36+x37=1;
  21. x41+x42+x43+x44+x45+x46+x47=1;
  22. x51+x52+x53+x54+x55+x56+x57=1;
  23. x61+x62+x63+x64+x65+x66+x67=1;
  24. x71+x72+x73+x74+x75+x76+x77=1;
  25. !货流量约束;        
  26. d11<=0;
  27. d12<=0;
  28. d13<=0;
  29. d14<=30;
  30. d15<=35;
  31. d16<=40;
  32. d17<=30;
  33. d21<=0;
  34. d22<=0;
  35. d23<=0;
  36. d24<=400;
  37. d25<=420;
  38. d26<=400;
  39. d27<=405;
  40. d31<=0;
  41. d32<=0;
  42. d33<=0;
  43. d34<=40;
  44. d35<=45;
  45. d36<=50;
  46. d37<=45;
  47. d41<=20;
  48. d42<=200;
  49. d43<=25;
  50. d44<=0;
  51. d45<=300;
  52. d46<=280;
  53. d47<=300;
  54. d51<=15;
  55. d52<=30;
  56. d53<=20;
  57. d54<=40;
  58. d55<=0;
  59. d56<=0;
  60. d57<=0;
  61. d61<=10;
  62. d62<=40;
  63. d63<=15;
  64. d64<=60;
  65. d65<=0;
  66. d66<=0;
  67. d67<=0;
  68. d71<=10;
  69. d72<=35;
  70. d73<=10;
  71. d74<=55;
  72. d75<=0;
  73. d76<=0;
  74. d77<=0;
  75. !船舶载运量约束;
  76. !第1个港口;
  77. d71+d72+d73+d74+d75+d76+d61+d62+d63+d64+d65+d51+d52+d53+d54+d41+d42+d43+d31+d32+d21<=2000;
  78. !第2个港口;
  79. d12+d13+d14+d15+d16+d17+d72+d73+d74+d75+d76+d62+d63+d64+d65+d52+d53+d54+d42+d43+d32<=2000;
  80. !第3个港口;
  81. d23+d24+d25+d26+d27+d21+d13+d14+d15+d16+d17+d73+d74+d75+d76+d63+d64+d65+d53+d54+d43<=2000;
  82. !第4个港口;
  83. d34+d35+d36+d37+d31+d32+d24+d25+d26+d27+d21+d14+d15+d16+d17+d74+d75+d76+d64+d65+d54<=2000;
  84. !第5个港口;
  85. d45+d46+d47+d41+d42+d43+d35+d36+d37+d31+d32+d25+d26+d27+d21+d15+d16+d17+d75+d76+d65<=2000;
  86. !第6个港口;
  87. d56+d57+d51+d52+d53+d54+d46+d47+d41+d42+d43+d36+d37+d31+d32+d26+d27+d21+d16+d17+d76<=2000;
  88. !第7个港口;
  89. d67+d61+d62+d63+d64+d65+d57+d51+d52+d53+d54+d47+d41+d42+d43+d37+d31+d32+d27+d21+d17<=2000;
  90. !整数约束;
  91. @bin(x11);
  92. @bin(x21);
  93. @bin(x31);
  94. @bin(x41);
  95. @bin(x51);
  96. @bin(x61);
  97. @bin(x71);
  98. @bin(x12);
  99. @bin(x22);
  100. @bin(x32);
  101. @bin(x42);
  102. @bin(x52);
  103. @bin(x62);
  104. @bin(x72);
  105. @bin(x13);
  106. @bin(x23);
  107. @bin(x33);
  108. @bin(x43);
  109. @bin(x53);
  110. @bin(x63);
  111. @bin(x73);
  112. @bin(x14);
  113. @bin(x24);
  114. @bin(x34);
  115. @bin(x44);
  116. @bin(x54);
  117. @bin(x64);
  118. @bin(x74);
  119. @bin(x15);
  120. @bin(x25);
  121. @bin(x35);
  122. @bin(x45);
  123. @bin(x55);
  124. @bin(x65);
  125. @bin(x75);
  126. @bin(x16);
  127. @bin(x26);
  128. @bin(x36);
  129. @bin(x46);
  130. @bin(x56);
  131. @bin(x66);
  132. @bin(x76);
  133. @bin(x17);
  134. @bin(x27);
  135. @bin(x37);
  136. @bin(x47);
  137. @bin(x57);
  138. @bin(x67);
  139. @bin(x77);
复制代码
语法错与已经帮你改了,自己再试试!
Lingo中的所有标点符号必须在英文状态下输入,否则会产生语法错误!
另外,明明是线性规划模型,不知怎么说是非线性规划模型!
作者: xiavyvee    时间: 2013-5-28 22:40
qlb061 发表于 2013-5-28 17:52
语法错与已经帮你改了,自己再试试!
Lingo中的所有标点符号必须在英文状态下输入,否则会产生语法错误!
...

谢谢了,真的什么感谢你!




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