商人安全过河问题

合集下载

5---安全渡河问题

5---安全渡河问题
S k = ( xk , yk )
k
决策, 决策,取奇偶数与前面表示意义相同,则状 态转移满足下列关系:
S k +1 = S k + (−1) k d k

• 我们的问题就成为:求决策
kSk ∈ S来自dk ∈ D( =1,2,…)使 • 状态按(2.2.1)式由初始状态 状态按(2. 1)式由初始状态 经步转移到 的最小 的n值。
• 为便于计算机求解,记允许状态集合和决
策向量集合分别为
D = {(u , v) u + v = 1,2, ; u , v = 0,1,2} S = {( x, y ) x = 0, y = 0,1,2,3; x = 3, y = 0,1,2,3; x = y = 1,2}
• 并以 , • =1,2,…表示状态变化过程,表示过河
安全渡河问题
问题:三名商人各带一名随从乘船渡河,一只小船只能容纳 二人,由他们自己划行。随从们密约,在河的任一岸,一旦 随从的人数比商人多,就杀人越货。但是如何乘船渡河的大 权掌握在商人们手中。商人们怎样才能安全渡河呢?
• 这是一道阿拉伯早期的智力题,有多种解法,下面介绍 • •
• • •
两种。 1.应用状态转移法求解 商人过河问题同样是带有约束条件的过河问题,可视为 一个多步决策过程,每一步,即船由南岸到北岸或由北岸 到南岸,都要对船上人员(商人、随从各几人) 到南岸,都要对船上人员(商人、随从各几人)作出决策, 在允许的前提下,有限次内使三对商人全部过河。 记第次过河前南岸的商人数为,随从数为,=,,=0 记第次过河前南岸的商人数为,随从数为,=,,=0, 1,2,3,则状态向量可表为(,),所有可能状态共16个, ,则状态向量可表为( ,所有可能状态共16个, 其可取状态或允许状态有10个: 其可取状态或允许状态有10个: (0,0).(0,1),(0,2),(0,3),(3,0) (0,0).(0,1),(0,2),(0,3),(3, (3,1),(3,2),(3,3),(1,1),(2,2) (3,1),(3,2),(3,3),(1,1),(2,

商人过河模型

商人过河模型

商人过河模型商人过河摘要本文针对商人安全渡河的问题,采用多步决策的过程建立数学模型,求解得到了在随从没有杀人越货的情况下的渡河方案。

对于本题而言,在3名商人、3名随从、船的最大容量为2的情况下,首先定义了渡河前此岸的状态,并设安全渡河条件下的状态集定义为允许状态集合,接着得到渡河方案的允许决策集合,然后得到状态随渡河方案变化的规律,最后利用平面坐标分析法,并利用计算机进行了仿真,得到了一种商人安全渡河的方案。

但是,本文不仅仅是为了拼凑出一个可行方案,而是希望能找到求解这类问题的规律性,并建立数学模型,用以解决更为广泛的问题。

基于此目的,利用图解法和算法,得到最短路径的最优解。

但同时由于该算法遍历计算的节点很多,所以效率低,而且当有多个最短距离时,不能够将所有符合条件的情况逐一列出。

最后,从这类问题解得趣味性、合理性进行了深入讨论,得到了“传教士与野蛮人渡河”,“印度夫妻渡河”等问题通用的模型,并将其进行了推广。

这也是本文的一大特色。

关键词渡河问题状态集合决策集合平面坐标图解法算法一、问题提出问题: 三名商人各带一个随从过河,一只小船只能容纳两个人,随从们约定,只要在河的任何一岸,一旦随从人数多于商人人数就杀人越货,但是商人们知道了他们的约定,并且如何过河的大权掌握在商人们手中,商人们该采取怎样的策略才能安全过河呢?二、问题分析这个问题已经理想化了,所以我们无需对模型进行假设,该问题可以看作一个多步决策问题。

每一步,船由此岸划到彼岸或者由彼岸划回此岸,都要对船上的人员进行决策(此次渡河船上可以有几名商人和几名随从),在保证安全(两岸的随从都不比商人多)的前提下,在有限次的决策中使得所有人都到对岸去。

因此,我们要做的就是要确定每一步的决策,达到渡河的目标。

三、模型假设与建立记第次过河前此岸的商人数为k x , 随从数为k y ,1,2,,k m =,,0,1,2,3k k x y =定义状态:将二维向量(,)k k k S x y =定义为状态,将安全渡河状态下的状态集合定义为允许状态集合, 记为{},y |0,3; y 0, 1, 2, 31;y 0, 12;y 0, 1,2S x x x x =======()或或记第 次渡河船上的商人数为 k u ,随从数为k v .定义决策:将二维向量(,)k k k d u v = 定义为决策;允许决策集合 记作:{}(,)|+1,2D u v u v ==因为小船容量为2,所以船上人员不能超过2,而且至少要有一个人划船,由此得到上式。

动态规划第7讲 - 商人过河问题

动态规划第7讲 - 商人过河问题

8.7 动态规划:商人过河问题问题提出三名商人各带一个随从乘船渡河(A岸到B岸)。

现此岸有一小船只能容纳两人,由他们自己划行。

若在河的任一岸随从人数比商人多,他们就可能杀人越货。

不过如何乘船渡河的大权由商人们掌握。

商人们怎样才能安全过河呢?模型建立此问题可视为一个多步决策模型建立决策变量:(a,b)a------船上的商人数b ------船上的随从数a,b的取值范围:{0,1,2}且满足a+b<=2,且均为整数。

允许决策集合:D={(a,b)|a+b=1,2}={(0,1), (0,2), (1,1), (1,0), (2,0)}模型求解这样问题要求由(3,3,1)变到(0,0,0)的一条道路。

根据题意,状态转移时要满足一定的规则:1. Z从1变为0与从0变为1交替进行(船在哪个岸);2. 当Z从1变为0时,即船从A岸到B岸,A岸人数减少1或2个;即(x,y,1)→(u,v,0)时, u≤x, v≤y, u+v=x+y-1 oru+v=x+y-23. 当Z从0变为1时,即船从B岸到A岸,A岸人数增加1或2个;即(x,y,0)→(u,v,1)时, u≥x, v≥y,u+v=x+y+1 oru+v=x+y+24. 不重复已出现过的状态,如(3,3,1)→(3,1,0)→(3,3,1);按照以上规则,求解过程如下从(3,2,0)只能到达(3,3,1)/*不必考虑*/从(3,3,1)出发(3,2,0)(3,1,0)如右图(2,2,0)(3,3,1)(3,2,0)(3,1,0)(2,2,0)从(3,1,0)出发(3,3,1) /*不必考虑*/(3,2,1)/*可取*/从(2,2,0)出发(3,3,1) /*不必考虑*/(3,2,1)/*可取*/模型求解如下图所示:逐步求解,可得:模型求解由此可得到渡河策略:(3,3,1) (3,2,1)→(3,0,0)→(3,1,1)→(1,1,0)→(2,2,1)→(0,2,0)→(0,3,1)→(0,1,0) (0,0,0)(2,2,0)(3,1,0)(1,1,1)(0,2,1)模型求解思考(1) 夫妻过河问题有三对夫妻要过河,船最多可载两人。

4名商人带4名随从安全过河

4名商人带4名随从安全过河

4名商人带4名随从安全过河一.问题提出:4名商人带4名随从乘一条小船过河,小船每次自能承载至多两人。

随从们密约, 在河的任一岸, 一旦随从的人数比商人多, 就杀人越货.乘船渡河的方案由商人决定,商人们如何才能安全渡河呢?二.模型假设:商人和随从都会划船。

三.问题分析:商随过河问题可以视为一个多步决策过程,通过多次优化,最后获取一个全局最优的决策方案。

对于每一步,即船由此岸驶向彼岸或由彼岸驶向此岸,都要对船上的人员作出决策,在保证两岸的商人数不少于随从数的前提下,在有限步内使全部人员过河。

用状态变量表示某一岸的人员状况,决策变量表示船上的人员状况,可以找出状态随决策变化的规律,问题转化为在状态的允许变化范围内(即安全渡河条件),确定每一步的决策,达到安全渡河的目标。

四.模型构成:xk~第k次渡河前此岸的商人数,yk~第k次渡河前此岸的随从数xk, yk=0,1,2,3,4; k=1,2,……Sk=(xk, yk)~过程的状态,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} uk~第k次渡船上的商人数vk~第k次渡船上的随从数dk=(uk, vk)~决策,D={(u , v)| 1=<u+v=<2,uk, vk=0,1,2} ~允许决策集合 k=1,2,……因为k为奇数时船从此岸驶向彼岸,k为偶数时船从彼岸驶向此岸,所以状态Sk随决策dk的变化规律是Sk1=Sk+(-1)k dk~状态转移律求dk∈D(k=1,2, …n), 使Sk∈S, 并按转移律由S1=(4,4)到达状态Sn1=(0,0)。

五.模型求解:1.图解法:对于人数不多的情况,可以利用图解法来求解。

在xoy平面坐标系上画出如图所示的方格,方格点表示状态s=(x,y),允许状态集合S是圆点标出的13个格子点,允许决策dk是沿方格线移动1格或2格,k为奇数时向左、下方移动,k为偶数时向右、上方移动。

商人过河问题

商人过河问题

商人过河问题一、三名商人各带一名随从的情况1.问题(略)2.模型假设①当一边岸满足随从数大于商人数,但商人数为0时仍为一种安全状态;②小船至多可容纳2人,且渡河时由随从(或者商人)来划船。

3.分析与建模商人过河需要一步一步实现,比如第一步:两个仆人过河,第二步:一个仆人驾船回来,第三步:又是两个仆人过河,第四步:……其中每一步都使当前状态发生变化,而且是从一种安全状态变为另一种安全状态。

如果我们把每一种安全状态看成一个点,又如果存在某种过河方式使状态a变到状态b,则在点a和点b之间连一条边,这样我们把商人过河问题和图联系起来,有可能用图论方法来解决商人过河问题。

建模步骤:⑴首先要确定过河过程中的所有安全状态,我们用二元数组(,)x y 表示一个安全状态(不管此岸还是彼岸),其中x表示留在此岸的主人数,y表示留在此岸的随从数。

两岸各有十种安全状态:(0,0),(0,1),(0,2),(0,3),(2,2),(1,1),(3,0),(3,1),(3,2),(3,3)⑵在两岸的安全状态之间,如存在一种渡河方法能使一种状态变为另一种安全状态,则在这两种状态之间连一条边。

这样,得到如下一个二部图(图1),其中下方顶点表示此岸状态,上方顶点表示彼岸状态。

我们的目的是要找出一条从此岸(3,3)到彼岸(0,0)的最短路。

⑶观察发现此岸的状态(0,0),(3,0)和彼岸的状态(0,3),(3,3)都是孤立点,在求最短路的过程中不涉及这些点,把它们删去。

两岸的点用1,2, (16)新标号。

(3,3)(3,2)(3,1)(3,0)(1,1)(2,2)(0,3)(0,2)(0,3)(0,0)○②④⑥⑧⑩○○12○14○16①③⑤○⑦⑨○11○13○15○(3,3)(3,2)(3,1)(3,0)(1,1)(2,2)(0,3)(0,2)(0,3)(0,0)(图1)4.模型求解求最短路程的matlab程序如下:function route=sroute(G,opt)%求图的最短路的Dijkstra算法程序,规定起点为1,顶点连续编号%G是给定图的邻接矩阵或弧表矩阵,程序能够自动识别%当opt=0(或缺省)时求无向图的最短路,当opt=1时求有向图的最短路%d——标记最短距离%route是一个矩阵,第一行标记顶点,第二行标记1到该点的最短路,第三行标记最短路上该点的先驱顶点while 1 %此循环自动识别或由弧表矩阵生成邻接矩阵if G(1,1)==0A=G;breakelsee=Gn=max([e(:,1);e(:,2)]); %顶点数m=size(e,1); %边数M=sum(e(:,3)); %代表无穷大A=M*ones(n,n);for k=1:mA(e(k,1),e(k,2))=e(k,3);if opt==0A(e(k,2),e(k,1))=e(k,3); %形成无向图的邻接矩阵endendA=A-M*eye(n) %形成图的邻接矩阵endbreakendpb(1:length(A))=0;pb(1)=1;index1=1;index2=ones(1,length(A));d(1:length(A))=M;d(1)=0; %标记距离temp=1;while sum(pb)<length(A)tb=find(pb==0);d(tb)=min(d(tb),d(temp)+A(temp,tb)); %更新距离temp=find(d(tb)==min(d(tb))); %确定新最小距离点temp=tb(temp(1));pb(temp)=1;index1=[index1,temp];index=index1(find(d(index1)==d(temp)-A(temp,index1)));if length(index)>=2index=index(1);endindex2(temp)=index; %记录前驱顶点endroute=[1:n;d;index2];在matlab的命令窗口输入图(1)的弧表矩阵e:e=[1 2;1 4;1 10;3 4;3 6;3 10;5 6;5 8;7 14;7 16;9 8;9 12;11 12;11 14;13 14;13 16;15 16];e=[e,ones(17,1)]; %边权都设为1调用程序:route=sroute(e,0)运行结果:e =1 2 11 4 11 10 13 4 13 6 13 10 15 6 15 8 17 14 17 16 19 8 19 12 111 12 111 14 113 14 113 16 115 16 1route =1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 160 1 2 1 4 3 10 5 6 1 8 7 10 9 12 111 1 4 1 6 3 14 5 8 1 12 9 14 11 16 7这表示存在一条从1到16的长度为11的路:1 4 3 6 5 8 912 11 14 7 16,此路对应商人成功渡河的一个方案:(3,3)变为(3,1)变为(3,2)变为(3,0)变为(3,1)变为(1,1)变为(2,2)变为(0,2)变为(0,3)变为(0,1)变为(1,1)变为(0,0)即:两个仆人过河,一个仆人回来;有两个仆人过河,一个仆人回来;两个主人过河,一主一仆回来;有两个主人过河,一个仆人回来;两个仆人过河,一个仆人回来;最后两个仆人过河。

商人过河的数学模型及编程解决【范本模板】

商人过河的数学模型及编程解决【范本模板】

14对商仆过河问题题目有14名商人各带一名仆人要过河,但船最多能载4人。

商人已获得仆人的阴谋:在河的任意一岸,只要仆人数超过商人数,仆人会将商人杀死并窃取货物。

安排如何乘船的权利权利在商人手上,试为商人制定一个安全的过河方案。

一.摘要n对商仆过河,一只船最多载m人,船上和岸上的仆人数都不能多于商人数,否则商人有危险。

安排合理的渡河方案,保证商人能安全渡河。

(可利用向量,矩阵,图解等方法)。

二.问题提出:有14对商仆乘船过河,一只船最多载4人,由商人和仆人自己划船渡河,在河的任意一岸,一旦仆人数多于商人数,仆人就可将商人杀死,谋取利益,但是乘船渡河的主动权掌握在商人们手中,商人们如何安排渡河方案,才能安全渡河?三.问题分析商仆安全渡河问题可以视为一个多步决策过程,多步决策是指决策过程难以一次完成,而是多步优化,最后获取一个全局最优方案的决策方法。

对于每一步,即船由此岸驶向彼岸,或者船由彼岸驶向此岸的决策,不仅会影响到该过程的效果,而且还会影响到下一步的初始状态,从而对整个过程都会有影响。

所以,在每一次过河时,就不能只从这一次过河本身考虑,还要把它看成是整个过河过程中的一个部分。

在对船上的人员做决策时,要保证两岸的商人数不能少于仆人数,用最少的步伐是人员全部过河.应用状态向量和运载向量,找出状态随运载变化的规律,此问题就转化为状态在允许范围内(即安全渡河条件),确定每一次该如何过河,从而达到渡河的目标。

现在我们都把它们数量化:即用数学语言来表示。

四.模型假设与符号假设(一)模型假设商人和仆人都会划船,天气很好,无大风大浪,船的质量很好,船桨足够很多次的运载商人和仆人。

(二)符号假设设(x,y)是状态向量,表示任一岸的商人和仆人数,且x,y分别要大于等于0,小于等于M。

1.设(m,n)是运载向量,表示运载的商人数和仆人数,0<=m<=N,0<=n<=N,0〈=m+n〈=N。

2.设用s表示所有的可取状态向量的集合。

日常生活中的数学建模

日常生活中的数学建模

改进模型:
l1: 鱼的有效长度 A1:横截面积
V l1 A 1
l1 l
2 A s 1
W kls
2
W V
数学建模
模型检验
在钓鱼比赛期间收集了有关数据:
第i条鱼 长度li
腰围si
所钓鱼的长度、腰围与重量 cm, g
1 36.83
2 31.75
3

5 32.07
6
7
8 32.07
决策 ~ 每一步(此岸到彼岸或彼岸到此岸)船上的人员 要求 ~ 在商人安全的前提下(两岸的随从数都不比商人多), 经有限步使全体人员过河。
数学建模
模型建立及求解
xk~第k次渡河前此岸的商人数 xk, yk=0,1,2,3; 设 yk~第k次渡河前此岸的随从数 k=1,2, sk=(xk , yk)~过程的状态,S ~允许状态集合 S={(x , y) x=0, y=0,1,2,3; x=3, y=0,1,2,3; x=y=1,2}
态转方程,由 s1=(3,3)到达 sn+1=(0,0)。
数学建模
模型求解
穷举法 ~ 编程上机 图解法
状态s=(x,y) ~ 16个格点
3 2
y
s1
d1
S={(x , y) x=0, y=0,1,2,3;
x=3, y=0,1,2,3; x=y=1,2} 允许状态 ~ 10个 点
1
d11 0sn+1 1 2 3 x
sk+1=sk+(-1)k dk
~状态转移方程
uk~第k次渡船上的商人数 uk, vk=0,1,2; vk~第k次渡船上的随从数 k=1,2, D={(u , v) u+v=1, 2} ~允许决策集合

怎样安全渡河问题

怎样安全渡河问题

实验1 怎样安全过河问题一、问题3名商人各带1名随从乘船渡河,一只小船只能容纳2人,由他们自己划行。

随从们密约,在河的任一岸,一旦随从人数比商人多,就杀商人。

此密约被商人知道,如何乘船渡河的大权掌握在商人们手中,商人们怎样安排每次乘船方案,才能安全渡河呢?二、实验目的使学生进一步巩固和理解向量的定义、运算规则及多步决策理论及其应用。

三、预备知识向量定义及运算,多步决策理论。

四、实验内容与要求建立起商人安全渡河的数学模型,并给出商人们如何安全渡河的一个方案,使得渡河的次数尽量少。

五、思考问题在上述的约束条件下,若商人有4名时,问商人们是否能实现安全渡河?更一般地,若商人数是m,小船最多只能坐n(1〈n〈m〉人,m和n有何关系时,商人们才能实现安全渡河?问题解答一、问题分析与建立模型由于这个问题已经理想化了,所以不必再作假设。

这个问题可以看作一个多步决策的过程。

设第k次渡河前此岸的商人数为X K,随从数为Y K,k=1,2,…。

X K,Y K=0,1,2,3。

将二维向量S K=( X K,Y K)定义为状态。

安全渡河条件下的状态集合称为允许状态集合,记为S,则S={(x,y)|x=0或3,y=0,1,2,3;x=y=1,2} (1) 又设第k次渡船上的商人数为U K,随从数为V K,将二维向量D K=(U K,V K)定义为决策,则允许决策集合为:D={(u,v)|u+v=1,2} (2)因为k为奇数时船从此岸驶向彼岸,k为偶数时船由彼岸驶回此岸,所以状态S K随着决策D K变化的规律即状态转移规律是:S K+1=S K+(—1)K D K (3)这样,制定安全渡河方案归结为如下的多步决策问题:求决策D K∈D(k=1,2,…,n),使S K∈S按照转移律(3),由初始状态S1=(3,3)经有限步(设为n)到达状态S n+1=(0,0)。

二、计算过程下面通过Mathematica的程序给出这个多步决策问题的一个解,同时满足了渡河次数尽量少的条件。

商人过河方案

商人过河方案

商人过河方案商人过河是一个经典的智力题,要求找到一种方案,让商人和一只狼、一只羊、一颗白菜能够安全地过河。

然而,由于限制条件和问题本身的复杂性,要想找到最优解并非易事。

在接下来的文章中,我将介绍三种常见的商人过河方案,并分析其优缺点。

方案一:简单粗暴法这种方案是最直接且容易理解的,商人一次只能带一样物品过河。

首先商人带羊过河,然后返回,带走羊,带狼过河,再返回,带羊过河,最后商人带白菜过河。

这个方案的优点是简单易懂,对于问题的限制条件没有做太多的改变,但缺点也显而易见,商人需要多次来回,花费的时间和力气会比较多。

方案二:改进的方式为了减少商人的返程次数,我们可以在方案一的基础上做一些改进。

商人过河后,带一样物品过河的同时,再带回之前带过的物品。

具体来说,商人带着羊过河后,不再返回,而是带着羊再带狼回去。

商人只下船,放下羊,然后带着白菜过河,商人离开,带走狼,返回船边,与羊相会,然后一起过河。

这个方案相比方案一的优势在于减少了商人的返程次数,但仍然需要多次的来回,对于问题的限制条件并没有得到彻底的突破。

方案三:全新思路除了上述两种方式外,还有一种全新的思路可以解决商人过河问题。

我们可以引入一个额外的限制条件,即商人和狼不能同时留在同一边,羊和白菜也不能同时留在同一边。

首先,商人带着狼过河,然后将狼放置在对岸,商人返程。

接下来商人带走羊过河,但商人上岸后,将狼带回原岸,将狼放下,再将羊带回原岸。

然后商人带白菜过河,商人上岸后将白菜放置在对岸,再次返程。

最后商人带狼过河,成功完成任务。

这个方案的优点是最大程度地减少商人的来回次数,几乎做到了最优解。

引入额外的限制条件进一步增加了问题的难度,但也提供了更高效的解决方式。

综上所述,商人过河问题虽然看似简单,但通过不同的思路和方案,可以得到不同的解决结果。

不同的方案有其优缺点,选择最适合的方案需要考虑问题的限制条件、时间和效率。

希望这篇文章能够帮助你更好地理解商人过河问题,并找到解决方案。

商人渡河问题实验心得

商人渡河问题实验心得

商人渡河问题实验心得
1、商人过河不用船,你说他傻吗?其实他是非常聪明的。

你想啊,这么多小木头要花几天才能做成一艘小木船,但假如把它们捆起来,就只需要半天时间,那样可以省下很大力气呀!
2、老板回来后问:“船哪儿去了?”大家抢着回答说被风吹走了……大家想:“既然没有船怎么渡河呢?于是大家合作开始造船,最终大功告成,但每个人都感觉好像少点什么似的,到底是什么呢?仔细观察,我发现所缺少的正是船上必备的——帆,有了帆,老板和工人们乘船出海也就变得方便了许多,再也不怕会遇见海啸啦!通过今天学习使我认识到:世界上无论干什么事情都要善于动脑筋,思考,才能取得进步;当遇到困难时,首先应该动脑筋想办法解决困难,千万不要鲁莽行事,否则将给自己带来危险。

3、在商店买东西,拿出100元钱交给售货员。

售货员拿过100元后,又将手伸向100元并放入盒子里,嘴巴还嘟囔着什么(此时同学看着她)。

接着售货员又从口袋中掏出另外两张百元钞票(她刚要把钱放回盒子内,同学注意了,由于速度太快,就在此刻同学迅速拿出胶带,粘住了她拿着的两张钞票。

而售货员因为站在凳子上,所以不幸摔倒,坐在地上)。

- 1 -。

商人过河问题

商人过河问题

商人过河问题摘要本文就商人们如何能够安全过河问题, 采用多步决策建立了数学模型,求解得到商人们安全过河的方案。

将经典的商人过河问题进行了更广的讨论,在此基础上着重分析了安全渡河的状态空间,建立了满足问题需求的规则,从而得出了要求解问题的方案。

模型主要通过穷举的方法对各种过河的方案进行一一列举,然后根据小船的容量和商人们要安全渡河为前提对各种方案进行层层筛选。

最终,得到商人安全渡河的方案。

最后本文就此问题进行推广,当有m名商人m名随从且小船的容量为k时,将会得到几种解决方案给出了说明。

关键词:穷举法多步决策图解法商人过河状态空间一、问题重述三名商人各带一名随从过河,随从们密约, 在河的任一岸, 一旦随从的人数比商人多, 就杀人越货.但乘船渡河的方案由商人决定.现在需要解决的问题如下:1.1 3名商人在不被随从谋杀和小船最多能容2人的情况下,商人们将如何安全过河?1.2如果有m名商人n名随从,小船的容量为k时,商人们又将如何安全过河?二、模型的假设2.1 假设过河的过程中不会发生意外事故。

2.2 假设当随从人数多过商人时,不会改变杀人越货计划。

2.3假设所有人最终都必须到达河对岸。

三、符号说明M表示商人的数量::N表示随从的数量Z表示河的此岸和彼岸:K表示小船的容量:m表示此岸的商人数量::n表示此岸随从的数量:u表示彼岸的商人数量:v表示彼岸的随从数量四、模型分析本题针对商人们能否安全过河问题,需要选择一种合理的过河方案。

对该问题可视为一个多步决策模型,通过对每一次过河的方案的筛选优化,最终得到商人们全部安全过到河对岸的最优决策方案。

对于每一次的过河过程都看成一个随机决策状态量,商人们能够安全到达彼岸或此岸我们可以看成目标决策允许的状态量,通过对允许的状态量的层层筛选,从而得到过河的目标。

五、模型建立与求解5.1模型的建立本题为多步决策模型,每一次过河都是状态量的转移过程。

可以用三维向量表示(,,m n Z )m 的取值范围:{0,1,2,3}n 的取值范围:{0,1,2,3}1,0,Z ⎧=⎨⎩表示划船到河的彼岸表示划船到河的此岸那么允许状态量(即两岸同时必须满足(m n ≥))可以表示为(1) 当m =0或3, n ={0,1,2,3},(2) 当m =1或2,m =n或用三维向量表示允许状态量如下表格1:表(1)过河安全状态量5.2模型的求解模型的要求从(3,3,1)开始经过对每次过河的安全状态量的选择最终安全到达(0,0,0)。

商人过河问题

商人过河问题

商人过河问题一、三名商人各带一名随从的情况1.问题(略)2.模型假设①当一边岸满足随从数大于商人数,但商人数为0时仍为一种安全状态;②小船至多可容纳2人,且渡河时由随从(或者商人)来划船。

3.分析与建模商人过河需要一步一步实现,比如第一步:两个仆人过河,第二步:一个仆人驾船回来,第三步:又是两个仆人过河,第四步:……其中每一步都使当前状态发生变化,而且是从一种安全状态变为另一种安全状态。

如果我们把每一种安全状态看成一个点,又如果存在某种过河方式使状态a变到状态b,则在点a和点b之间连一条边,这样我们把商人过河问题和图联系起来,有可能用图论方法来解决商人过河问题。

建模步骤:⑴首先要确定过河过程中的所有安全状态,我们用二元数组(,)x y 表示一个安全状态(不管此岸还是彼岸),其中x表示留在此岸的主人数,y表示留在此岸的随从数。

两岸各有十种安全状态:(0,0),(0,1),(0,2),(0,3),(2,2),(1,1),(3,0),(3,1),(3,2),(3,3)⑵在两岸的安全状态之间,如存在一种渡河方法能使一种状态变为另一种安全状态,则在这两种状态之间连一条边。

这样,得到如下一个二部图(图1),其中下方顶点表示此岸状态,上方顶点表示彼岸状态。

我们的目的是要找出一条从此岸(3,3)到彼岸(0,0)的最短路。

⑶观察发现此岸的状态(0,0),(3,0)和彼岸的状态(0,3),(3,3)都是孤立点,在求最短路的过程中不涉及这些点,把它们删去。

两岸的点用1,2, (16)新标号。

(3,3)(3,2)(3,1)(3,0)(1,1)(2,2)(0,3)(0,2)(0,3)(0,0)○②④⑥⑧⑩○○12○14○16①③⑤○⑦⑨○11○13○15○(3,3)(3,2)(3,1)(3,0)(1,1)(2,2)(0,3)(0,2)(0,3)(0,0)(图1)4.模型求解求最短路程的matlab程序如下:function route=sroute(G,opt)%求图的最短路的Dijkstra算法程序,规定起点为1,顶点连续编号%G是给定图的邻接矩阵或弧表矩阵,程序能够自动识别%当opt=0(或缺省)时求无向图的最短路,当opt=1时求有向图的最短路%d——标记最短距离%route是一个矩阵,第一行标记顶点,第二行标记1到该点的最短路,第三行标记最短路上该点的先驱顶点while 1 %此循环自动识别或由弧表矩阵生成邻接矩阵if G(1,1)==0A=G;breakelsee=Gn=max([e(:,1);e(:,2)]); %顶点数m=size(e,1); %边数M=sum(e(:,3)); %代表无穷大A=M*ones(n,n);for k=1:mA(e(k,1),e(k,2))=e(k,3);if opt==0A(e(k,2),e(k,1))=e(k,3); %形成无向图的邻接矩阵endendA=A-M*eye(n) %形成图的邻接矩阵endbreakendpb(1:length(A))=0;pb(1)=1;index1=1;index2=ones(1,length(A));d(1:length(A))=M;d(1)=0; %标记距离temp=1;while sum(pb)<length(A)tb=find(pb==0);d(tb)=min(d(tb),d(temp)+A(temp,tb)); %更新距离temp=find(d(tb)==min(d(tb))); %确定新最小距离点 temp=tb(temp(1));pb(temp)=1;index1=[index1,temp];index=index1(find(d(index1)==d(temp)-A(temp,index1)));if length(index)>=2index=index(1);endindex2(temp)=index; %记录前驱顶点endroute=[1:n;d;index2];在matlab的命令窗口输入图(1)的弧表矩阵e:e=[1 2;1 4;1 10;3 4;3 6;3 10;5 6;5 8;7 14;7 16;9 8;9 12;11 12;11 14;13 14;13 16;15 16];e=[e,ones(17,1)]; %边权都设为1调用程序:route=sroute(e,0)运行结果:e =1 2 11 4 11 10 13 4 13 6 13 10 15 6 15 8 17 14 17 16 19 8 19 12 111 12 111 14 113 14 113 16 115 16 1route =1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 160 1 2 1 4 3 10 5 6 1 8 7 10 9 12 111 1 4 1 6 3 14 5 8 1 12 9 14 11 16 7这表示存在一条从1到16的长度为11的路:1 4 3 6 5 8 912 11 14 7 16,此路对应商人成功渡河的一个方案:(3,3)变为(3,1)变为(3,2)变为(3,0)变为(3,1)变为(1,1)变为(2,2)变为(0,2)变为(0,3)变为(0,1)变为(1,1)变为(0,0)即:两个仆人过河,一个仆人回来;有两个仆人过河,一个仆人回来;两个主人过河,一主一仆回来;有两个主人过河,一个仆人回来;两个仆人过河,一个仆人回来;最后两个仆人过河。

商人过河问题.

商人过河问题.

A (aij )nn 为 G 的邻接距阵,其中
1 aij 0
viv j E(G) viv j E(G)
i, j 1, 2, , n
定理 1:设 A(G) 为图 G 的邻接距阵,则 G 中从顶点 vi 到顶点 v j ,长度为 k 的道路的条
数为 Ak 中的 i 行 j 列元素.
证: 对 k 用数学归纳法 k 1 时,显然结论成立; 假设 k 时,定理成立, 考虑 k 1的情形.
其中 A 表示从南岸到北岸渡河的图的邻接距阵, B AT 表示从北岸到南岸渡河的图的
邻接距阵。
由定理 1、我们应考虑最小的 k ,s t ( AB)k A 中 1 行 10 列的元素不为 0,此时 2k 1
即为最少的渡河次数,而矩阵 ( AB)k A 中 1 行 10 列的元素为最佳的路径数目。
商人过河问题
三名商人各带一个随从乘船渡河,现有一只小船只能容纳两个人,由他们自己划行,若 在河的任一岸的随从人数多于商人,他们就可能抢劫财物。但如何乘船渡河由商人决定,试 给出一个商人安全渡河的方案。
首先介绍图论中的一个定理
G 是一个图,V(G)为 G 的顶点集,E(G)为 G 的边集。 设 G 中有 n 个顶点 v1, v2 , , vn ;
条,所以长为 k 1的从 vi 经 k 步到 vl 再一步到 v j 的道路共有 ai(lk) alj 条,故从 vi 经 k 1
n
步到 v j 的路径共有 ai(jk1)
a(k) il
alj
条.
l 1
下面分析及求解 假设渡河是从南岸到北岸,(m,n)表示南岸有 m 个商人,n 个随从,全部的允许状 态共有 10 个
v1 (3,3) v2 (3,2) v3 (3,1) v4 (3,(0,3) v8 (0,2) v9 (0,1) v10 (0,0)

商人们怎样安全过河的数学模型

商人们怎样安全过河的数学模型

商人们怎样安全过河的数学模型示例文章篇一:话说啊,商人们遇到了一个棘手的问题:他们得带着随从们一起过河,但随从们可不是省油的灯,一有机会就想着害商人抢货。

这河又不宽不窄,一只小船每次只能载两个人,怎么过河才能确保安全呢?咱们来聊聊这个问题吧。

首先,商人们得明白,随从们人多势众,要是他们比商人多了,那可就危险了。

所以,商人们得想个法子,让随从们没法儿耍花招。

其实啊,这个问题可以变成一个数学模型。

想象一下,我们把每次过河的人都看成是一个状态,就像打游戏一样,每过一次河就是进入了一个新的关卡。

在这个关卡里,商人们得保证自己的人数不能少于随从们。

那具体怎么做呢?咱们得先设定一些规则。

比如说,每次过河的人数只能是两个,这是小船的容量决定的。

然后,商人们得选择让哪些人过河,这就得靠他们的智慧和策略了。

想象一下这个场景:商人们先让两个随从过河,然后一个商人再带一个随从回来。

这样,河对岸的随从人数虽然多了,但商人这边还有足够的人手可以应对。

接下来,两个商人再过河,这样河对岸的商人数就比随从数多了,安全就得到了保障。

然后,再让一个商人带一个随从回来,这样河这边也有足够的商人保护随从不敢造次。

最后,两个随从再过河,问题就解决了。

这个数学模型虽然简单,但却非常实用。

它告诉我们,在面对困难和挑战时,只要我们善于运用智慧和策略,就一定能够找到解决问题的方法。

所以,商人们要想安全过河,就得靠他们的智慧和勇气了。

示例文章篇二:话说啊,有这么一个古老的谜题,叫做“商人过河”。

话说有三名聪明的商人,他们各自带着一个狡猾的随从,准备乘船过河。

这船啊,一次只能载两个人,问题就在于,这些随从们心里都有个小九九,他们密谋着,只要到了河的对岸,随从人数多于商人人数,就立马动手抢货。

这商人们也不是吃素的,他们知道随从们的阴谋,但他们毕竟都是聪明人,于是就想出了一个绝妙的策略。

咱们来想想啊,这过河其实就是一个多步决策的过程。

每次渡河,船上的人员选择都至关重要。

安全渡河问题

安全渡河问题

上图给出了一种移动方案, 上图给出了一种移动方案,经过决策 d1, d2 , d3 ⋯d11, 最终 这个方案很容易写成渡河的方案。 有 S12 = (0,0)。这个方案很容易写成渡河的方案。
分析:在问题中每一步,即船由此岸驶向彼岸或从彼 分析:在问题中每一步,
岸驶向此岸,都要对船上的人员(商人、随从各几人) 岸驶向此岸,都要对船上的人员(商人、随从各几人) 作出决策,保证安全的前提下( 作出决策,保证安全的前提下(两岸的商人数都不比随 从数少),在有限的步内使人员全部过河。用状态( ),在有限的步内使人员全部过河 从数少),在有限的步内使人员全部过河。用状态(变 来表示某一岸的人员状况,决策(变量) 量)来表示某一岸的人员状况,决策(变量)表示船上 人员的状况,可以找出状态随决策变化的规律。问题转 人员的状况,可以找出状态随决策变化的规律。 化为在状态的允许范围内(即安全渡河条件), ),确定每 化为在状态的允许范围内(即安全渡河条件),确定每 一步的决策,达到渡河的目标。 一步的决策,达到渡河的目标。
这样的话,制订安全渡河的方案归结为如下的多步决策问题: 这样的话,制订安全渡河的方案归结为如下的多步决策问题:
d k ∈ D ( k = 1, 2, ⋯ n ), 使状态 S k ∈ S 按照转移规律, 由初始状态 S1 = (3, 3)经过有限步 n到达状态 S n +1 = 0, ( 0)。
y
D = {( u , v ) | u + v = 1, 2}
(2) )
因为k为奇数时船从次岸驶向彼岸, 为偶数时由彼岸驶回此 因为 为奇数时船从次岸驶向彼岸,k为偶数时由彼岸驶回此 为奇数时船从次岸驶向彼岸 岸,所以状态 Sk 随决策 d k 变化的规律是 k (3) ) k +1 k k

商人过河问题数学建模

商人过河问题数学建模

作业1、2:商人过河一、问题重述问题一: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;v(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)数学模型:k+1k S =S +kk D (-1) (1)'4k k x x += (2)'4k k y y += (3)k.k x y ≥ (4)''k k x y ≥ (5)模型分析:由(2)(3)(5)可得44k k x y -≥-化简得k k x y ≤综合(4)可得k k x y = 和 {}(,)|0,0,1,2,3,4k k k k k S x y x y === (6)还要考虑 {}'(',')|'0,'0,1,2,3,4kk k k k S x y x y === (7) 把(2)(3)带入(7)可得{}(4,4)|40,40,1,2,3,4k k k k k S x y x y =---=-=化简得{}(,)|4,0,1,2,3,4k k k k k S x y x y === (8) 综合(6)(7)(8)式可得满足条件的情况满足下式{}(,)|0,4,0,1,2,3,4;k k k k k k k S x y x y x y ==== (9)所以我们知道满足条件的点如上图所示:点移动由{}(,)|4,0,1,2,3,4k k k k k S x y x y === (8) 到达{}(,)|0,0,1,2,3,4k k k k k S x y x y === (6)时,可以认为完成渡河。

渡河问题

渡河问题

渡河问题XXX XXX XXX渡河问题摘要本课题研究的是商人安全渡河问题。

为达到使商人安全渡河的目的,我们将问题细化为两个子问题,即:商人的安全状态共有哪些以及如何使商人在各个安全状态下进行转移,以达到使商人安全渡河的目的。

具体的:1、建立使商人在河的两岸同时处于安全状态的数学模型,求解得到此岸商人的全部安全状态数组为(3,3)(3,2)(3,1)(3,0)(2,2)(1,1)(0,3)(0,2)(0,1)(0,0)。

2、建立平面坐标模型,根据题目“一只小船只能容纳两人,由他们自己划行”的要求建立安全点的移动规则,进而得到使商人安全渡河的11个步骤。

利用平面坐标法解决商人安全渡河的问题是本论文的亮点,操作简便,易于理解。

关键词安全状态数组平面坐标模型1 问题提出1.1 问题重述三名商人各带一个随从乘船渡河,一只小船只能容纳两人,由他们自己划行。

随从们密约,在河的任一岸,一旦随从的人数比商人多,就杀人越货。

但是如何乘船渡河的大权掌握在商人们手中。

问:商人们怎样才能安全渡河?1.2 问题提出商人们的“安全”与“渡河”显然是本课题的核心研究内容,并且要同时兼顾。

基于此,我们将原问题进一步细分为两个子问题,即:问题1 使商人在河的两岸同时安全的安全状态共有哪些?问题2 如何使商人在各个安全状态之间进行转换以达到安全渡河的目的?2 问题分析对于问题1,应该以使两岸的商人同时处于安全状态为目的建立数学模型,进而分析出商人的全部安全状态,并且进行数字化表示,即表示为商人数与随从数的对应数组。

同时,为了进一步研究的方便,应该以河岸某一侧商人的安全状态为研究目标,即此岸的商人若是安全的,则对岸的商人也必是安全的,无需再次研究了。

也就是说,我们要得到使商人在两岸同时安全的,但只体现此岸人数状态的安全状态数组。

对于问题2,在问题1的研究基础上,将表示商人各个安全状态的数组作为点的坐标在平面直角坐标系中表示出来,再根据题目“一只小船只能容纳两人,由他们自己划行”的要求制定点与点之间的移动规则,进而研究出商人的安全渡河方式。

(完整word版)商人过河问题数学建模

(完整word版)商人过河问题数学建模

作业 1、 2:商人过河一、问题重述问题一: 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;v(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数学模型:k〔1〕S k+1 =S k +〔-1 〕D kx k x k '4〔2〕y k y k '4〔3〕xk.y k〔4〕x k 'y k '〔5〕模型解析:由〔 2〕〔 3〕〔5〕可得4x k4y k 化简得x k y k综合〔 4〕可得x k y k和S k( x k, y k)| x k0, y k0,1,2,3,4〔6〕还要考虑S '( x', yk ') | x '0, yk' 0,1,2,3,4〔 7〕k k k把〔 2〕〔 3〕带入〔 7〕可得S k(4 x k ,4 y k ) | 4 x k0,4 y k0,1,2,3,4化简得S k (x k , y k ) | x k 4, y k 0,1,2,3,4〔 8〕综合〔 6〕〔7〕〔 8〕式可得满足条件的情况满足下式S k( x k , y k ) | x k 0,4, y k0,1,2,3,4; x k y k〔9〕所以我们知道满足条件的点如上图所示:点搬动由S k ( x k , y k ) | x k 4, y k 0,1,2,3,4〔8〕到达S(x, y) | xk 0, y0,1,2,3,4〔6〕k k k k时,能够认为完成渡河。

实验1 怎样安全过河问题

实验1  怎样安全过河问题

(3,3,1)
(0,0,0)
状态空间的总状态数为4×4×2=32,根据约束条件的 要求,可以看出只有20个合法状态。再进一步分析后,
又发现有4个合法状态是不可能达到的。因此实际的状态空间
仅由16个状态构成。下表列出分析结果:
(0,0,1)达不到 (0,1,1)
(0,2,1)
(0,3,1)
(1,0,1)不合法 (1,1,1)
三、结果分析
1 上述程序中五个允许的决策或十个允许的状态顺序进行整
时,可以得到不同的结果。例如把d[1]={0,2},d[3]={1, 1}调整成d[1]={1,1},d[3]={0,2}就会得到安全渡河的另 一个方案。需要注意的是进行调整时也可能得不到安全渡 河的方案。
2. 该模型求解方法有多种,例如可以利用动态规划的方法来 求解,也可以利用图解的方法来求解。
i=1;j=1;k=1;s[0]=s[1]={3,3};Print[“此岸————船 上————对岸”]; DO[
DO[s[i+1]=s[i]+(-1)^id[j];
t=0;
DO[if[s[i+1]==a[k];t=1]{k,1,10}];
if[t==0,Continue[]]; (*以上三行是保证状态属于允许的状态*)
SK+1=SK+(—1)KDK
(3)
这样,制定安全渡河方案归结为如下的多步决策问题:
求决策DK∈D(k=1,2,…,n),使SK∈S按照转移 律(3),由初始状态S1=(3,3)经有限步(设为n)到达 状态Sn+1=(0,0)。
二、计算过程
下面通过Mathematica的程序给出这个多步决策问题的一个解, 同时满足了渡河次数尽量少的条件。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

讨论资金积累、国民收入与人口增长的关系班级:2009级数学与应用数学黄全(组长): P092314746邱亚彪: P091712712谢志成:P091712679央金:P091715381罗国庭:P091712739讨论资金积累、国民收入与人口增长的关系摘要如何保证人口增长对国民收入影响的正效应和国民平均收入持续性增长,一直是全国人民所共同关注的问题。

本文对资金积累、国民收入和人口增长三者之间的关系进行讨论,通过导数结合三者之间存在的基本规律,建立相应的微分方程,利用微分方程法给出方程,由matlab解得资金积累、国民收入与人口增长的关系。

通过掌握该关系,确定资金积累的增长率大于人口增长率时国民收入才会增长,从而更好地调整人口出身率、控制人口的数量和人口质量,保证我国人口增长与国民收入增长之间的适当的比例关系,使得国民平均持续性增长,促进社会经济的迅速发展,提高人民的生活质量,为整个社会的长远战略需求做贡献。

关键字:资金积累状态转移律图解法微分方程决策一、 问题重述讨论资金积累、国民收入与人口增长的关系(1)若国民平均收入x 与按人口平均资金积累y 成正比,说明仅当总资金积累的相对增长率k 大于人口的相对增长率r 时,国民平均收入才是增长的.(2)作出k(x)和r(x)的示意图,说明二曲线交点是平衡点,讨论它的稳定性。

(3)分析人口激增会引起什么后果二、符号说明1x : t 时刻总资金累积量,2x :t 时刻人口数量,3x :国民平均收入量,k :总资金的相对增长率 r :人口的相对增长率三 、模型的假设在一定时期后,增长的人口数量为::22x rx '=;总资金的增长量为:11x kx '= ;四、问题的分析在社会主义发展的初级阶段,国民收入是指一定时期(通常为1年)内,物质生产部门劳动者新创造的价值,它是物质资料生产进一步发展和人口再生产条件改善的物质基础。

在其他条件已定的情况下,国民收入总量愈多,人均消费基金和积累基金也越多,从而有利于人们生活的改善和技术装备水平的提高,也有利于人口数量的控制和人口质量的提高。

人口增长从 3个方面影响国民收入的增减:① 人口或劳动者数量的多少;② 每个劳动者技术装备水平的高低;③ 劳动者节省消耗和管理才能的大小。

国民收入又分为资金的累积和消费,累积资金=国民收入错误!未找到引用源。

消费资金,而消费资金=基本消费资金错误!未找到引用源。

人口发展速度。

因此, 为增加人均国民收入,增强一国的经济实力和提高人民生活水平,要在大力发展经济、增加生产的基础上合理地调节人口增长。

人均国民收入的增长速度是反映人口增长和国民收入增长相互关系的最主要的综合指标。

人均国民收入的增长表明人口增长对国民收入的影响是正效应。

为了保证人口增长对国民收入影响的正效应,必须使人口增长与国民收入增长保持一定的比例关系。

这种比例关系不能是等速的,必须是人口增长速度大大低于国民收入增长速度。

其结果是一方面积累资金增加,另一方面需要安排就业的人数却可减少,这就必然有利于提高生产技术构成,提高劳动生产率,推动经济的发展,增加国民收入总量。

人口增长过慢,劳动力资源短缺,也会导致一些生产资料闲置,某些自然资源得不到应有的开发利用;尽管人均技术装备水平可能有所提高,每个劳动者为社会所做的贡献有所增加,但由于整个社会生产资料和自然资源利用不充分,国民收入总量的增长将受到相当的影响。

人口增长和国民收入增长的关系决定人均国民收入指标的变化,人均国民收入是综合地反映一国经济发展水平、经济实力、人民生活水平的重要标志。

它与人口增长成反比,与国民收入增长成正比。

资金增长和人口增长都满足指数增长,又题意可知:国民平均收入与按人口平均资金累积成正比,不妨设次比例系数为b 。

2010年第六次全国人口普查知我国的人口为1339724852亿,总资金累积量(国内生产总值)为397983亿元,人口增长率为0.57%,总资金(国内生产总值)增长率为10.3%。

a 的值约为1.五、模型建立又由题意得:t *b t X 3=)((其中b>0,且Y(t)表示人口平均资金累积) (1)由题意得出:12()()/()Y t X t X t = [人口平均资金累积=总资金累积/总人口] (2)把(2)式代入(1)式得:)](/)([b t X 213t X t X =)( (3)对(3)式两边同时求微分得:)(*)(*/)(33t X r k b dt t dX -= (4)所以由(4)式可知当k>r 时,国民收入0/)(dX 3>dt t ,x(t)增加,即国民平均收入增加 。

综上给出微分方程组如下:11kx dtdx =; 22rx dtdx =; 33)(x r k b dt dx -=六、模型求解:先建立编程的基本过程,然后考虑模型,再编写程序。

然后就可以得出结果了,建立M文件renkou.m如下:function dx=renkou(t,x)dx=zeros(3,1);k=0.103;r=0.0057;a=1;x(3)=a*x(1)/x(2);dx(1)=k*x(1);dx(2)=r*x(2);dx(3)=a*(k-r)*x(3);命令窗口中主程序jieweifenfangcheng.m如下:[t,x]=ode45('renkou',[2010 2050],[397983 1339743852 29705.902319005]); figure(1),Subplot(1,3,1)=plot(t,x(:,1),'k*') %作出总资金累积量与时间的图像xlabel('时间[年]'),ylabel('总资金累积量[亿元]')figure(2),Subplot(1,3,2)=plot(t,x(:,2),'m-') %作出人口数量与时间的图像hold onxlabel('时间[年]'),ylabel('总人口数')figure(3),Subplot(1,2,2)=plot(t,x(:,3),'r+') %作出国民平均收入与时间的图像hold onxlabel('时间[年]'),ylabel('国民平均收入[亿元]')七、结果分析运行结果为dx = 1.0e+006 *0.04107.63650.0000dx = 1.0e+006 *0.04267.65350.0000dx = 1.0e+006 *0.04357.6621dx = 1.0e+006 *0.04827.70480.0000dx = 1.0e+006 *0.04917.71240.0000dx =1.0e+006 * 0.05027.72190.0000dx =1.0e+006 *0.05017.72190.0000dx = 1.0e+006 *0.05427.75710.0000dx = 1.0e+006 *0.05677.77490.0000dx = 1.0e+006 *0.06997.86410.0000dx = 1.0e+006 *0.07307.88010.0000dx = 1.0e+006 *0.07637.90000.0000dx = 1.0e+006 *0.07577.90000.0000dx =1.0e+006 *7.93600.0000dx = 1.0e+006 *0.08567.95420.0000dx = 1.0e+006 *0.10568.04540.0000dx = 1.0e+006 *0.11028.06180.0000dx = 1.0e+006 *0.11528.08220.0000dx = 1.0e+006 *0.11428.08220.0000dx = 1.0e+006 *0.12378.11910.0000dx = 1.0e+006 *0.12928.13770.0000dx = 1.0e+006 *0.15948.23100.0000dx =1.0e+006 *0.16648.24770.0000dx = 1.0e+006 *0.17398.26860.0000dx = 1.0e+006 *8.26860.0000dx = 1.0e+006 *0.18678.30630.0000dx = 1.0e+006 *0.19518.32540.0000dx = 1.0e+006 *0.24068.42080.0000dx = 1.0e+006 *0.25128.43790.0000dx = 1.0e+006 *0.26268.45930.0000dx =1.0e+006 *0.26048.45930.0000dx = 1.0e+006 *0.28198.49790.0000dx =1.0e+006 *0.29468.51730.0000dx = 1.0e+006 *0.36338.61500.0000dx = 1.0e+006 *0.37938.6325dx =1.0e+006 *0.39648.65440.0000dx =1.0e+006 * 0.39328.65440.0000dx =1.0e+006 *0.42568.69380.0000dx = 1.0e+006 *0.44488.71380.0000dx =1.0e+006 *0.54868.81370.0000dx = 1.0e+006 *0.57268.83160.0000dx =1.0e+006 *0.59868.85400.0000dx = 1.0e+006 *0.59378.85400.0000dx = 1.0e+006 *0.64268.89430.0000dx = 1.0e+006 *0.67168.9147dx = 1.0e+006 * 0.82829.01690.0000dx = 1.0e+006 *0.86469.03530.0000dx = 1.0e+006 *0.90379.05820.0000dx = 1.0e+006 *0.89649.05820.0000dx = 1.0e+006 *0.97029.09950.0000dx = 1.0e+006 *1.01409.12030.0000dx = 1.0e+006 *1.25059.22490.0000dx =1.0e+006 *1.30549.24360.0000dx = 1.0e+006 *1.36459.26710.0000dx = 1.0e+006 *1.35349.26710.0000dx = 1.0e+006 *1.46499.3093dx = 1.0e+006 *1.53109.33070.0000dx = 1.0e+006 *1.88819.43760.0000dx = 1.0e+006 *1.97099.45680.0000dx = 1.0e+006 *2.06019.48080.0000dx = 1.0e+006 *2.04339.48080.0000dx = 1.0e+006 *2.12969.50290.0000dx = 1.0e+006 *2.17689.51400.0000dx = 1.0e+006 *2.42059.56980.0000dx = 1.0e+006 *2.46919.57970.0000dx = 1.0e+006 *2.52729.59210.0000dx = 1.0e+006 *2.52359.5921Subplot(:,:,1) = 0 0 154.0046 Subplot(:,:,2) = 0 478.0011 477.0011 Subplot(:,:,1) = 0 0 154.0046 Subplot(:,:,2) = 0 478.0011 479.0011 Subplot(:,:,1) = 0 0 154.0046 Subplot(:,:,2) = 0 480.0011 479.0011 图1201020152020202520302035204020452050x 107时间[年]总资金累积量[亿元]资金总量与时间时间之间的关系1)综上所述得:国民平均收入量满足指数增长,其增长率(k-r ),故总资金积累的相对增长率k 大于人口的相对增长率r 时,国民平均收入才是增长的。

相关文档
最新文档