栖息谷-管理人的网上家园

楼主:jelly - 

[脑力无限] 再来一到难题

[复制链接] 31
回复
3754
查看
打印 上一主题 下一主题
21
发表于 2004-11-19 17:17:00 | 只看该作者

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

22
发表于 2004-11-22 14:47:00 | 只看该作者

约3836.497升。

[此贴子已经被作者于2004-11-22 15:02:29编辑过]
23
发表于 2004-11-22 14:59:00 | 只看该作者

约3836.497升。

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)>=500 n=7 时上式成立。则第七存油点即为A点。 由于500/3+500/5+500/7+....500/(2*7+1)=500*1.0218>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升。

上面是按照最少的运次运油最省推算的。如果提高运次虽然提高两个存油点的距离。但多一次运输将增加 500升的用油. 例500升用3次运: 2*X+Y1=500 X+Y2=500 2*Y1+Y2=500 X = 1000/5

推出以下两个存油点间的距离与运次,运量的关系:   运次: 2 3 4 5 ... 运量 500 500/3 1000/5 1500/7 2000/9 1000 500/5 1000/7 1500/9 1500 500/7 1000/9 2000 500(N-(Nl))/(2*N-1) ...

总结出存油点间的距离 = 500(N-(Nl))/(2*N-1) N为此存油点所用运油次数。 Nl为上一存油点所用运油次数。

可得到如下关系: 所有存油点间距离和设为S。 S=500(N1-1)/(2*N1-1)+500(N2-N1)/(2*N2-1)+500(N3-N2)/(2*N3-1).....>=500 N1 为第一存油点间的运油次数。 N2 为第二存油点间的运油次数。 。。。。 由于500公里最少要安排3个存油点(因为一次来回的最大行程<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最小说明总的用油量小。

如果安排4个存油点.用程序可找出N4的最小值:N4=10。 由于有多种情况N4=10,所以要找S最大的(S=509.3565),(此时N1=2,N2=3,N3=5)

依次类推当安排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 这也表明最少的运次运油最省的推算.

24
发表于 2004-11-26 17:27:00 | 只看该作者
无限多
25
发表于 2004-11-30 13:02:00 | 只看该作者
5500
26
发表于 2004-11-30 13:38:00 | 只看该作者

我的算法是

0----125----250----375----500---------------------------------------1000

1、500处需要储存500升油

2、前面几次要返回,最后一次不用返回

375处需要储存的量是875:

500=250+250

500(为500处存250,往返消耗250)+375(为500处存250,消耗125;250+125)

250处需存1500:875=250×2+375

500(每趟存250,耗250)×2(2趟为375处存500)+500(最后趟耗125,存375;375+125);

125处需存2875:1500=250×5+250

500×5+(250+125)=2875

0处需5500: 2875=250×10+375

500×10+(375+125)=5500

27
发表于 2004-11-30 13:46:00 | 只看该作者

不懂orsen的算法:

1、为什么500最少要运两次,1000最少要运3次?

2、Y1+Y2=500?为什么?谁规定的?

28
发表于 2004-12-1 22:10:00 | 只看该作者
以下是引用orsen在2004-11-22 14:59:00的发言:

约3836.497升。

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)>=500 n=7 时上式成立。则第七存油点即为A点。 由于500/3+500/5+500/7+....500/(2*7+1)=500*1.0218>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升。

上面是按照最少的运次运油最省推算的。如果提高运次虽然提高两个存油点的距离。但多一次运输将增加 500升的用油. 例500升用3次运: 2*X+Y1=500 X+Y2=500 2*Y1+Y2=500 X = 1000/5

推出以下两个存油点间的距离与运次,运量的关系:   运次: 2 3 4 5 ... 运量 500 500/3 1000/5 1500/7 2000/9 1000 500/5 1000/7 1500/9 1500 500/7 1000/9 2000 500(N-(Nl))/(2*N-1) ...

总结出存油点间的距离 = 500(N-(Nl))/(2*N-1) N为此存油点所用运油次数。 Nl为上一存油点所用运油次数。

可得到如下关系: 所有存油点间距离和设为S。 S=500(N1-1)/(2*N1-1)+500(N2-N1)/(2*N2-1)+500(N3-N2)/(2*N3-1).....>=500 N1 为第一存油点间的运油次数。 N2 为第二存油点间的运油次数。 。。。。 由于500公里最少要安排3个存油点(因为一次来回的最大行程<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最小说明总的用油量小。

如果安排4个存油点.用程序可找出N4的最小值:N4=10。 由于有多种情况N4=10,所以要找S最大的(S=509.3565),(此时N1=2,N2=3,N3=5)

依次类推当安排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 这也表明最少的运次运油最省的推算.

hug

算法和我完全一样,我做完了google到你的:)

29
发表于 2005-12-15 15:40:00 | 只看该作者
如果在多一辆车的话,是1000。如果没有车或者中途不可卸载的话,根本不可能到乙地
30
发表于 2005-12-17 18:59:00 | 只看该作者
不懂

使用高级回帖 (可批量传图、插入视频等)快速回复

您需要登录后才可以回帖 登录 | 加入

本版积分规则   Ctrl + Enter 快速发布  

发帖时请遵守我国法律,网站会将有关你发帖内容、时间以及发帖IP地址等记录保留,只要接到合法请求,即会将信息提供给有关政府机构。
快速回复 返回顶部 返回列表