maxnmax 发表于 2004-11-19 17:17:00

<P>除非车子可以运油,否则永远无法到乙地了</P>

orsen 发表于 2004-11-22 14:47:00

<P>约3836.497升。</P>
[此贴子已经被作者于2004-11-22 15:02:29编辑过]

orsen 发表于 2004-11-22 14:59:00

<P>约3836.497升。</P>
<P>1。确定500公里处放500升油。
2。设相距500公里处的第一放油点X
A---------------------X-------500-----------------------------B
由于运500升油最少要运2次,但第二次不用反回,所以两次的有效运油量是不同的。
设第一次有效运油量Y1,第二次有效运油量Y2。得:
2*X+Y1=500
X+Y2=500
Y1+Y2=500
求得:X=500/3
点上的存油量为:1000
3。设相距500公里处的第二放油点X2
A---------------X2------X-------500-----------------------------B
再设第二放油点距第一放油点X.由于第一放油点存油量为:1000,所以要运1000,最少3次。
设前两次有效运油量Y1,第三次有效运油量Y2
2*X+Y1=500
X+Y2=500
2*Y1+Y2=1000
求得:X=500/5
4。以次推:每个放油点距上一放油点:500/(2*n+1).(n为第几个放油点).该点上的存油量为500*(n+1)
得:
500/3+500/5+500/7+....500/(2*n+1)&gt;=500
n=7 时上式成立。则第七存油点即为A点。
由于500/3+500/5+500/7+....500/(2*7+1)=500*1.0218&gt;500
所以从A到第6存油点的最后一次运油无须满载油。
所以此时是要将(6+1)*500=3500升的油由A运到第6存油点.
第6存油点具A为500-500(1/3+1/5+1/7+1/9+1/11+1/13)=22.433
2*22.433+Y1=500
7*Y1+Y2=3500
Y1=455.134 Y2=314.0637
7*500+22.433+314.0637 =3836.497升。</P>
<P>
上面是按照最少的运次运油最省推算的。如果提高运次虽然提高两个存油点的距离。但多一次运输将增加
500升的用油.
例500升用3次运:
2*X+Y1=500
X+Y2=500
2*Y1+Y2=500
X = 1000/5</P>
<P>
推出以下两个存油点间的距离与运次,运量的关系:
  运次:2       3       4      5      ...
运量   
500      500/31000/5   1500/7   2000/9
1000            500/5    1000/7   1500/9
1500                     500/7    1000/9
2000                              500(N-(Nl))/(2*N-1)
...                                 </P>
<P>总结出存油点间的距离 = 500(N-(Nl))/(2*N-1)
N为此存油点所用运油次数。
Nl为上一存油点所用运油次数。</P>
<P>可得到如下关系:
所有存油点间距离和设为S。
S=500(N1-1)/(2*N1-1)+500(N2-N1)/(2*N2-1)+500(N3-N2)/(2*N3-1).....&gt;=500
N1 为第一存油点间的运油次数。
N2 为第二存油点间的运油次数。
。。。。
由于500公里最少要安排3个存油点(因为一次来回的最大行程&lt;250公里,所以500公里间有两个运油点,
再加上起点一个)
用程序可找出N3的最小值:N3=14 (N2=5,N1=2, S=500(N1-1)/(2*N1-1)+500(N2-N1)/(2*N2-1)+500(N3-N2)/(2*N3-1)= 500)
N3最小说明总的用油量小。</P>
<P>如果安排4个存油点.用程序可找出N4的最小值:N4=10。
由于有多种情况N4=10,所以要找S最大的(S=509.3565),(此时N1=2,N2=3,N3=5)</P>
<P>依次类推当安排7个存油点时N7最小为8. S最大的为510.9002 (此时N1=2,N2=3,N3=4,N4=5,N5=6,N6=7)
8*500-(7*2+1)(510.9002-500)= 3836.497
这也表明最少的运次运油最省的推算.</P>


<P>               
</P>

无限 发表于 2004-11-26 17:27:00

无限多

balemg 发表于 2004-11-30 13:02:00

5500

balemg 发表于 2004-11-30 13:38:00

<P>我的算法是</P><P>0----125----250----375----500---------------------------------------1000</P><P>1、500处需要储存500升油</P><P>2、前面几次要返回,最后一次不用返回</P><P>375处需要储存的量是875:</P><P>                            500=250+250</P><P>                            500(为500处存250,往返消耗250)+375(为500处存250,消耗125;250+125)</P><P>250处需存1500:875=250×2+375</P><P>                            500(每趟存250,耗250)×2(2趟为375处存500)+500(最后趟耗125,存375;375+125);</P><P>125处需存2875:1500=250×5+250</P><P>                            500×5+(250+125)=2875</P><P>0处需5500: 2875=250×10+375</P><P>                     500×10+(375+125)=5500</P>

balemg 发表于 2004-11-30 13:46:00

<P>不懂orsen的算法:</P><P>1、为什么500最少要运两次,1000最少要运3次?</P><P>2、Y1+Y2=500?为什么?谁规定的?</P>

eamon 发表于 2004-12-1 22:10:00

<DIV class=quote><B>以下是引用<I>orsen</I>在2004-11-22 14:59:00的发言:</B>

<P>约3836.497升。</P>
<P>1。确定500公里处放500升油。
2。设相距500公里处的第一放油点X
A---------------------X-------500-----------------------------B
由于运500升油最少要运2次,但第二次不用反回,所以两次的有效运油量是不同的。
设第一次有效运油量Y1,第二次有效运油量Y2。得:
2*X+Y1=500
X+Y2=500
Y1+Y2=500
求得:X=500/3
点上的存油量为:1000
3。设相距500公里处的第二放油点X2
A---------------X2------X-------500-----------------------------B
再设第二放油点距第一放油点X.由于第一放油点存油量为:1000,所以要运1000,最少3次。
设前两次有效运油量Y1,第三次有效运油量Y2
2*X+Y1=500
X+Y2=500
2*Y1+Y2=1000
求得:X=500/5
4。以次推:每个放油点距上一放油点:500/(2*n+1).(n为第几个放油点).该点上的存油量为500*(n+1)
得:
500/3+500/5+500/7+....500/(2*n+1)&gt;=500
n=7 时上式成立。则第七存油点即为A点。
由于500/3+500/5+500/7+....500/(2*7+1)=500*1.0218&gt;500
所以从A到第6存油点的最后一次运油无须满载油。
所以此时是要将(6+1)*500=3500升的油由A运到第6存油点.
第6存油点具A为500-500(1/3+1/5+1/7+1/9+1/11+1/13)=22.433
2*22.433+Y1=500
7*Y1+Y2=3500
Y1=455.134 Y2=314.0637
7*500+22.433+314.0637 =3836.497升。</P>
<P>
上面是按照最少的运次运油最省推算的。如果提高运次虽然提高两个存油点的距离。但多一次运输将增加
500升的用油.
例500升用3次运:
2*X+Y1=500
X+Y2=500
2*Y1+Y2=500
X = 1000/5</P>
<P>
推出以下两个存油点间的距离与运次,运量的关系:
  运次:2       3       4      5      ...
运量   
500      500/31000/5   1500/7   2000/9
1000            500/5    1000/7   1500/9
1500                     500/7    1000/9
2000                              500(N-(Nl))/(2*N-1)
...                                 </P>
<P>总结出存油点间的距离 = 500(N-(Nl))/(2*N-1)
N为此存油点所用运油次数。
Nl为上一存油点所用运油次数。</P>
<P>可得到如下关系:
所有存油点间距离和设为S。
S=500(N1-1)/(2*N1-1)+500(N2-N1)/(2*N2-1)+500(N3-N2)/(2*N3-1).....&gt;=500
N1 为第一存油点间的运油次数。
N2 为第二存油点间的运油次数。
。。。。
由于500公里最少要安排3个存油点(因为一次来回的最大行程&lt;250公里,所以500公里间有两个运油点,
再加上起点一个)
用程序可找出N3的最小值:N3=14 (N2=5,N1=2, S=500(N1-1)/(2*N1-1)+500(N2-N1)/(2*N2-1)+500(N3-N2)/(2*N3-1)= 500)
N3最小说明总的用油量小。</P>
<P>如果安排4个存油点.用程序可找出N4的最小值:N4=10。
由于有多种情况N4=10,所以要找S最大的(S=509.3565),(此时N1=2,N2=3,N3=5)</P>
<P>依次类推当安排7个存油点时N7最小为8. S最大的为510.9002 (此时N1=2,N2=3,N3=4,N4=5,N5=6,N6=7)
8*500-(7*2+1)(510.9002-500)= 3836.497
这也表明最少的运次运油最省的推算.</P>



<P>               
</P></DIV>
<P>
<P>hug</P>
<P>算法和我完全一样,我做完了google到你的:)</P>

月长石 发表于 2005-12-15 15:40:00

如果在多一辆车的话,是1000。如果没有车或者中途不可卸载的话,根本不可能到乙地

小毒蝎 发表于 2005-12-17 18:59:00

不懂
页: 1 2 [3] 4
查看完整版本: 再来一到难题