数学建模--最佳分油模型

数学建模--最佳分油模型

ID:40843487

大小:276.00 KB

页数:12页

时间:2019-08-08

数学建模--最佳分油模型_第1页
数学建模--最佳分油模型_第2页
数学建模--最佳分油模型_第3页
数学建模--最佳分油模型_第4页
数学建模--最佳分油模型_第5页
资源描述:

《数学建模--最佳分油模型》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

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

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。