商人与萝卜问题

中年使者 范文 工作总结范文
精选回答

商人与萝卜问题本文简介:一道智力测试题的线性规划解法1、问题描述网上流传一道被称为小学6年级奥数竞赛的智力测试趣题:一个商人骑一头驴,穿越1000公里长的沙漠,去卖3000根胡萝卜。已知:驴一次性可驮1000根胡萝卜,但每走一公里又要吃掉一根胡萝卜,而空载时不需吃胡萝卜。问:商人最多可卖出多少根胡萝卜?不考虑实际情况中可能

商人与萝卜问题本文内容:

一道智力测试题的线性规划解法

1、问题描述

网上流传一道被称为小学6年级奥数竞赛的智力测试趣题:

一个商人骑一头驴,穿越1000公里长的沙漠,去卖3000根胡萝卜。已知:驴一次性可驮1000根胡萝卜,但每走一公里又要吃掉一根胡萝卜,而空载时不需吃胡萝卜。问:商人最多可卖出多少根胡萝卜?

不考虑实际情况中可能会出现的各种问题,仅在理想的环境下,网友给出了以下三种版本的回答:

版本一:最多能卖出500根,具体方案——分三趟运输,第一趟驮1000根,行至500公里处放下500根,空载回起点,再驮1000根胡萝卜至500公里处,带上第一趟留下的500根,一直走到终点,剩500根出售,再回去驮1000根,剩0根出售(也可不回去驮第三趟),总共最多可出售500根。

版本二:最多能卖出750根,具体方案——分三趟运输,第一趟驮1000根,行至500公里处放下500根,空载回起点,再驮1000根胡萝卜至500公里处,带上第一趟留下的500根,行至750公里处,此时驴背上还剩下750根,全部放下,空载回到起点,驮上最后剩下的1000根,行至750公里处带上第二趟留下的750根,一直行至终点,带到终点的胡萝卜数是750根。

版本三:最多能卖出833根,具体方案——分三趟运输,第一趟驮1000根,行至333公里处放下6***根,空载回起点,再驮1000根胡萝卜至333公里处,带上第一趟留下的333根(还剩334根),行至833公里处,此时驴背上还剩下500根,全部放下,空载回去,驮上最后剩下的1000根,行至333公里处带上第一趟留下的333根(还有一根浪费),行至833公里处,带上第二趟留下的500根,一直行至终点,带到终点的胡萝卜数是833根。

多数人认为833根应该是商人能卖出的最大数量(如果可以有小数,应该为833.33),从优化理论的角度来讲,833被认为是该问题的最优解,现在的问题是:833真的是该问题的最优解吗?如果是,如何证明?

2、问题分析

由已知条件,我们可以知道:

(1)由于驴每次只能驮1000根胡萝卜,3000根胡萝卜至少要分成三趟运输,而且只能分成三趟运输(即每次从起点出发均驮上1000根),才能保证商人尽量多卖出胡萝卜。

(2)前面两趟运输时,必定要在途中卸载部分胡萝卜,然后空载返回,否则胡萝卜将全部被驴吃掉,商人一根也卖不了。

A

B

S

T

图1

(3)第一趟运输时,其卸载点可以只有一个。为什么?假设有两个卸载点A、B(如图1),由于以后各趟都是满载从起点S出发,到达A点时,驴只吃掉了根胡萝卜,此时最多只能再加上根胡萝卜,到B点后最多能再加根,实际上这与在B点直接加根是等效的,即第一趟中只需设B点为卸载点。

(4)同理,第二趟在中途也只需设一个卸载点,无防假设第二趟的卸载点在第一趟卸载点的右边。

(5)第三趟运输时,在经过前两趟的卸载点时尽量带上留下的胡萝卜,一直行至终点。

综合以上分析,可以知道最优运输模式如下:

分三趟运输:

第一趟:如图1,驮上1000根从S点出发,到达A点时返回,留下剩下的根胡萝卜;

第二趟:驮上1000根从S点出发,途经A点时加上根(且),再行走至B点处返回,留下剩下的()根胡萝卜;

第三趟:驮上1000根从S点出发,途经A点时加上根(且),再行走至B点处加上根(且),一直行至终点T。

最终能够驮到终点T的胡萝卜数是()根,这也是商人最多能卖出的胡萝卜数。

3、建立模型

由以上分析,可得该问题的线性规划模型为:

4、模型求解

使用Lingo软件求解该线性规划问题,在Lingo中输入模型:

Model:

max=x4+x5;

x1<1000;

x2<1000;

x3<1000-x1;

x3

x4<1000-x1-x3;

x4

x5<1000-x2+x3;

x5

@gin(x1);@gin(x2);@gin(x3);@gin(x4);@gin(x5);

end

运行结果如下:

Global

optimal

solution

found.

Objective

value:

833.0000

Extended

solver

steps:

0

Total

solver

iterations:

5

Variable

Value

Reduced

Cost

X4

333.0000

-1.000000

X5

500.0000

-1.000000

X1

333.0000

0.000000

X2

833.0000

0.000000

X3

333.0000

0.000000

Row

Slack

or

Surplus

Dual

Price

1

833.0000

1.000000

2

667.0000

0.000000

3

167.0000

0.000000

4

334.0000

0.000000

5

0.000000

0.000000

6

1.000000

0.000000

7

0.000000

0.000000

8

0.000000

0.000000

9

0.000000

0.000000

通过对模型的求解,我们可以知道最优运输模式为:

分三趟运输:

第一趟:驮上1000根从起点出发,到达333公里处返回,留下剩下的667根胡萝卜;

第二趟:驮上1000根从起点出发,到达333公里处加上333根,再行走至833公里处返回,留下剩下的500根胡萝卜;

第三趟:驮上1000根从起点出发,到达333公里处加上333根(还剩1根浪费),再行走至833公里处加上500根,一直行至终点。

最终能够驮到终点T的胡萝卜数是833根,这也是商人最多能卖出的胡萝卜数。

至此我们已经证明了833是该问题的最优解,即在已知条件下,商人最多能卖出833根胡萝卜。

5、问题拓展

如果将问题稍作修改:将“空载时不需吃胡萝卜”改为“空载时也需吃胡萝卜”。问:商人最多可卖出多少根胡萝卜?

类似前面的分析,我们可以知道此时的最优运输模式为:

分三趟运输:

第一趟:如图1,驮上1000根从S点出发,到达A点时带上根胡萝卜返回,留下剩下的根;

第二趟:驮上1000根从S点出发,途经A点时加上根(且),再行至B点时返回,留下根,返回S点的途中经过A点时带上根(,,,);

第三趟:驮上1000根从S点出发,途经A点时加上根(且),再行走至B点处加上根(且),一直行至终点T。

最终能够驮到终点T的胡萝卜数是()根,这也是商人最多能卖出的胡萝卜数。

由以上分析,可得此种情况下的线性规划模型为:

使用Lingo软件求解该线性规划问题,在Lingo中输入模型:

Model:

max=x4+x5;

x1<1000;

x2<1000;

x3<1000-2*x1;

x3

x6<1000-2*x2+x3+x7;

x6

<1000+x3-x2-(x2-x1);

x7<1000-2*x1-x3;

x7<2*x2-x1-x3+x6;

x4<1000-2*x1-x3-x7;

x4

x5

x5

@gin(x1);@gin(x2);@gin(x3);@gin(x4);@gin(x5);@gin(x6);@gin(x7);

end

运行结果为:

Global

optimal

solution

found.

Objective

value:

533.0000

Extended

solver

steps:

0

Total

solver

iterations:

26

Variable

Value

Reduced

Cost

X4

200.0000

-1.000000

X5

333.0000

-1.000000

X1

200.0000

0.000000

X2

533.0000

0.000000

X3

200.0000

0.000000

X6

333.0000

0.000000

X7

200.0000

0.000000

Row

Slack

or

Surplus

Dual

Price

1

533.0000

1.000000

2

800.0000

0.000000

3

467.0000

0.000000

4

400.0000

0.000000

5

0.000000

0.000000

6

1.000000

0.000000

7

1.000000

0.000000

8

200.0000

0.000000

9

799.0000

0.000000

10

0.000000

0.000000

11

0.000000

0.000000

12

0.000000

0.000000

13

0.000000

0.000000

由模型结果可知道此时的最优运输模式为:

分三趟运输:

第一趟:驮上1000根从起点出发,到达200公里处带上200根胡萝卜返回,留下剩下的600根;

第二趟:驮上1000根从起点出发,途经200公里处加上200根,再行至533公里处时带上333根胡萝卜返回,留下334根,返回到起点的途中经过200公里处时带上200根返回到起点;

第三趟:驮上1000根从S点出发,途经200公里处加上200根,再行走至533公里处加上333根(剩余1根浪费),一直行至终点。

最终能够驮到终点T的胡萝卜数是533根,这也是商人最多能卖出的胡萝卜数。

至此我们也证明了:当空载时也要吃胡萝卜时,533是该问题的最优解,即在此条件下,商人最多能卖出533根胡萝卜。

笑我一世沉沦 2022-07-08 19:18:52

相关推荐

让皮肤变好的方法 让皮肤越来越好的几种自然方法

1、早晚两杯白开水女人要做的是,至少早晚各一杯白开水。早上的一杯可以清洁肠道。补充夜间失去的水分,晚上的一杯则能保证一夜之间血液不至于因缺水而过于黏稠。血液黏稠会加快大脑的缺氧、色素的沉积,使衰老提前来临。因此...
展开详情

公务员面试礼仪 考试不要紧张放松心情

服饰。男性求职者一般都选择西装配领带,夏季可以选择衬衣配西裤。袜子以深色为主。女性求职者一般以职业装为主,夏天的常见搭配是白衬衣和黑色职业裙。鞋子以黑色为主。个人建议如果笔试排名较高,就以稳为主,穿搭不出错即可...
展开详情

2019属鸡全年运势男 下面一起来了解一下吧

吉运:生肖鸡男性2019年最喜的是官禄宫、遇到了文昌进贵,文昌贵人为天上掌管文书之神,故文昌有利学习、文书等事工作;适合莘莘学子或从事文书工作及以创作为业的人,男性遇到主升职加薪,当然对文科工作的帮助很大。学生...
展开详情

宝贝生日祝福语 有什么宝贝生日祝福语

宝宝,我祝福你:希望你身体强壮,快快长大,越长越可爱哦!把挚爱的生日祝愿,给事业贴心的女儿,愿在这特别幸福的一天,她时时欢笑快乐无边。生日快乐!愿你的生日特别快乐,你准会说:“天哪,过生日真叫人乐呵呵!”我的孩...
展开详情

双菇鸡肉如何做 双菇鸡肉怎样做

1、准备食材:一些杏鲍菇和鸡肉。2、将杏鲍菇切片。3、将杏鲍菇入锅焯水,捞出沥干。4、热锅冷油,将杏鲍菇放入锅中煸炒。5、然后加入鸡肉一起煸炒。6、接着加入适量水。7、加入适量盐。8、煸炒均匀即可。...
展开详情

精选推荐更多>

秋水伊人在眼前是什么意思

“秋水伊人在眼前”的意思是思念中的那个人就在眼前。
秋水伊人,汉语成语,拼音是qiū shuǐ yī rén,意思是指思念中的那个人。伊人的意思是那个人,多指女性。
出处:《诗经·秦风·蒹葭》:“蒹葭苍苍,白露为霜;所谓伊人,在水一方。”
译文:芦苇密密又苍苍,晶莹露水结成霜。我心中那好人儿,伫立在那河水旁。
成语用法:作宾语、定语;指见景思念的人。
示例:清·龚萼《雪鸿轩尺牍·答许葭村》:“登高望远,极目苍凉,正切秋水伊人之想。”

循环定义

循环的意思:
1、以环形、回路或轨道运行,沿曲折的路线运行。
2、特指运行一周而回到原处,再转。
3、反复地连续地做某事。
出处:
1、《战国策·燕策二》:“此必令其言如循环,用兵如刺蜚绣。”
2、《史记·高祖本纪论》:“三王之道若循环,终而复始。”
3、明张景《飞丸记·旅邸揣摩》:“寒暑兮往来相继,兴衰兮循环道理。”
4、巴金《秋》四十:“花谢花开,月圆月缺,都是循环无尽,这是很自然的事。”
循环指事物周而复始地运动或变化,意思是转了一圈又一圈,一次又一次地循回。可以简要地将基本思想表述如下:世界是按照极其漫长的时间周期,即所谓的“生成的大年”,周而复始地永恒循回;这个周期因为过于漫长而实际上无法预测,但又不是完全确定的;在这个永恒循环的过程中,世上的一切,包括我们每个人以及我们一生中的每个细节,都已经并且将要无数次地按照完全相同的样子重现,绝不会有丝毫改变。

狗尾续貂的主人公是谁

“狗尾续貂”的主人公是晋朝的赵王司马伦。出自唐·房玄龄《晋书·赵王伦传》:“奴卒厮役亦加以爵位。每朝会,貂蝉盈坐,时人为之谚曰:‘貂不足,狗尾续。’”
司马伦(?-公元301年6月5日),字子彝,河内温县(今河南省温县)人。西晋宗室、大臣,晋宣帝司马懿第九子,晋景帝司马师、晋文帝司马昭幼弟。母为柏夫人,“八王之乱”的参与者之一。
司马伦初仕曹魏,封安乐亭侯。五等制建立后,封东安县子,授谏议大夫。西晋建立后,封琅琊郡王,授宣威将军。迁安北将军、镇守邺城,改封赵王。迁征西将军,镇守关中。刑赏不明,激发羌族和氐族反叛。入为车骑将军、太子太傅。
狗尾续貂(拼音:gǒu wěi xù diāo)是一个成语,古代官员以貂尾为冠饰,晋代封官太滥,貂尾不足,以狗尾替貂;比喻用次品续在珍品之后,多用于形容续写的文学作品不如原来的好。含贬义;在句中一般作主语、谓语、定语。
寓意:
这个成语告诉人们,做一件事情,既然做了,就自始至终把它做好。不要在事情接近尾音之时,因为种种原因而写下败笔的结局部分,它会折损之前所有的努力,削减所累积的高度。

是什么数学符号

?不是数学符号。
?这个符号是表示疑问的标点符号。用于疑问、设问、反问句等句型的末尾。问号是语气语调的辅助符号工具,表示一句话完了之后的停顿、语气。疑问句末尾的停顿,用问号。
用法:
1、选择问句中,选择项较短,选择项之间可不用逗号,只在句末用问号。
2、选择问句中,有时为了加强语气,也可以在每个分句的末尾用问号。
3、对句子里某一词语有疑问,用问号表示。注:这种用法用得不多。
4、对生年、卒年不详或有疑问的,用问号表示。
5、疑问句构成的文章标题或小标题后面用问号。
6、一般疑问句用问号,非疑问句误用问号。
7、选择问句中,问号只用在句末,分句之间用逗号隔开。
8、倒装问句中,问号放在句尾。主语和谓语之间用逗号隔开。
常见热点问答
热点搜索
1-20
21-40
41-60
61-80
81-100
101-120
121-140
141-160
161-180
181-200
作文大全
1-20
21-40
41-60
61-80
81-100
101-120
121-140
141-160
161-180
181-200