商人过河优化模型
- 格式:doc
- 大小:233.50 KB
- 文档页数:9
数学建模实验一报告实验题目:研究商人过河问题一、实验目的:编写一个程序(可以是C,C++或Mathlab )实现商人安全过河问题。
二、实验环境:Turbo c 2.0、Microsoft Visual C++ 6.0、Matlab 6.0以上 三、实验要求:要求该程序不仅能找出一组安全过河的可行方案,还可以得到所有的安全过河可行方案。
并且该程序具有一定的可扩展性,即不仅可以实现3个商人,3个随从的过河问题。
还应能实现 n 个商人,n 个随从的过河问题以及n 个不同对象且每个对象有m 个元素问题(说明:对于3个商人,3个随从问题分别对应于n=2,m=3)的过河问题。
从而给出课后习题5(n=4,m=1)的全部安全过河方案。
四、实验步骤:第一步:问题分析。
这是一个多步决策过程,涉及到每一次船上的人员以及要考虑此岸和彼岸上剩余的商人数和随从数,在安全的条件下(两岸的随从数不比商人多),经有限步使全体人员过河。
第二步:分析模型的构成。
记第k 次渡河前此岸的商人数为k x ,随从数为k y ,2,1=k ,n y x k k 2,1,=,(具有可扩展性),将)(k k y x ,定义为状态,状态集合成为允许状态集合(S )。
S={2,1;3,2,1,0,3;3,2,1,0,0|,======y x y x y x y x )(}记第k 次渡船的商人数为k u ,随从数为k v ,决策为),(k k v u ,安全渡河条件下,决策的集合为允许决策集合。
允许决策集合记作D ,所以D={2,1,0,,21|,=<+<v u v u v u )(|1<u+v<2,u,v=0,1,2},因为k 为奇数时船从此岸驶向彼岸,k 为偶数时船由彼岸驶向此岸,所以状态k s 随决策k d 变化的规律是k k k k d s s )1(1-+=-,此式为状态转移律。
制定安全渡河方案归结为如下的多步决策模型:求决策)2,1(n k D d k =∈,使状态S s k ∈按照转移律,由初始状态)3,3(1=s 经有限n 步到达)0,0(1=+n s第三步:模型求解。
学号:20092122103 姓名:郑少钊数学实验作业实验一商人们怎样安全过河有3个商人带着随从要过一条河。
随从们密约,在河的任一岸,一旦随从的人数比商人多,就杀人越货。
但是乘船渡河的方案由商人决定,商人们怎样才能安全过河。
假设每人都会划船,小船一次只能容纳2人,且船载起始岸边。
请给出安全过河的最佳方案。
解:模型建立:用三元组(x,y,z)表示渡河过程中的某个状态x-----起始岸边上商人的个数y-----起始岸边随从的个数z-----小船的位置(z为1时,表示小船在起始岸边,为0时,表示小船在目的的岸边)其中一种方案:(3,3,0)---(2,2,1)---(3,2,0)---(3,0,1)---(3,1,0)---(1,1,1)---(2,2,0)---(0,2,1)---(.0,3,0)---(0,1,1)---(0,2,0)---(0,0,1)实验四最短总航线问题下表给出世界六大城市(伦敦、墨西哥城、纽约、巴黎、北京和东京)之间的航线距离(以英里为单位),试确定连通这六大城市的最短总航线。
解:由上表可得图如下:A:伦敦;B:墨西哥城;C:纽约;D:巴黎;E:北京;F:东京用MATLAB软件求解,代码如下:(Prim算法)cleara=[0 5558 3469 214 5074 5959;5558 0 2090 5725 7753 7035;3469 2090 0 3636 6844 6757;214 5725 3636 0 5120 6053;5074 7753 6844 5120 0 1307;5959 7035 6757 6053 1307 0;]T=[];c=0;v=1;n=6;sb=2:n;for j=2:nb(1,j-1)=1;b(2,j-1)=j;b(3,j-1)=a(1,j);endwhile size(T,2)<n-1[tmin,i]=min(b(3,:));T(:,size(T,2)+1)=b(:,i)c=c+b(3,i);v=b(2,i);temb=find(sb==b(2,i));sb(temb)=[];b(:,i)=[];for j=1:length(sb)d=a(v,b(2,j));if d<b(3,j)b(1,j)=v;b(3,j)=d;endendendT,c结果如下:T =1 1 3 1 54 3 25 6214 3469 2090 5074 1307c =12154因此,上图的最小生成树的边集合为{(1,4),(1,3),(3,2),(1,5),(5,6) },最短总航线为12154.实验一求最短路问题求图14.9所示的有向网络中点1到点6的最短有向路。
数学建模课程作业论文题目:对商人过河问题的研究指导教师:黄光辉小组成员:黄志宇(20156260)车辆工程04班牛凯春(20151927)电气工程05班文逸楚(20150382)工商管理02班一、问题重述3名商人带3名随从乘一条小船过河,小船每次只能承载至多两人。
随从们密约,在河的任一岸,一旦随从的人数比商人多,就杀人越货。
乘船渡河的方案由商人决定,商人们如何才能安全渡河呢?二、问题分析本题针对商人们能否安全过河问题,需要选择一种合理的过河方案。
对该问题可视为一个多步决策模型,通过对每一次过河的方案的筛选优化,最终得到商人们全部安全过到河对岸的最优决策方案。
对于每一次的过河过程都看成一个随机决策状态量,商人们能够安全到达彼岸或此岸我们可以看成目标决策允许的状态量,通过对允许的状态量的层层筛选,从而得到过河的目标。
三、模型假设1.过河途中不会出现不可抗力的自然因素。
2.当随从人数大于商人数时,随从们不会改变杀人的计划。
3.船的质量很好,在多次满载的情况下也能正常运作。
4.随从会听从商人的调度,所有人都到达河对岸。
四、符号说明第k次渡河前此岸的商人数第k次渡河前此岸的随从数过程的状态向量允许状态集合第k次渡船上的商人数第k次渡船上的随从数决策向量允许决策集合x y 3322110s 1s n +1d 1d 11五、模型建立本题为多步决策模型,每一次过河都是状态量的转移过程。
用二维向量表示过程的状态,其中分别表示对应时刻此岸的商人,仆人数以及船的行进方向,其中则允许状态集合:=又将二维向量定义为决策,则允许的决策合集为:因为k 为奇数时船从此岸驶向彼岸,k 为偶数时船从彼岸驶向此岸,所以状态随决策的变化规律是该式称为状态转移律。
求决策,使,并按照转移律,由经过有限步n 到达状态六、模型求解本模型使用MATLAB 软件编程,通过穷举法获得决策方案如下(完整matlab 程序详见附录):初始状态:可用图片表示为:X0=33状态为:S =3132303111220203010200决策为:D =0201020120112001020102七、模型推广该商人和随从过河模型可以完美解决此类商人过河的决策问题,并且该模型还可推广至解决m个商人和n个随从过河,以及小船的最大载重人数改变时的问题,只需适当地改变相关的语句即可轻松实现模型的转换。
数学建模案例精选知到章节测试答案智慧树2023年最新济南大学第一章测试1.在商人过河问题中,如果设彼岸的人数情况为案例中的变量,则状态转移函数变为()参考答案:s k+1=s k +(-1)k+1 d k2.下面哪一个不是商人过河允许的状态()参考答案:(2,1)3.关于商人过河问题,下面说法错误的是()参考答案:商人过河要保证每一岸的商人数和随从数一样多4.关于路障间距设计问题,说法不正确的()参考答案:不可以假设汽车做匀速运动5.关于机理分析说法不正确的是()参考答案:将研究对象看做一个黑箱第二章测试1.Lingo软件不可以直接求解哪一类优化模型().参考答案:多目标规划2.在露天矿生产的车辆安排问题中,已知铲位1到岩石漏距离为5.26km,车辆平均速度为28km/h,请问这条线路上运行一个周期平均所需时间Tij为()(请保留两位小数).参考答案:8.38;30.54;19.273.在露天矿生产的车辆安排问题中,基本假设不变,若某天线路上的T ij=19分钟,车辆开始工作的时间可以不同,工作后车辆不会发生等待,则该线路上最多可以安排()辆卡车?参考答案:44.在露天矿生产的车辆安排问题中,基本假设不变,若某天线路上的Tij=17分钟,安排3辆车在该线路上工作,开始工作的时间可以不同,开始工作后车辆不会发生等待,则三辆车在一个班次内的最大运算趟数是()?参考答案:28,27,275.在露天矿生产的车辆安排问题中,基本假设不变,车辆开始工作的时间可以不同,开始工作后车辆不会发生等待,若可以安排3辆车在同一条线路上工作,则三辆车在一个班次(8小时)内的工作时间(分钟)不可能是().参考答案:479,471,474第三章测试1.假设快速喝下1瓶啤酒,酒精从肠胃向体液的转移速度与胃肠中的酒精含量x成正比,比例系数为k,则得到的微分方程为?()。
参考答案:2.模型中有未知参数,给定了测试数据,确定参数的最佳方法为()。
问题引出问题:三名商人各带一个随从过河,一只小船只能容纳两个人,随从们约定,只要在河的任何一岸,一旦随从人数多于商人人数就杀人越货,但是商人们知道了他们的约定,并且如何过河的大权掌握在商人们手中,商人们该采取怎样的策略才能安全过河呢?这次的问题是一个很经常遇到的过河问题,其实对于该类问题,我们经过逻辑思考就可以得到答案。
但是通过数学模型的建立,我们可以得到一个通用的解答,并且通过计算机的计算我们可以大大扩大问题的规模。
问题分析因为这个问题已经理想化了,所以我们无需对模型进行假设,该问题可以看作一个多步决策问题。
每一步,船由此岸划到彼岸或者由彼岸划回此岸,都要对船上的人员进行决策(此次渡河船上可以有几名商人和几名随从),在保证安全(两岸的随从都不比商人多)的前提下,在有限次的决策中使得所有人都到对岸去。
因此,我们要做的就是要确定每一步的决策,达到渡河的目标。
建立模型记第k 次过河前此岸的商人数为x k , 随从数为y k, k = 1, 2, 3…, x k ,yk = 0, 1, 2, 3定义状态:将二维向量s k = ( x k , y k ) 定义为状态将安全渡河状态下的状态集合定义为允许状态集合,记为S = {(x,y) | x=0,y=0,1,2,3; x=y=1; x=y=2; x=3,y=0,1,2,3}记第k 次渡河船上的商人数为u k,随从数为v k定义决策:将二维向量d k = (u k , v k) 定义为决策允许决策集合记作D = {(u,v) | 1 ≤ u+v ≤ 2, u,v = 0,1,2}因为小船容量为2,所以船上人员不能超过2,而且至少要有一个人划船,由此得到上式。
由我们定义的状态s k和决策d k,我们可以发现它们之间是存在联系的:•k 为奇数是表示船由此岸划向彼岸,k 为偶数时表示船由彼岸划回此岸••状态s k是随着决策d k变化的,规律为:•s k+1 = s k + (-1)k d k我们把上式称为状态转移律,因此渡河方案可以抽象为如下的多步决策模型:求决策d k∈D(k = 1,2,…,n) , 使状态s k∈S 按照转移率,初始状态s1 = (3,3) 经有限步n 到达状态s n+1= (0,0)到这里,整个数学模型就已经非常清晰了,接下来要做的就是求解模型得出结果。
商人过河一、问题重述问题一:4个商人带着4个随从过河,过河的工具只有一艘小船,只能同时载两个人过河,包括划船的人。
随从们密约,在河的任一岸,一旦随从的人数比商人多,就杀人越货。
乘船渡河的方案由商人决定。
商人们怎样才能安全过河?问题二:假如小船可以容3人,请问最多可以有几名商人各带一名随从安全过河。
二、问题分析问题可以看做一个多步决策过程。
每一步由此岸到彼岸或彼岸到此岸船上的人员在安全的前提下(两岸的随从数不比商人多),经有限步使全体人员过河。
用状态变量表示某一岸的人员状况,决策变量表示船上的人员情况,可以找出状态随决策变化的规律。
问题就转换为在状态的允许变化范围内(即安全渡河条件),确定每一步的决策,达到安全渡河的目标。
三.问题假设1.过河途中不会出现不可抗力的自然因素。
2.当随从人数大于商人数时,随从们不会改变杀人的计划。
3.船的质量很好,在多次满载的情况下也能正常运作。
4.随从会听从商人的调度。
四、模型构成x(k)~第k次渡河前此岸的商人数x(k),y(k)=0,1,2,3,4;y(k)~第k次渡河前此岸的随从数k=1,2,…..s(k)=[x(k),y(k)]~过程的状态S~允许状态集合S={(x,y)x=0,y=0,1,2,3,4;x=4,y=0,1,2,3,4;x=y=1,2,3}u(k)~第k次渡船上的商人数u(k),v(k)=0,1,2;k(1) kv(k)~ 第 k 次渡船上的随从数k=1,2…..d(k)=( u(k), v(k))~过程的决策 D~允许决策集合D={u,v u+v=1,2,u,v=0,1,2}状态因决策而改变 s(k+1)=s(k)+(-1)^k*d(k)~状态转移律 求 d(k)D(k=1,2,….n), 使 s(k)S 并 按 转 移 律s(k+1)=s(k)+(-1)^k*d(k)由(4,4)到达(0,0)随从 y商人 x数学模型:S k+1=S +(-1)D kx + x ' = 4kky + y ' = 4k k(2)(3)x ≥ y k.k (4)x ' ≥ y 'kk模型分析:由(2)(3)(5)可得(5)4 - x ≥ 4 - ykk化简得(( ( (( ( k(10) k综合(4)可得x = yk还要考虑x ≤ ykkk 和 S k = { x k , y k ) | x k = 0, y k = 0,1,2,3,4 }(6)S ' = { x ', y ') | x ' = 0, y ' = 0,1,2,3,4 }kkkkk(7)把(2)(3)带入(7)可得S = {(4 - x ,4 - y ) | 4 - x = 0,4 - y = 0,1,2,3,4 }kk k k k化简得S = { x , y ) | x = 4, y = 0,1,2,3,4 }kk k k k综合(6)(7)(8)式可得满足条件的情况满足下式S = { x , y ) | x = 0,4, y = 0,1,2,3,4; x = ykkkkk k k所以我们知道满足条件的点如上图所示:点移动由}(8)(9)S = { x , y ) | x = 4, y = 0,1,2,3,4 }kkkkk(8)到达S = { x , y ) | x = 0, y = 0,1,2,3,4 }kkkkk(6)时,可以认为完成渡河。
商人渡河模型一:问题描述三名商人各带一个仆人乘船渡河,—只小船只能容纳二人,仆人们密约,在河的任一岸,一旦仆人的人数比商人多,就杀人越货.但是如何乘船渡河的大权掌握在商人们手中。
商人们怎样才能安全渡河呢?二:问题分析:安全渡河问题可以视为一个多步决策过程(多步决策:决策过程难以一次完成,而要分步优化,最后获取一个全局最优方案的决策方法)。
每一步,即船由此岸驶向彼岸或从彼岸驶回此岸,都要对船上的人员(商人仆人各几人)作出决策,在保证安全的前提下(两岸的商人数都不比仆人数少),在有限步内使人员全部过河.用状态(变量)表示某一岸的人员状况,决策(变量)表示船上的人员状况,可以找出状态随决策变化的规律.问题转化为在状态的允许变化范围内(即安全渡河条件),确定每一步的决策,达到渡河的目标。
三:模型建立:a)定义允许状态集合记第k次渡河前此岸的商人数为X k,仆人数为Y k,k=1,2,3…..;X k,Y k取值0,1,2,3。
定义二维向量: S k =(X k,Y k)为状态。
定义安全渡河允许状态集合:S = {(X,Y)|X=0,Y=0,1,2,3;X=Y=1,2;X=3,Y=0,1,2,3}b)定义允许决策集合记第k次船上的商人数为U k,仆人数为V k,k=1,2,3…..;定义二维向量:D k =(U k,V k)为决策。
定义允许决策集合:D={(U,V)|1=<U+V<=3,u,v=0,1,2}c)人数变化规律当渡河次数k为奇数时,船从此岸驶向彼岸,k为偶数时,船由彼岸驶向此岸,此时状态S k和D k的变化规律为:S k+1 = S +(-1)K D Kd) 问题转化经过分析,问题可转化为求决策D k,使状态S k按照人数变化规律变化,由初始状态S k=(3,3)经过有限步N到达状态S N+1=(0,0)。
四:模型求解1)图解法:在Oxy 平面坐标系中画出图(1)类型的方格,方格点表示状态s=(x,y),允许的状态集合S用圆点标出。
2011高教社杯全国大学生数学建模竞赛承诺书我们仔细阅读了中国大学生数学建模竞赛的竞赛规则.我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。
我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。
我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。
如有违反竞赛规则的行为,我们将受到严肃处理。
我们参赛选择的题号是(从A/B/C/D中选择一项填写): B我们的参赛报名号为(如果赛区设置报名号的话):所属学校(请填写完整的全名):西京学院参赛队员(打印并签名) :1. 邹高永2. 张大伟3. 钱晓东指导教师或指导教师组负责人(打印并签名):日期:年月日赛区评阅编号(由赛区组委会评阅前进行编号):2011高教社杯全国大学生数学建模竞赛编号专用页赛区评阅编号(由赛区组委会评阅前进行编号):赛区评阅记录(可供赛区评阅时使用):评阅人评分备注全国统一编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅前进行编号):商人过河摘要本文针对商人安全渡河的问题,采用多步决策的过程建立数学模型,求解得到了在随从没有杀人越货的情况下的渡河方案。
对于本题而言,在3名商人、3名随从、船的最大容量为2的情况下,首先定义了渡河前此岸的状态,并设安全渡河条件下的状态集定义为允许状态集合,接着得到渡河方案的允许决策集合,然后得到状态随渡河方案变化的规律,最后利用平面坐标分析法,并利用计算机进行了仿真,得到了一种商人安全渡河的方案。
但是,本文不仅仅是为了拼凑出一个可行方案,而是希望能找到求解这类问题的规律性,并建立数学模型,用以解决更为广泛的问题。
基于此目的,利用了dijkstra算法,得到最短路径的最优解。
但同时由于该算法遍历计算的节点很多,所以效率低,而且当有多个最短距离时,不能够将所有符合条件的情况逐一列出。
最后,从这类问题解得趣味性、合理性进行了深入讨论,得到了“传教士与野蛮人渡河”,“印度夫妻渡河”等问题通用的模型,并将其进行了推广。
这也是本文的一大特色。
关键词渡河问题状态集合决策集合平面坐标dijkstra算法1 问题重述三名商人各带一个随从乘船渡河,一只小船只能容纳二人,由他们自己划行。
随从们密约,在河的任意一岸,一旦随从的人数比商人多,就杀人越货.但是如何乘船渡河的大权掌握在商人们手中。
商人们怎样才能安全渡河呢?同时,推广到四名商人带四名随从又如何?2 问题分析安全渡河问题可以看成一个多步决策过程。
每一步,即船由此岸驶向彼岸或从彼岸驶回此岸,都要对船上的人员(商人随从各几人)作出决策,在保证安全的前提下(两岸的商人数都不比随从数少),在有限步内使人员全部过河。
用状态(变量)表示某一岸的人员状况,决策(变量)表示船上的人员状况,可以找出状态随决策变化的规律。
问题转化为在状态的允许变化范围内(即安全渡河条件),确定每一步的决策,达到渡河的目的。
此类智力问题经过思考,可以拼凑出一个可行方案。
但是,我们现在希望能找到求解这类问题的规律性,并建立数学模型,用以解决更为广泛的问题。
3 模型假设及符号说明3.1 模型假设(1)每个商人和随从都会划船;(2)只有一条船,且每条船上最多只能乘坐两个人;(3)所有商人与随从之间没有矛盾,不会出现两人不愿意坐一条船的现象;(4)船在渡河的过程中不受外界环境的影响。
3.2 符号说明A初始状态下,商人和随从所在的一岸;B初始状态下,商人和随从欲到达的一岸;x第k次渡河前,A岸的商人数;ky第k次渡河前,A岸的随从数;kS渡河前A岸商人与随从数的状态;kS 渡河前A 岸商人与随从数的允许状态的集合;k u 第k 次渡河时,船上的乘坐商人数; k v 第k 次渡河时,船上的乘坐随从数; k d 第k 次渡河方案的决策;D 渡河方案的允许决策集合k D 第k 次状态的转移4 模型的建立与求解4.1 模型的建立根据题意,可以作出商人渡河初始状态的示意图:渡河目的:A ——>B (选择A 岸为参考点)记第k 次渡河前A 岸的商人数为k x ,随从数为k y ,1,2,,k m = ,且,0,1,2,3k k x y =将二维向量(,)k k k S x y =定义为状态,安全渡河条件下的状态集定义为允许状态集合,记为S ,因此有:{},y |0,3; y 0, 1, 2, 31;y 0, 12;y 0, 1,2S x x x x =======()或或 (1) 记第k 次渡河时,船上的乘坐商人数为k u ,随从数为k v ,将二维向量(,)k k k d u v =定义为第k 次渡河方案的决策,渡河方案的允许决策集合记为D 根据题意可知,船的容量是一定的,因此,得{}(,)|+1,2D u v u v == (2)因为当21k n =-时,船由A 岸驶向B 岸;当2k n =时,船由B 岸驶向A 岸。
所以状态k S 随着k d 的变化的规律为:1(1)k k k k S S d +=+- (3)这样,制定安全渡河方案归结为如下的多步决策问题:即:求决策(1,2,,)k d D k m ∈= ,使状态k S S ∈。
按照转移规律,由初始状态()13,3S =经有限m 步后到达状态1(0,0)m S +=。
4.2 模型的求解根据(1)(2)(3)式,通过利用matlab 编写一段程序来求解多步决策问题是可行的,但是当商人和随从数都不多的情况下还可以用平面坐标法解此模型更为方便。
接下来,我们先用平面坐标法求解此模型,最后再使用计算机仿真,对求解的结果进行验证,并给予推广。
4.2.1 平面坐标法设x 为商人数,y 为随从数。
在xoy 平面坐标系上作分析。
先标出此案的安全状态点。
起始点-----(3,3);最终点-----(0,0)即模型求解就是探求从状态(3,3)经过有限次转移之后到达状态(0,0)的方案。
设k D 为第k 次状态的转移,当21k n =-时,船由A 岸驶向B 岸,此时,x y 只能减少,不能增加。
故坐标点只能向左下方移动。
由于受船的容量的限制,x y +至多减少2,即至多只能向左下方移动两格。
如下图所示:从图中可以看出,在这种渡河方案中,时刻都能够确保“两岸安全”,不会出现随从们“杀人越货”。
4.2.2 计算机仿真通过利用matlab编写一段程序来求解这种多步决策问题[见附件:程序一],当我们将商人数与随从数以及船的容量按照题意输入时,便会得到商人们的渡河方案如下:表 1 4种可供商人选择的不同渡河方案经检验,结果与使用平面坐标法得到的结果完全一致。
通过计算机仿真,当题目中给定出任意数量的商人,随从,以及规定出任意船的容量,都可以判断出“商人们能否安全渡河?”以及解决“如果能,那么安全渡河的方案是什么?”的问题。
从而使这个模型更具有一定的推广价值。
5 模型的评价与改进5.1 模型的评价5.1.1 模型的优点(1)采用了较为成熟的数学理论建立模型,可行度比较高;(2)在讨论商人安全渡河的方案时,运用了图表,比较直观;(3)模型的求解运用了强大的matlab软件,结果可信度高,便于推广;(4)通过matlab程序,能判断出“当任意个商人﹑任意个随从﹑船的容量任意时,商人能否安全渡河?”及解决了“如果能,那么渡河方案又是什么?”的问题,使得所建模型更加全面。
5.1.2 模型的缺点(1)利用平面坐标法求解该模型时,出现了明显的遗漏,考虑的不够全面;(2)没有找到商人数﹑随从数及船的容量之间的数量关系;(3)没有考虑到实际生活中,在安全渡河的前提下,商人过河的优先级应高于随从。
5.2 模型的改进基于以上求解模型用到的方法,我们明显意识到了结果考虑到的不够全面。
为此,我们利用dijkstra算法,通过相应程序求解前面模型[见附件:程序二],得到最短路径的最优解。
但同时由于该算法遍历计算的节点很多,所以效率低。
而且当有多个最短距离时,不能够将所有符合条件的情况逐一列出。
综合以上的努力,我们与致力于研究出一套方案:即给出任意个商人与任意个随从以及船的容量任意的时候,都可以给出安全渡河的方案;并且在给出商人数、随从数、船的容量中任意两者,并要使其能够安全渡河情况下的第三者的取值范围,以及得到最优的渡河方案。
由于水平有限,我们只能提出这个美好的想法,用某种方法能把在所有安全状态集合和决策集合中,搜索出所有可能的解,从而从其中找出最优的解。
6 模型的推广“商人渡河”模型适合于解决很多问题,如“传教士与野蛮人渡河”,“印度夫妻渡河”等。
这些问题本质上都是相同或相似的,由此可见这个趣味问题流传的广泛性。
另外还有所谓“人狗鸡米过河”问题,也是颇有趣味的,人、狗、鸡、米均要过河,船需人划,而船上至多还可载一物,但若人不在时,狗会吃鸡,鸡会吃米,问如何设计安全过河方案。
我们完全可以仿照商人渡河问题建立一个多步决策模型,将上述算法稍作修改,就可以得到它的解。
这里就不再赘述了。
另外,用一定容积的若干油瓶倒出一定量的油的问题也属此类问题。
7 参考文献[1]数学建模案例分析白其峥主编北京:海洋出版社,2000[2]数模竞赛赛题简析与论文点评:西安交大近年参赛论文选编赫孝良等[选编] 西安:西安交通大学出版社,2002[3]百度百科文献访问日期 2011年8月25日[4]《数学模型精品课程》第四章/courses/sxmx/sm2/sm2252.htm网站制作日期2010年7月14日。