ada0115 发表于 2008-5-23 13:53

高手帮忙,看下这段程序!万分感激!

<p>我正在准备毕业论文,可是模型算法再LINGO中实现的时候一直有错误,我这是第一次用LINGO,所以正苦于找不到原因,请高手们帮帮忙!</p><p>MODEL:<br/>Title Location Problem;<br/>sets:<br/>     DC/1..4/:y,a,x;<br/>    vendors/1..7/:b,w;<br/>    link(DC,vendors):c,z,t;<br/>endsets<br/>data:<br/>a=27.3 38.2 43.7 35.2;<br/>b=25000 12000 6000 21000 8000 7000 3000;<br/>c=4.5 7.5 10 8 16.8 28.7 39.6<br/> 23.6 21 23.8 28.5 18.3 9.7 16.4<br/> 29.3 27 41 32.7 13.8 8 11<br/> 15.8 19.2 19 19.3 7.8 11 17;<br/>w=28 28 30 28 30 32 32;<br/>t=23 24 24.5 24 26.5 30 33 <br/>  32 31 31.5 33 30.5 28.5 29.5 <br/>  34.5 33.5 37 35.5 30.5 29 30  <br/>  29 30 30 30 27 27.5 29.5;  <br/>enddata<br/>!Objective function(目标);<br/> <a href="mailto:min=@sum(link(j,i">min=@sum(link(j,i</a>): z(j,i)*c(j,i)*b(i))+@sum(DC(j):x(j)*a(j));<br/>@for(link(j,i):z(j,i)*t(j,i)&lt;w(i));<br/>@for(vendors(i):@sum(DC(j):z(j,i)*y(j))=1);<br/>@for(DC(j):@sum(DC(j):y(j))=2);<br/>@for(DC(j):@sum(vendors(i):b(i)*z(j,i))=x(j));<br/>@for(DC(j):@bin(y(j)));<br/>@for(link(j,i):@bin(z(j,i)));<br/>END<br/></p>

madio 发表于 2008-5-24 00:47

<p>修改了,目前没有错误了,但是由于我的lingo是试用版不能运行这么大规模的程序,你自己试试结果对不对!</p><p>MODEL:<br/>Title Location Problem;<br/>sets:<br/>DC/1..4/:y,a,x;<br/>vendors/1..7/:b,w;<br/>link(DC,vendors):c,z,t;<br/>endsets<br/>data:<br/>a=27.3 38.2 43.7 35.2;<br/>b=25000 12000 6000 21000 8000 7000 3000;<br/>c=4.5 7.5 10 8 16.8 28.7 39.6<br/>23.6 21 23.8 28.5 18.3 9.7 16.4<br/>29.3 27 41 32.7 13.8 8 11<br/>15.8 19.2 19 19.3 7.8 11 17;<br/>w=28 28 30 28 30 32 32;<br/>t=23 24 24.5 24 26.5 30 33 <br/>32 31 31.5 33 30.5 28.5 29.5 <br/>34.5 33.5 37 35.5 30.5 29 30 <br/>29 30 30 30 27 27.5 29.5; <br/>enddata<br/>!Objective function(目标);<br/> min=@sum(link(j,i): z(j,i)*c(j,i)*b(i))+@sum(DC(j):x(j)*a(j));<br/>@for(link(j,i):z(j,i)*t(j,i)&lt;w(i));<br/>@for(vendors(i):@sum(DC(j):z(j,i)*y(j))=1);<br/>@sum(DC(j):y(j))=2;<br/>@for(DC(j):@sum(vendors(i):b(i)*z(j,i))=x(j));<br/>@for(DC(j):@bin(y(j)));<br/>@for(link(j,i):@bin(z(j,i)));<br/>END</p>

ada0115 发表于 2008-5-24 01:13

<p>恩恩 谢谢了  我看过了  程序是没有错了</p><p>可是为什么会没有解呢?</p>

ada0115 发表于 2008-5-24 01:16

是不是约束条件不够 ,还是数据不够?

madio 发表于 2008-5-24 09:05

<p>都不是,可能是约束条件太严格了,求解困难,但是你也要找个完全版的lingo先看看结果!我这只有试用版!</p>

hubulwm 发表于 2008-5-24 14:23

<p>  Local optimal solution found.<br/>  Objective value:                              3029600.<br/>  Extended solver steps:                               0<br/>  Total solver iterations:                             4</p><p><br/>  Model Title: Location Problem</p><p>                       Variable           Value        Reduced Cost<br/>                          Y( 1)        1.000000           -2530500.<br/>                          Y( 2)        1.000000           -499100.0<br/>                          Y( 3)        0.000000            0.000000<br/>                          Y( 4)        0.000000            0.000000<br/>                          A( 1)        27.30000            0.000000<br/>                          A( 2)        38.20000            0.000000<br/>                          A( 3)        43.70000            0.000000<br/>                          A( 4)        35.20000            0.000000<br/>                          X( 1)        72000.00            0.000000<br/>                          X( 2)        10000.00            0.000000<br/>                          X( 3)        0.000000            0.000000<br/>                          X( 4)        0.000000            0.000000<br/>                          B( 1)        25000.00            0.000000<br/>                          B( 2)        12000.00            0.000000<br/>                          B( 3)        6000.000            0.000000<br/>                          B( 4)        21000.00            0.000000<br/>                          B( 5)        8000.000            0.000000<br/>                          B( 6)        7000.000            0.000000<br/>                          B( 7)        3000.000            0.000000<br/>                          W( 1)        28.00000            0.000000<br/>                          W( 2)        28.00000            0.000000<br/>                          W( 3)        30.00000            0.000000<br/>                          W( 4)        28.00000            0.000000<br/>                          W( 5)        30.00000            0.000000<br/>                          W( 6)        32.00000            0.000000<br/>                          W( 7)        32.00000            0.000000<br/>                       C( 1, 1)        4.500000            0.000000<br/>                       C( 1, 2)        7.500000            0.000000<br/>                       C( 1, 3)        10.00000            0.000000<br/>                       C( 1, 4)        8.000000            0.000000<br/>                       C( 1, 5)        16.80000            0.000000<br/>                       C( 1, 6)        28.70000            0.000000<br/>                       C( 1, 7)        39.60000            0.000000<br/>                       C( 2, 1)        23.60000            0.000000<br/>                       C( 2, 2)        21.00000            0.000000<br/>                       C( 2, 3)        23.80000            0.000000<br/>                       C( 2, 4)        28.50000            0.000000<br/>                       C( 2, 5)        18.30000            0.000000<br/>                       C( 2, 6)        9.700000            0.000000<br/>                       C( 2, 7)        16.40000            0.000000<br/>                       C( 3, 1)        29.30000            0.000000<br/>                       C( 3, 2)        27.00000            0.000000<br/>                       C( 3, 3)        41.00000            0.000000<br/>                       C( 3, 4)        32.70000            0.000000<br/>                       C( 3, 5)        13.80000            0.000000<br/>                       C( 3, 6)        8.000000            0.000000<br/>                       C( 3, 7)        11.00000            0.000000<br/>                       C( 4, 1)        15.80000            0.000000<br/>                       C( 4, 2)        19.20000            0.000000<br/>                       C( 4, 3)        19.00000            0.000000<br/>                       C( 4, 4)        19.30000            0.000000<br/>                       C( 4, 5)        7.800000            0.000000<br/>                       C( 4, 6)        11.00000            0.000000<br/>                       C( 4, 7)        17.00000            0.000000<br/>                       Z( 1, 1)        1.000000            0.000000<br/>                       Z( 1, 2)        1.000000            0.000000<br/>                       Z( 1, 3)        1.000000            0.000000<br/>                       Z( 1, 4)        1.000000            0.000000<br/>                       Z( 1, 5)        1.000000            0.000000<br/>                       Z( 1, 6)        0.000000            56700.00<br/>                       Z( 1, 7)        0.000000            36900.00<br/>                       Z( 2, 1)        0.000000            750000.0<br/>                       Z( 2, 2)        0.000000            292800.0<br/>                       Z( 2, 3)        0.000000            148200.0<br/>                       Z( 2, 4)        0.000000            659400.0<br/>                       Z( 2, 5)        0.000000            99200.00<br/>                       Z( 2, 6)        1.000000            0.000000<br/>                       Z( 2, 7)        1.000000            0.000000<br/>                       Z( 3, 1)        0.000000            1825000.<br/>                       Z( 3, 2)        0.000000            848400.0<br/>                       Z( 3, 3)        0.000000            508200.0<br/>                       Z( 3, 4)        0.000000            1604400.<br/>                       Z( 3, 5)        0.000000            460000.0<br/>                       Z( 3, 6)        0.000000            361900.0<br/>                       Z( 3, 7)        0.000000            164100.0<br/>                       Z( 4, 1)        0.000000            1275000.<br/>                       Z( 4, 2)        0.000000            652800.0<br/>                       Z( 4, 3)        0.000000            325200.0<br/>                       Z( 4, 4)        0.000000            1144500.<br/>                       Z( 4, 5)        0.000000            344000.0<br/>                       Z( 4, 6)        0.000000            323400.0<br/>                       Z( 4, 7)        0.000000            156600.0<br/>                       T( 1, 1)        23.00000            0.000000<br/>                       T( 1, 2)        24.00000            0.000000<br/>                       T( 1, 3)        24.50000            0.000000<br/>                       T( 1, 4)        24.00000            0.000000<br/>                       T( 1, 5)        26.50000            0.000000<br/>                       T( 1, 6)        30.00000            0.000000<br/>                       T( 1, 7)        33.00000            0.000000<br/>                       T( 2, 1)        32.00000            0.000000<br/>                       T( 2, 2)        31.00000            0.000000<br/>                       T( 2, 3)        31.50000            0.000000<br/>                       T( 2, 4)        33.00000            0.000000<br/>                       T( 2, 5)        30.50000            0.000000<br/>                       T( 2, 6)        28.50000            0.000000<br/>                       T( 2, 7)        29.50000            0.000000<br/>                       T( 3, 1)        34.50000            0.000000<br/>                       T( 3, 2)        33.50000            0.000000<br/>                       T( 3, 3)        37.00000            0.000000<br/>                       T( 3, 4)        35.50000            0.000000<br/>                       T( 3, 5)        30.50000            0.000000<br/>                       T( 3, 6)        29.00000            0.000000<br/>                       T( 3, 7)        30.00000            0.000000<br/>                       T( 4, 1)        29.00000            0.000000<br/>                       T( 4, 2)        30.00000            0.000000<br/>                       T( 4, 3)        30.00000            0.000000<br/>                       T( 4, 4)        30.00000            0.000000<br/>                       T( 4, 5)        27.00000            0.000000<br/>                       T( 4, 6)        27.50000            0.000000<br/>                       T( 4, 7)        29.50000            0.000000</p><p>                            Row    Slack or Surplus      Dual Price<br/>                            OBJ        3029600.           -1.000000<br/>                              2        5.000000            0.000000<br/>                              3        4.000000            0.000000<br/>                              4        5.500000            0.000000<br/>                              5        4.000000            0.000000<br/>                              6        3.500000            0.000000<br/>                              7        32.00000            0.000000<br/>                              8        32.00000            0.000000<br/>                              9        28.00000            0.000000<br/>                             10        28.00000            0.000000<br/>                             11        30.00000            0.000000<br/>                             12        28.00000            0.000000<br/>                             13        30.00000            0.000000<br/>                             14        3.500000            0.000000<br/>                             15        2.500000            0.000000<br/>                             16        28.00000            0.000000<br/>                             17        28.00000            0.000000<br/>                             18        30.00000            0.000000<br/>                             19        28.00000            0.000000<br/>                             20        30.00000            0.000000<br/>                             21        32.00000            0.000000<br/>                             22        32.00000            0.000000<br/>                             23        28.00000            0.000000<br/>                             24        28.00000            0.000000<br/>                             25        30.00000            0.000000<br/>                             26        28.00000            0.000000<br/>                             27        30.00000            0.000000<br/>                             28        32.00000            0.000000<br/>                             29        32.00000            0.000000<br/>                             30        0.000000           -795000.0<br/>                             31        0.000000           -417600.0<br/>                             32        0.000000           -223800.0<br/>                             33        0.000000           -741300.0<br/>                             34        0.000000           -352800.0<br/>                             35        0.000000           -335300.0<br/>                             36        0.000000           -163800.0<br/>                             37        0.000000            0.000000<br/>                             38        0.000000            27.30000<br/>                             39        0.000000            38.20000<br/>                             40        0.000000            43.70000<br/>                             41        0.000000            35.20000</p><p></p>

ada0115 发表于 2008-5-25 18:57

谢谢了 万分感谢各位的帮忙!

ada0115 发表于 2008-5-25 22:15

<div class="msgheader">QUOTE:</div><div class="msgborder"><b>以下是引用<i>hubulwm</i>在2008-5-24 14:23:22的发言:</b><br/></div><p class="quote">Local optimal solution found.<br/>Objective value: 3029600.<br/>Extended solver steps: 0<br/>Total solver iterations: 4</p><p class="quote"><br/>Model Title: Location Problem</p><p class="quote">Variable Value Reduced Cost<br/>Y( 1) 1.000000 -2530500.<br/>Y( 2) 1.000000 -499100.0<br/>Y( 3) 0.000000 0.000000<br/>Y( 4) 0.000000 0.000000<br/>A( 1) 27.30000 0.000000<br/>A( 2) 38.20000 0.000000<br/>A( 3) 43.70000 0.000000<br/>A( 4) 35.20000 0.000000<br/>X( 1) 72000.00 0.000000<br/>X( 2) 10000.00 0.000000<br/>X( 3) 0.000000 0.000000<br/>X( 4) 0.000000 0.000000<br/>B( 1) 25000.00 0.000000<br/>B( 2) 12000.00 0.000000<br/>B( 3) 6000.000 0.000000<br/>B( 4) 21000.00 0.000000<br/>B( 5) 8000.000 0.000000<br/>B( 6) 7000.000 0.000000<br/>B( 7) 3000.000 0.000000<br/>W( 1) 28.00000 0.000000<br/>W( 2) 28.00000 0.000000<br/>W( 3) 30.00000 0.000000<br/>W( 4) 28.00000 0.000000<br/>W( 5) 30.00000 0.000000<br/>W( 6) 32.00000 0.000000<br/>W( 7) 32.00000 0.000000<br/>C( 1, 1) 4.500000 0.000000<br/>C( 1, 2) 7.500000 0.000000<br/>C( 1, 3) 10.00000 0.000000<br/>C( 1, 4) 8.000000 0.000000<br/>C( 1, 5) 16.80000 0.000000<br/>C( 1, 6) 28.70000 0.000000<br/>C( 1, 7) 39.60000 0.000000<br/>C( 2, 1) 23.60000 0.000000<br/>C( 2, 2) 21.00000 0.000000<br/>C( 2, 3) 23.80000 0.000000<br/>C( 2, 4) 28.50000 0.000000<br/>C( 2, 5) 18.30000 0.000000<br/>C( 2, 6) 9.700000 0.000000<br/>C( 2, 7) 16.40000 0.000000<br/>C( 3, 1) 29.30000 0.000000<br/>C( 3, 2) 27.00000 0.000000<br/>C( 3, 3) 41.00000 0.000000<br/>C( 3, 4) 32.70000 0.000000<br/>C( 3, 5) 13.80000 0.000000<br/>C( 3, 6) 8.000000 0.000000<br/>C( 3, 7) 11.00000 0.000000<br/>C( 4, 1) 15.80000 0.000000<br/>C( 4, 2) 19.20000 0.000000<br/>C( 4, 3) 19.00000 0.000000<br/>C( 4, 4) 19.30000 0.000000<br/>C( 4, 5) 7.800000 0.000000<br/>C( 4, 6) 11.00000 0.000000<br/>C( 4, 7) 17.00000 0.000000<br/>Z( 1, 1) 1.000000 0.000000<br/>Z( 1, 2) 1.000000 0.000000<br/>Z( 1, 3) 1.000000 0.000000<br/>Z( 1, 4) 1.000000 0.000000<br/>Z( 1, 5) 1.000000 0.000000<br/>Z( 1, 6) 0.000000 56700.00<br/>Z( 1, 7) 0.000000 36900.00<br/>Z( 2, 1) 0.000000 750000.0<br/>Z( 2, 2) 0.000000 292800.0<br/>Z( 2, 3) 0.000000 148200.0<br/>Z( 2, 4) 0.000000 659400.0<br/>Z( 2, 5) 0.000000 99200.00<br/>Z( 2, 6) 1.000000 0.000000<br/>Z( 2, 7) 1.000000 0.000000<br/>Z( 3, 1) 0.000000 1825000.<br/>Z( 3, 2) 0.000000 848400.0<br/>Z( 3, 3) 0.000000 508200.0<br/>Z( 3, 4) 0.000000 1604400.<br/>Z( 3, 5) 0.000000 460000.0<br/>Z( 3, 6) 0.000000 361900.0<br/>Z( 3, 7) 0.000000 164100.0<br/>Z( 4, 1) 0.000000 1275000.<br/>Z( 4, 2) 0.000000 652800.0<br/>Z( 4, 3) 0.000000 325200.0<br/>Z( 4, 4) 0.000000 1144500.<br/>Z( 4, 5) 0.000000 344000.0<br/>Z( 4, 6) 0.000000 323400.0<br/>Z( 4, 7) 0.000000 156600.0<br/>T( 1, 1) 23.00000 0.000000<br/>T( 1, 2) 24.00000 0.000000<br/>T( 1, 3) 24.50000 0.000000<br/>T( 1, 4) 24.00000 0.000000<br/>T( 1, 5) 26.50000 0.000000<br/>T( 1, 6) 30.00000 0.000000<br/>T( 1, 7) 33.00000 0.000000<br/>T( 2, 1) 32.00000 0.000000<br/>T( 2, 2) 31.00000 0.000000<br/>T( 2, 3) 31.50000 0.000000<br/>T( 2, 4) 33.00000 0.000000<br/>T( 2, 5) 30.50000 0.000000<br/>T( 2, 6) 28.50000 0.000000<br/>T( 2, 7) 29.50000 0.000000<br/>T( 3, 1) 34.50000 0.000000<br/>T( 3, 2) 33.50000 0.000000<br/>T( 3, 3) 37.00000 0.000000<br/>T( 3, 4) 35.50000 0.000000<br/>T( 3, 5) 30.50000 0.000000<br/>T( 3, 6) 29.00000 0.000000<br/>T( 3, 7) 30.00000 0.000000<br/>T( 4, 1) 29.00000 0.000000<br/>T( 4, 2) 30.00000 0.000000<br/>T( 4, 3) 30.00000 0.000000<br/>T( 4, 4) 30.00000 0.000000<br/>T( 4, 5) 27.00000 0.000000<br/>T( 4, 6) 27.50000 0.000000<br/>T( 4, 7) 29.50000 0.000000</p><p class="quote">Row Slack or Surplus Dual Price<br/>OBJ 3029600. -1.000000<br/>2 5.000000 0.000000<br/>3 4.000000 0.000000<br/>4 5.500000 0.000000<br/>5 4.000000 0.000000<br/>6 3.500000 0.000000<br/>7 32.00000 0.000000<br/>8 32.00000 0.000000<br/>9 28.00000 0.000000<br/>10 28.00000 0.000000<br/>11 30.00000 0.000000<br/>12 28.00000 0.000000<br/>13 30.00000 0.000000<br/>14 3.500000 0.000000<br/>15 2.500000 0.000000<br/>16 28.00000 0.000000<br/>17 28.00000 0.000000<br/>18 30.00000 0.000000<br/>19 28.00000 0.000000<br/>20 30.00000 0.000000<br/>21 32.00000 0.000000<br/>22 32.00000 0.000000<br/>23 28.00000 0.000000<br/>24 28.00000 0.000000<br/>25 30.00000 0.000000<br/>26 28.00000 0.000000<br/>27 30.00000 0.000000<br/>28 32.00000 0.000000<br/>29 32.00000 0.000000<br/>30 0.000000 -795000.0<br/>31 0.000000 -417600.0<br/>32 0.000000 -223800.0<br/>33 0.000000 -741300.0<br/>34 0.000000 -352800.0<br/>35 0.000000 -335300.0<br/>36 0.000000 -163800.0<br/>37 0.000000 0.000000<br/>38 0.000000 27.30000<br/>39 0.000000 38.20000<br/>40 0.000000 43.70000<br/>41 0.000000 35.20000</p><p class="quote"></p><p></p><p><font style="BACKGROUND-COLOR: #f3f3f3;"></font></p><p><font style="BACKGROUND-COLOR: #f3f3f3;">请问你是用什么版本的lingo运行的,能告诉我么?谢谢了 我需要下能运行的LINGO进行截图,论文使用~拜托了</font></p><div class="msgheader">QUOTE:</div><div class="msgborder"><br/></div><p></p>

hubulwm 发表于 2008-5-29 08:49

用LINGO8.0的Global求解程序就行了。
页: [1]
查看完整版本: 高手帮忙,看下这段程序!万分感激!