sunboxinan 发表于 2006-5-22 05:48:52

l如何让lingo正常运行此程序

<P>这个程序总共有18乘18共324个变量语法应该没有问题但是在求解的时候lingo却提示说变量个数超出此版本的求解限制说此版本只能求解最多300个变量 最多30个整数变量   我对 lingo了解不多不知道怎样解决这个问题   我用的是版本是ling10从lingo公司网站上下载的请lingo高手帮帮忙</P>
<P>程序如下</P>
<P>model:<BR>sets:<BR>!林业局个数;<BR>forestry_bureau/p1..p18/:maintain;<BR>!大修厂个数;<BR>factory/q1..q18/:max_maintain;<BR>links(forestry_bureau,factory):cost,tra_cars;<BR>endsets<BR>!目标函数;<BR><a href="mailto:min=@sum(links:cost*tra_cars" target="_blank" >min=@sum(links:cost*tra_cars</A>);<BR>!大修厂最大修理量约束;<BR>@for(factory(j):<BR>@sum(forestry_bureau(i):tra_cars(i,j))&lt;=max_maintain(j));<BR>!林业局所要修理的汽车数约束;<BR>@for(forestry_bureau(i):<BR>@sum(factory(j):tra_cars(i,j))=maintain(i));<BR>!这里是 数据;<BR>data:<BR>!每个林业局所需要修理的汽车数;<BR>maintain=25,35,30,45,80,55,40,180,70,60,50,60,60,150,40,100,35,55;<BR>!每个大修厂所能修理的最多汽车数;<BR>max_maintain=30,40,40,50,120,60,50,200,90,70,60,70,80,180,50,110,40,60;<BR>cost=570050304720628072407000652053007140704072008900748064507240630067006500 <BR>   588048504540610070607180634054807320722073809080766066307420648068806680<BR>   612050904300586068207420610054007240714073009000758065507340640068006600    <BR>   648054504660550069007780618054807320722073809080766066307420648068806680   <BR>   654055104720600064007280568049806820672068808580716061306920598063806180   <BR>   620055305220678071806500610048006640654067008400698059506740580062006000   <BR>   672056904900618065807100550048006640654067008400698059506740580062006000    <BR>   650058305200648068806800580045006340624064008100668056506440550059005700 <BR>   704063705740702074207340634050405800630069407560614053006980604064406240   <BR>   674060705440672071207040604047406100600066407860644056006680574061405940    <BR>   680061305500678071807100610048006640654061008340670056006390545058505400<BR>   740067306100738077807700670054006160666072407200578049406630569060905940 <BR>   758069106280756079607880688055806340684072007380560049006590565060505900   <BR>   745067806150743078307750675054506400690070007440580047006390545058505700   <BR>   734066706040732077207640664053407180708068908230659054905600534055405590    <BR>   700063305700698073807300630050006840674065507890625051505940500054005250<BR>   710064305800708074807400640051006940684066507990635052505840510053005350    <BR>   710064305800708074807400640051006940684064008040640053006090515055505100;<BR>enddata<BR>end<BR></P>

realmr 发表于 2006-5-22 06:01:42

<P>可以在lingo8下运行,给你我的运行结果:</P>
<P>Global optimal solution found at iteration:            88<BR>Objective value:                                 6137300.</P>
<P><BR>                     Variable         Value      Reduced Cost<BR>                  MAINTAIN( P1)      25.00000            0.000000<BR>                  MAINTAIN( P2)      35.00000            0.000000<BR>                  MAINTAIN( P3)      30.00000            0.000000<BR>                  MAINTAIN( P4)      45.00000            0.000000<BR>                  MAINTAIN( P5)      80.00000            0.000000<BR>                  MAINTAIN( P6)      55.00000            0.000000<BR>                  MAINTAIN( P7)      40.00000            0.000000<BR>                  MAINTAIN( P8)      180.0000            0.000000<BR>                  MAINTAIN( P9)      70.00000            0.000000<BR>               MAINTAIN( P10)      60.00000            0.000000<BR>               MAINTAIN( P11)      50.00000            0.000000<BR>               MAINTAIN( P12)      60.00000            0.000000<BR>               MAINTAIN( P13)      60.00000            0.000000<BR>               MAINTAIN( P14)      150.0000            0.000000<BR>               MAINTAIN( P15)      40.00000            0.000000<BR>               MAINTAIN( P16)      100.0000            0.000000<BR>               MAINTAIN( P17)      35.00000            0.000000<BR>               MAINTAIN( P18)      55.00000            0.000000<BR>            MAX_MAINTAIN( Q1)      30.00000            0.000000<BR>            MAX_MAINTAIN( Q2)      40.00000            0.000000<BR>            MAX_MAINTAIN( Q3)      40.00000            0.000000<BR>            MAX_MAINTAIN( Q4)      50.00000            0.000000<BR>            MAX_MAINTAIN( Q5)      120.0000            0.000000<BR>            MAX_MAINTAIN( Q6)      60.00000            0.000000<BR>            MAX_MAINTAIN( Q7)      50.00000            0.000000<BR>            MAX_MAINTAIN( Q8)      200.0000            0.000000<BR>            MAX_MAINTAIN( Q9)      90.00000            0.000000<BR>             MAX_MAINTAIN( Q10)      70.00000            0.000000<BR>             MAX_MAINTAIN( Q11)      60.00000            0.000000<BR>             MAX_MAINTAIN( Q12)      70.00000            0.000000<BR>             MAX_MAINTAIN( Q13)      80.00000            0.000000<BR>             MAX_MAINTAIN( Q14)      180.0000            0.000000<BR>             MAX_MAINTAIN( Q15)      50.00000            0.000000<BR>             MAX_MAINTAIN( Q16)      110.0000            0.000000<BR>             MAX_MAINTAIN( Q17)      40.00000            0.000000<BR>             MAX_MAINTAIN( Q18)      60.00000            0.000000<BR><BR>(还有……)</P>

realmr 发表于 2006-5-22 06:03:25

<P>                  COST( P1, Q1)      5700.000            0.000000<BR>                  COST( P1, Q2)      5030.000            0.000000<BR>                  COST( P1, Q3)      4720.000            0.000000<BR>                  COST( P1, Q4)      6280.000            0.000000<BR>                  COST( P1, Q5)      7240.000            0.000000<BR>                  COST( P1, Q6)      7000.000            0.000000<BR>                  COST( P1, Q7)      6520.000            0.000000<BR>                  COST( P1, Q8)      5300.000            0.000000<BR>                  COST( P1, Q9)      7140.000            0.000000<BR>               COST( P1, Q10)      7040.000            0.000000<BR>               COST( P1, Q11)      7200.000            0.000000<BR>               COST( P1, Q12)      8900.000            0.000000<BR>               COST( P1, Q13)      7480.000            0.000000<BR>               COST( P1, Q14)      6450.000            0.000000<BR>               COST( P1, Q15)      7240.000            0.000000<BR>               COST( P1, Q16)      6300.000            0.000000<BR>               COST( P1, Q17)      6700.000            0.000000<BR>               COST( P1, Q18)      6500.000            0.000000<BR>                  COST( P2, Q1)      5880.000            0.000000<BR>                  COST( P2, Q2)      4850.000            0.000000<BR>                  COST( P2, Q3)      4540.000            0.000000<BR>                  COST( P2, Q4)      6100.000            0.000000<BR>                  COST( P2, Q5)      7060.000            0.000000<BR>                  COST( P2, Q6)      7180.000            0.000000<BR>                  COST( P2, Q7)      6340.000            0.000000<BR>                  COST( P2, Q8)      5480.000            0.000000<BR>                  COST( P2, Q9)      7320.000            0.000000<BR>               COST( P2, Q10)      7220.000            0.000000<BR>               COST( P2, Q11)      7380.000            0.000000<BR>               COST( P2, Q12)      9080.000            0.000000<BR>               COST( P2, Q13)      7660.000            0.000000<BR>               COST( P2, Q14)      6630.000            0.000000<BR>               COST( P2, Q15)      7420.000            0.000000<BR>               COST( P2, Q16)      6480.000            0.000000<BR>               COST( P2, Q17)      6880.000            0.000000<BR>               COST( P2, Q18)      6680.000            0.000000<BR>                  COST( P3, Q1)      6120.000            0.000000<BR>                  COST( P3, Q2)      5090.000            0.000000<BR>                  COST( P3, Q3)      4300.000            0.000000<BR>                  COST( P3, Q4)      5860.000            0.000000<BR>                  COST( P3, Q5)      6820.000            0.000000<BR>                  COST( P3, Q6)      7420.000            0.000000<BR>                  COST( P3, Q7)      6100.000            0.000000<BR>                  COST( P3, Q8)      5400.000            0.000000<BR>                  COST( P3, Q9)      7240.000            0.000000<BR>               COST( P3, Q10)      7140.000            0.000000<BR>               COST( P3, Q11)      7300.000            0.000000<BR>               COST( P3, Q12)      9000.000            0.000000<BR>               COST( P3, Q13)      7580.000            0.000000<BR>               COST( P3, Q14)      6550.000            0.000000<BR>               COST( P3, Q15)      7340.000            0.000000<BR>               COST( P3, Q16)      6400.000            0.000000<BR>               COST( P3, Q17)      6800.000            0.000000<BR>               COST( P3, Q18)      6600.000            0.000000<BR>                  COST( P4, Q1)      6480.000            0.000000<BR>                  COST( P4, Q2)      5450.000            0.000000<BR>                  COST( P4, Q3)      4660.000            0.000000<BR>                  COST( P4, Q4)      5500.000            0.000000<BR>                  COST( P4, Q5)      6900.000            0.000000<BR>                  COST( P4, Q6)      7780.000            0.000000<BR>                  COST( P4, Q7)      6180.000            0.000000<BR>                  COST( P4, Q8)      5480.000            0.000000<BR>                  COST( P4, Q9)      7320.000            0.000000<BR>               COST( P4, Q10)      7220.000            0.000000<BR>               COST( P4, Q11)      7380.000            0.000000<BR>               COST( P4, Q12)      9080.000            0.000000<BR>               COST( P4, Q13)      7660.000            0.000000<BR>               COST( P4, Q14)      6630.000            0.000000<BR>               COST( P4, Q15)      7420.000            0.000000<BR>               COST( P4, Q16)      6480.000            0.000000<BR>               COST( P4, Q17)      6880.000            0.000000<BR>               COST( P4, Q18)      6680.000            0.000000<BR>                  COST( P5, Q1)      6540.000            0.000000<BR>                  COST( P5, Q2)      5510.000            0.000000<BR>                  COST( P5, Q3)      4720.000            0.000000<BR>                  COST( P5, Q4)      6000.000            0.000000<BR>                  COST( P5, Q5)      6400.000            0.000000<BR>                  COST( P5, Q6)      7280.000            0.000000<BR>                  COST( P5, Q7)      5680.000            0.000000<BR>                  COST( P5, Q8)      4980.000            0.000000<BR>                  COST( P5, Q9)      6820.000            0.000000<BR>               COST( P5, Q10)      6720.000            0.000000<BR>               COST( P5, Q11)      6880.000            0.000000<BR>               COST( P5, Q12)      8580.000            0.000000<BR>               COST( P5, Q13)      7160.000            0.000000<BR>               COST( P5, Q14)      6130.000            0.000000<BR>               COST( P5, Q15)      6920.000            0.000000<BR>               COST( P5, Q16)      5980.000            0.000000<BR>               COST( P5, Q17)      6380.000            0.000000<BR>               COST( P5, Q18)      6180.000            0.000000<BR>                  COST( P6, Q1)      6200.000            0.000000<BR>                  COST( P6, Q2)      5530.000            0.000000<BR>                  COST( P6, Q3)      5220.000            0.000000<BR>                  COST( P6, Q4)      6780.000            0.000000<BR>                  COST( P6, Q5)      7180.000            0.000000<BR>                  COST( P6, Q6)      6500.000            0.000000<BR>                  COST( P6, Q7)      6100.000            0.000000<BR>                  COST( P6, Q8)      4800.000            0.000000<BR>                  COST( P6, Q9)      6640.000            0.000000<BR>               COST( P6, Q10)      6540.000            0.000000<BR>               COST( P6, Q11)      6700.000            0.000000<BR>               COST( P6, Q12)      8400.000            0.000000<BR>               COST( P6, Q13)      6980.000            0.000000<BR>               COST( P6, Q14)      5950.000            0.000000<BR>               COST( P6, Q15)      6740.000            0.000000<BR>               COST( P6, Q16)      5800.000            0.000000<BR>               COST( P6, Q17)      6200.000            0.000000<BR>               COST( P6, Q18)      6000.000            0.000000<BR>                  COST( P7, Q1)      6720.000            0.000000<BR>                  COST( P7, Q2)      5690.000            0.000000<BR>                  COST( P7, Q3)      4900.000            0.000000<BR>                  COST( P7, Q4)      6180.000            0.000000<BR>                  COST( P7, Q5)      6580.000            0.000000<BR>                  COST( P7, Q6)      7100.000            0.000000<BR>                  COST( P7, Q7)      5500.000            0.000000<BR>                  COST( P7, Q8)      4800.000            0.000000<BR>                  COST( P7, Q9)      6640.000            0.000000<BR>               COST( P7, Q10)      6540.000            0.000000<BR>               COST( P7, Q11)      6700.000            0.000000<BR>               COST( P7, Q12)      8400.000            0.000000<BR>               COST( P7, Q13)      6980.000            0.000000<BR>               COST( P7, Q14)      5950.000            0.000000<BR>               COST( P7, Q15)      6740.000            0.000000<BR>               COST( P7, Q16)      5800.000            0.000000<BR>               COST( P7, Q17)      6200.000            0.000000<BR>               COST( P7, Q18)      6000.000            0.000000<BR>                  COST( P8, Q1)      6500.000            0.000000<BR>                  COST( P8, Q2)      5830.000            0.000000<BR>                  COST( P8, Q3)      5200.000            0.000000<BR>                  COST( P8, Q4)      6480.000            0.000000<BR>                  COST( P8, Q5)      6880.000            0.000000<BR>                  COST( P8, Q6)      6800.000            0.000000<BR>                  COST( P8, Q7)      5800.000            0.000000<BR>                  COST( P8, Q8)      4500.000            0.000000<BR>                  COST( P8, Q9)      6340.000            0.000000<BR>               COST( P8, Q10)      6240.000            0.000000<BR>               COST( P8, Q11)      6400.000            0.000000<BR>               COST( P8, Q12)      8100.000            0.000000<BR>               COST( P8, Q13)      6680.000            0.000000<BR>               COST( P8, Q14)      5650.000            0.000000<BR>               COST( P8, Q15)      6440.000            0.000000<BR>               COST( P8, Q16)      5500.000            0.000000<BR>               COST( P8, Q17)      5900.000            0.000000<BR>               COST( P8, Q18)      5700.000            0.000000<BR>                  COST( P9, Q1)      7040.000            0.000000<BR>                  COST( P9, Q2)      6370.000            0.000000<BR>                  COST( P9, Q3)      5740.000            0.000000<BR>                  COST( P9, Q4)      7020.000            0.000000<BR>                  COST( P9, Q5)      7420.000            0.000000<BR>                  COST( P9, Q6)      7340.000            0.000000<BR>                  COST( P9, Q7)      6340.000            0.000000<BR>                  COST( P9, Q8)      5040.000            0.000000<BR>                  COST( P9, Q9)      5800.000            0.000000<BR>               COST( P9, Q10)      6300.000            0.000000<BR>               COST( P9, Q11)      6940.000            0.000000<BR>               COST( P9, Q12)      7560.000            0.000000<BR>               COST( P9, Q13)      6140.000            0.000000<BR>               COST( P9, Q14)      5300.000            0.000000<BR>               COST( P9, Q15)      6980.000            0.000000<BR>               COST( P9, Q16)      6040.000            0.000000<BR>               COST( P9, Q17)      6440.000            0.000000<BR>               COST( P9, Q18)      6240.000            0.000000<BR>               COST( P10, Q1)      6740.000            0.000000<BR>               COST( P10, Q2)      6070.000            0.000000<BR>               COST( P10, Q3)      5440.000            0.000000<BR>               COST( P10, Q4)      6720.000            0.000000<BR>               COST( P10, Q5)      7120.000            0.000000<BR>               COST( P10, Q6)      7040.000            0.000000<BR>               COST( P10, Q7)      6040.000            0.000000<BR>               COST( P10, Q8)      4740.000            0.000000<BR>               COST( P10, Q9)      6100.000            0.000000<BR>                COST( P10, Q10)      6000.000            0.000000<BR>                COST( P10, Q11)      6640.000            0.000000<BR>                COST( P10, Q12)      7860.000            0.000000<BR>                COST( P10, Q13)      6440.000            0.000000<BR>                COST( P10, Q14)      5600.000            0.000000<BR>                COST( P10, Q15)      6680.000            0.000000<BR>                COST( P10, Q16)      5740.000            0.000000<BR>                COST( P10, Q17)      6140.000            0.000000<BR>                COST( P10, Q18)      5940.000            0.000000<BR>(还有……)</P>

realmr 发表于 2006-5-22 06:06:52

太长了…………

sunboxinan 发表于 2006-5-22 06:13:38

<P>lingo8都可以</P>
<P>为什么lingo10运行不出来??   </P>
<P>有解决的办法吗??</P>
<P>就是因为这个问题 学校这次建模选拔赛中 害的我不得不用matlab将最后结果四舍五入得到整数精度差的很 </P>

<P>另外你的软件是怎么搞到的可能我这免费下载的版本功能本来就不强</P>
[此贴子已经被作者于2006-5-21 22:18:40编辑过]

方法 发表于 2006-5-22 06:40:17

<P>已经有LINGO10了吗??</P>

sunboxinan 发表于 2006-5-22 06:43:35

当然有了在他们公司网站上可以下载到

lang13 发表于 2006-7-17 00:59:03

<p>lingo 出了10.0的版本了。我用9.0,也能做出结果。结果,与上面仁兄的结果一样</p>

lang13 发表于 2006-7-17 01:02:53

<p>Global optimal solution found.<br/>&nbsp;&nbsp; Objective value:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6137300.<br/>&nbsp;&nbsp; Total solver iterations:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 78</p><p></p>

包不同 发表于 2007-4-6 20:06:25

<p>MODEL:<br/>SETS:<br/>venders1/v1,v2/:c1,x1;<br/>goods1/g1,g2/:h1,i1,m1,o1;<br/>vg1(venders1,goods1):q1,d1,z1,g1,b1,p1;<br/>venders2/s1,s2/:c2,x2;<br/>goods2/w1,w2/:h2,i2,m2,o2;<br/>vg2(Venders2,goods2):q2,d2,z2,g2,b2,p2;<br/>ENDSETS<br/>DATA:<br/>c1= 1200,2000;<br/>h1= 1,1.5;<br/>m1= 3500,4000;<br/>q1= 0.04 0.02<br/>&nbsp;&nbsp;&nbsp; 0.03 0.04;<br/>d1= 0.18 0.09<br/>&nbsp;&nbsp;&nbsp; 0.2 0.1;<br/>g1= 2 1.8<br/>&nbsp;&nbsp;&nbsp; 1 0.8;<br/>b1= 3000 5000<br/>&nbsp;&nbsp;&nbsp; 3000 4000;<br/>p1= 5 5.1<br/>&nbsp;&nbsp;&nbsp; 2.2 2.1;<br/>c2= 1200,2000;<br/>h2= 1,1.5;<br/>m2= 3200,3500;<br/>q2= 0.04 0.02<br/>&nbsp;&nbsp;&nbsp; 0.03 0.04;<br/>d2= 0.18 0.09<br/>&nbsp;&nbsp;&nbsp; 0.2 0.1;<br/>G2= 2 1.8<br/>&nbsp;&nbsp;&nbsp; 1 0.8;<br/>b2= 3500 4500<br/>&nbsp;&nbsp;&nbsp; 3000 4000;<br/>p2= 5 5.1<br/>&nbsp;&nbsp;&nbsp; 2.2 2.1;</p><p>o1=100,80;</p><p>o2=100,80;<br/>i1= 0,0;<br/>ENDDATA<br/><a href="mailto:min=@sum(vg1(I,J):P1(I,J)*z1(I,J))+@sum(venders1:x1*c1)+@sum(vg1(i,j):g1(i,j)*z1(i,j))+@sum(goods1:h1*i1)+@sum(vg2(i,j):P2(i,j)*z2(i,j))+@sum(venders2:x2*c2)+@sum(vg2(i,j):g2(i,j)*z2(i,j)+@sum(goods2:h2*i2" target="_blank"><font color="#000000">min=@sum(vg1(I,J):P1(I,J)*z1(I,J))+@sum(venders1:x1*c1)+@sum(vg1(i,j):g1(i,j)*z1(i,j))+@sum(goods1:h1*i1)+@sum(vg2(i,j):P2(i,j)*z2(i,j))+@sum(venders2:x2*c2)+@sum(vg2(i,j):g2(i,j)*z2(i,j)+@sum(goods2:h2*i2</font></a>));<br/>@FOR(vg1(i,j):z1(i,j)&lt;=b1(i,j));<br/>@for(vg2(i,j):z2(i,j)&lt;=b2(i,j));</p><p>@for(goods1(j):i1(j)+@sum(goods1(j):z1(i,j)&gt;=m1(j)+1.28o1(j)));<br/>venders1(i):x1(i)=@if(vg1(i,j):z1(i,j)#gt#0,1,0);</p><p>venders2(i):x2(i)=@if(vg2(i,j):z2(i,j)#gt#0,1,0);</p><p>goods2:i2(j)=goods1:i1(j)+@sum(goods2(j):z2(i,j)-m2(j));<br/>end</p><p>这是一个求两阶段规划问题,其中goods2:i2(j)=goods1:i1(j)+@sum(goods2(j):z2(i,j)-m2(j));是状态转移方程,由于本人刚接触lingo&nbsp;所以用的方法比较笨拙,出现错误也不知如何修改,哪位高手能指点一下吗?谢谢</p><p>也不知道为什么我不能发新帖子</p>
页: [1]
查看完整版本: l如何让lingo正常运行此程序