欢迎来到天天文库
浏览记录
ID:40843487
大小:276.00 KB
页数:12页
时间:2019-08-08
《数学建模--最佳分油模型》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、楚雄师范学院2013年数学建模培训第一次预赛论文 题目最佳分油模型 姓名 系(院) 专业 2013年5月17日11最佳分油模型【摘要】本文主要是根据分油问题而建立的数学模型,从分油问题出发写出相关代码,最终求出最佳的决策方案,并用所学的知识推广成一般数学模型。11【关键字】C++实现线性规划图表显像法递归作图一、问题重述有一个人用装10斤油的瓶装了一瓶油拿到市场上去卖,正好来了两个买油的,每人要买5斤,但是没有秤,只有二只空瓶,一个能装7斤油,另一个能装3斤油。试建立模型分析
2、应如何用这3个瓶把10斤油分成两份各为5斤的油。二、问题分析古有“韩信分油”的典故,根据“韩信分油”将上述的问题用数学语言描述为:有三个无容量刻度的容器A、B、C,且容量分别为10、7、3斤。容器A中装满10斤油,B、C为空容器,怎么利用三个容器将10斤油平均分给另外两个小的容器中?经过思考、查阅资料,我们可以利用逐项列举的图解法,得出分油结果。可当容器A、B、C容量很大时,这种逻辑方法就很难完成分油任务。所以面对该分油问题,我们将它进行推广,记三个容器A、B、C且容量分别为a、b、c斤;容器A中装满a升油,B、C都为空容
3、器。怎么利用三个容器将a升油平均二等分?对于这个问题,应用数学知识构建立数学模型,提出一种通用的方法进行求解。三、问题假设1、假设每次倒油的时候都没有油漏掉;2、假设倒油时三个容器都不会将由留剩余容器壁上;2、假设A、B、C三个容器都没有损坏。四、符号说明→:表示容器**向容器XX倒入油:B中的油量:C中的油量:第次倒油时,B容器内的油改变量:第次倒油时,C容器内的油改变量D:允许决策集合11五、模型的建立与求解1、基本问题解决基于问题,我们通过逻辑推理,用最基本方法:将一容器内的油向另外的容器中倾倒的方法,得出下面分油方
4、法动态规划模型的思想写出代码,最终得出结果。分油问题代码,如下:functionalgorythm(){/* 分油问题HalveOil 某人用只10千克的桶装满了一桶油去卖,正好来了两个买油的,每人要买5千克,但没有秤,只有两只可装7千克和3千克的空桶。问怎样利用这两只空桶将油平均分成两份 很显然,每次倒油时必须是倒空或倒满一只桶。三只桶里油的重量之和总是不变的,所以,我们只需讨论用来分油的两只桶装油数量的变化情况。这样我们便可通过平面上的点来表示各种可能的状态,如图 设三个桶的容量分别为C、B、A
5、 (B) 3●─●─●─●─●─●─●─● │ │ │ │ │ │ │ │ 2●─○─○─○─○─○─○─● (A) │ │ │ │ │ │ │ │(A) 1●─○─○─○─○─○─○─● │ │ │ │ │ │ │ │ 0●─●─●─●─●─●─●─● 0 1 2 3 4 5 6 7 (B) ●为可能状态 ○为不可
6、能状态若A+B>C则上面的矩形将不同程度地缺掉右上角。每倒油一次,三个桶便由一种状态变为另一种状态。如果用(B,A)表示两个分油桶装油的数量,那么,我们的目的是要将油倒来倒去,最后达到目标状态(5,0) 于是分油问题便成为在图中寻求从点(0,0)到点(5,0)的有向路径。有两个问题需要解决:一是有多少条不同的路径;二是哪条路径最短 对于问题一,我们采用回溯技术,于每种状态从上下左右斜五个方向对整个11状态空间进行搜索,直至找出所有解 对于问题二,利用上面的算法固然可以找出最佳解,但搜索整个状态空间却费时太多。必
7、须另外设计算法。下面算法的思想是:设三个桶由大到小分别为C,B,A并将其摆成三角形 C B A 第一轮,有条件地逆时钟方向倒油,直至达到目标状态 第二轮,有条件地顺时针方向倒油,达到目标状态后,比较两轮倒油的次数。较少者便是分油问题的最隹解==============================================================================================*/}//=======================
8、=======================================================================functionhalveOil(C,B,A){ varlabeled,dir,potB,potA,half,dirs,step; varinitiali
此文档下载收益归作者所有