数学建模报童问题

计算机模拟

实验目的:

1. 学习计算机模拟的基本过程与方法; 2. 会做简单的计算机模拟。

实验内容:

一、了解什么是模拟

模拟就是利用物理的、数学的模型来类比、模仿现实系统及其演变过程,以寻求过程规律的一种方法。

模拟的基本思想是建立一个试验模型,这个模型包含所研究系统的主要特点.通过对这个实验模型的运行,获得所要研究系统的必要信息

模拟的方法: 1、物理模拟:

对实际系统及其过程用功能相似的实物系统去模仿。例如,军事演习、船艇实验、沙盘作业等。 物理模拟通常花费较大、周期较长,且在物理模型上改变系统结构和系数都较困难。而且,许多系统无法进行物理模拟,如社会经济系统、生态系统等。

2、数学模拟

在一定的假设条件下,运用数学运算模拟系统的运行,称为数学模拟。现代的数学模拟都是在计算机上进行的,称为计算机模拟。计算机模拟可以反复进行,改变系统的结构和系数都比较容易。

在实际问题中,面对一些带随机因素的复杂系统,用分析方法建模常常需要作许多简化假设,与面临的实际问题可能相差甚远,以致解答根本无法应用。这时,计算机模拟几乎成为唯一的选择。

二、报童问题

某报童以每份0.03元的价格买进报纸, 以0.05元的价格出售. 根据长期统计, 报纸每天的销售量及百分率为

已知当天销售不出去的报纸,将以每份0.02元的价格退还报社. 试用模拟方法确定报童每天买进报纸数

量, 使报童的平均总收入为最大? [1] 系统的假设: (1) 模拟时间充分大;

(2) 报童购买报纸量介于销售量最小值与最大值之间;

(3)不考虑有重大事件发生时卖报的高峰期,也不考虑风雨天气时卖报的低谷期。 [2] 问题分析

报童购进数量应根据需求量确定,但需求量是随机的,所以报童每天如果购进的报纸太少,不够买的,会少赚钱;如果购进太多,卖不完就要赔钱,这样由于每天报纸的需求量是随机的,致使报童每天的收入也是随机的,因此衡量报童的收入,不能是报童每天的收入,而应该是他长期(几个月、一年)卖报的日平均收入。我们可以应用计算机模拟的方法 在模拟时间充分大的条件下(例如10000天),模拟每天的销售量,因而确定每天应买进多少报纸才能使平均总收入达到最大值。

设该问题的销售量为离散型随机变量η,η有分布列P (η=x i ) =p i (i =1, 2 6) 。所谓对离散型随机变量η的模拟, 其实质就是通过计算机上的模拟试验来取得在真实试验下的样本值 U , 由分布列知U 只取数值x 1, x 2 中的某一个. 对离散型随机变量η的一般模拟方法如下:

(1) 在直线上将[0 ,1]区间划分成若干个子区间, 其分点记为A 1, A 2 A 6, 分点A i 的坐标

如下图所示:

i

∑p

k =1

k

=p k (i =1, 2, 6)

(2)在计算机上取伪随机数rand ;

(3)判定rand 在x 轴上所落的位置,若rand ∈(值取x i 。 [3] 符号假设

i -1

i

∑p , ∑p

k

k =1

k =1

k

) ,则可以认为η的一次真实试验样本

BUYMIN :每天的最小购买量 BUYMAX :每天的最大购买量 SIMUDAY :模拟时间

sell_amount:报童销售量 buy_amount: 报童购买量 percentage :销售百分率 ave_profit:总平均利润 loop_buy :当天购买量 loop_day :当天时间

[4] 模拟框图

[5] 计算机程序:在Matlab 软件包中编程,共需两个M-文件:main.m, Getprofit.m, 主程序为main.m. % 主文件main.m :

BUYMIN=200; % 每天的最小购买量 BUYMAX=250; % 每天的最大购买量

SIMUDAY=1.0e+5; % 模拟时间 sell_amount=200:10:250; % 销售量

percentage=[0.1 0.3 0.7 0.85 0.95 1]; % 百分率 buy_amount=0; ave_profit=0;

for loop_buy=BUYMIN:BUYMAX sum_profit=0;

for loop_day=1:SIMUDAY

index=find(percentage>=rand); % 产生随机数,用于决定当天的销售量 sum_profit=sum_profit+GetProfit(loop_buy,sell_amount(index(1))); end

buy_amount=[buy_amount,loop_buy]; % 循环嵌套 ave_profit=[ave_profit,sum_profit/SIMUDAY]; % 循环嵌套 end

buy_amount(1)=[]; % 第一个元素置空 ave_profit(1)=[];

[val,id]=max(ave_profit) % 显示最大平均收入val

buy=buy_amount(id) % 显示在平均收入最大情况下的每天的购买量buy xlabel=' 每天的购买量' ; ylabel='平均利润';

plot(buy_amount,ave_profit,'*:');

% 函数GetProfit.m 代码:

function re=GetProfit(a,b)

if a

else % 供过于求:报童购买量大于销售量 re=b*(0.05-0.03)+(a-b)*(0.02-0.03); end

运行结果:

val =4.2801 id =21 buy = 220

该结果说明当报童每天买进报纸数量为220,报童的平均总收入为最大,且最大为4.2801。

三、结果分析

使用计算机模拟法解决卖报童问题 ,在计算精度以及收敛速度问题上均能达到一个较好的效果 ,能有效地解决此问题。计算机模拟是运用计算机语言程序来模拟现实世界,为随机性库存问题提供了较合理的解决方法。通过本次实验,提高了我们对随机性的认知,对现实、模拟、理论推导等的了解。学习计算机模拟的基本过程与方法,会做简单的计算机模拟,提高了析问题与解决问题的能力,激发我们对于探寻科学真理的兴趣.

报 告 人:郭 舒

报告时间:2010年12月7日

计算机模拟

实验目的:

1. 学习计算机模拟的基本过程与方法; 2. 会做简单的计算机模拟。

实验内容:

一、了解什么是模拟

模拟就是利用物理的、数学的模型来类比、模仿现实系统及其演变过程,以寻求过程规律的一种方法。

模拟的基本思想是建立一个试验模型,这个模型包含所研究系统的主要特点.通过对这个实验模型的运行,获得所要研究系统的必要信息

模拟的方法: 1、物理模拟:

对实际系统及其过程用功能相似的实物系统去模仿。例如,军事演习、船艇实验、沙盘作业等。 物理模拟通常花费较大、周期较长,且在物理模型上改变系统结构和系数都较困难。而且,许多系统无法进行物理模拟,如社会经济系统、生态系统等。

2、数学模拟

在一定的假设条件下,运用数学运算模拟系统的运行,称为数学模拟。现代的数学模拟都是在计算机上进行的,称为计算机模拟。计算机模拟可以反复进行,改变系统的结构和系数都比较容易。

在实际问题中,面对一些带随机因素的复杂系统,用分析方法建模常常需要作许多简化假设,与面临的实际问题可能相差甚远,以致解答根本无法应用。这时,计算机模拟几乎成为唯一的选择。

二、报童问题

某报童以每份0.03元的价格买进报纸, 以0.05元的价格出售. 根据长期统计, 报纸每天的销售量及百分率为

已知当天销售不出去的报纸,将以每份0.02元的价格退还报社. 试用模拟方法确定报童每天买进报纸数

量, 使报童的平均总收入为最大? [1] 系统的假设: (1) 模拟时间充分大;

(2) 报童购买报纸量介于销售量最小值与最大值之间;

(3)不考虑有重大事件发生时卖报的高峰期,也不考虑风雨天气时卖报的低谷期。 [2] 问题分析

报童购进数量应根据需求量确定,但需求量是随机的,所以报童每天如果购进的报纸太少,不够买的,会少赚钱;如果购进太多,卖不完就要赔钱,这样由于每天报纸的需求量是随机的,致使报童每天的收入也是随机的,因此衡量报童的收入,不能是报童每天的收入,而应该是他长期(几个月、一年)卖报的日平均收入。我们可以应用计算机模拟的方法 在模拟时间充分大的条件下(例如10000天),模拟每天的销售量,因而确定每天应买进多少报纸才能使平均总收入达到最大值。

设该问题的销售量为离散型随机变量η,η有分布列P (η=x i ) =p i (i =1, 2 6) 。所谓对离散型随机变量η的模拟, 其实质就是通过计算机上的模拟试验来取得在真实试验下的样本值 U , 由分布列知U 只取数值x 1, x 2 中的某一个. 对离散型随机变量η的一般模拟方法如下:

(1) 在直线上将[0 ,1]区间划分成若干个子区间, 其分点记为A 1, A 2 A 6, 分点A i 的坐标

如下图所示:

i

∑p

k =1

k

=p k (i =1, 2, 6)

(2)在计算机上取伪随机数rand ;

(3)判定rand 在x 轴上所落的位置,若rand ∈(值取x i 。 [3] 符号假设

i -1

i

∑p , ∑p

k

k =1

k =1

k

) ,则可以认为η的一次真实试验样本

BUYMIN :每天的最小购买量 BUYMAX :每天的最大购买量 SIMUDAY :模拟时间

sell_amount:报童销售量 buy_amount: 报童购买量 percentage :销售百分率 ave_profit:总平均利润 loop_buy :当天购买量 loop_day :当天时间

[4] 模拟框图

[5] 计算机程序:在Matlab 软件包中编程,共需两个M-文件:main.m, Getprofit.m, 主程序为main.m. % 主文件main.m :

BUYMIN=200; % 每天的最小购买量 BUYMAX=250; % 每天的最大购买量

SIMUDAY=1.0e+5; % 模拟时间 sell_amount=200:10:250; % 销售量

percentage=[0.1 0.3 0.7 0.85 0.95 1]; % 百分率 buy_amount=0; ave_profit=0;

for loop_buy=BUYMIN:BUYMAX sum_profit=0;

for loop_day=1:SIMUDAY

index=find(percentage>=rand); % 产生随机数,用于决定当天的销售量 sum_profit=sum_profit+GetProfit(loop_buy,sell_amount(index(1))); end

buy_amount=[buy_amount,loop_buy]; % 循环嵌套 ave_profit=[ave_profit,sum_profit/SIMUDAY]; % 循环嵌套 end

buy_amount(1)=[]; % 第一个元素置空 ave_profit(1)=[];

[val,id]=max(ave_profit) % 显示最大平均收入val

buy=buy_amount(id) % 显示在平均收入最大情况下的每天的购买量buy xlabel=' 每天的购买量' ; ylabel='平均利润';

plot(buy_amount,ave_profit,'*:');

% 函数GetProfit.m 代码:

function re=GetProfit(a,b)

if a

else % 供过于求:报童购买量大于销售量 re=b*(0.05-0.03)+(a-b)*(0.02-0.03); end

运行结果:

val =4.2801 id =21 buy = 220

该结果说明当报童每天买进报纸数量为220,报童的平均总收入为最大,且最大为4.2801。

三、结果分析

使用计算机模拟法解决卖报童问题 ,在计算精度以及收敛速度问题上均能达到一个较好的效果 ,能有效地解决此问题。计算机模拟是运用计算机语言程序来模拟现实世界,为随机性库存问题提供了较合理的解决方法。通过本次实验,提高了我们对随机性的认知,对现实、模拟、理论推导等的了解。学习计算机模拟的基本过程与方法,会做简单的计算机模拟,提高了析问题与解决问题的能力,激发我们对于探寻科学真理的兴趣.

报 告 人:郭 舒

报告时间:2010年12月7日


相关文章

  • 带有二次定购和二次销售的报童模型
  • 第23卷第2期2009年 5月 JOURNAL 山东轻工业学院学报 0F SHANDONG INSTITUTE 0F UGHT INDUSTRY V01.23Mar. No.220()9 文章编号:1004-4280(2009)02-008 ...查看


  • 采购管理课程论文
  • 采购与供应链管理结课作业 采购管理中随机存储问题研究 0引言 0.1研究背景 采购管理对企业生产经营有着全局性的影响.采购管理要求采购部门在保证质量的前提下,在恰当的时期,以最优成本从适当的.可靠的渠道取得所需要的物料和服务.激烈的市场竞争 ...查看


  • [卖报歌]教学设计
  • <卖报歌>教学设计 回二北塔校区 赵翠玉 教材分析: <卖报歌>歌曲欢快活泼.唱起来朗朗上口.歌曲中的主人公与学生年纪相仿,所以整体比较贴近 学生的情感世界和心理特点. 歌曲为F宫调式,四二拍.开始即以跳跃的节奏,简 ...查看


  • "感受与体验"
  • "感受与体验"教学案例 -<卖报歌>.<码头工人歌> 设计理念: 音乐是听觉艺术,同时也是情感艺术.是靠人的内心体验来完成的.因此设计本课时,主要是让学生从聆听音乐,表现音乐和音乐创造活动来完成审 ...查看


  • 小学三年级音乐[卖报歌]说课稿
  • <卖报歌>说课稿 说课教师:敖登梅 工作单位:大平乡五里小学 教材说明: 音乐教育面对的是全体学生,从教育理念上来讲,强调了"以学生发展为本",教材的编写以审美为中心,以音乐文化为主线,加强实践与创造,综合与 ...查看


  • 小故事:爱迪生的成长故事
  • 时间:2015-10-29 1847年,爱迪生出身于美国一个普通的家庭.从小,他对周围的一切就充满好奇,凡事总爱比别人多问几个为什么.有一天该吃饭了,妈妈却发现爱迪生不见了,全家人找来找去,最后在鸡窝里找到了他,原来他看到母鸡孵出小鸡,他自 ...查看


  • [少年中国梦]观后感
  • <少年中国梦>观后感 "没想到京剧能这么好看!"这是同学们在看完京剧<少年中国梦>的感叹.的确,这台京剧使我们改善了对京剧枯燥无味的感觉. 这台京剧演绎了陶行知和一群报童们之间学习.交流.感人的故 ...查看


  • 励志小故事:成功的秘密
  • 那一年,由于残酷的市场竞争,美国的一家大名鼎鼎的凯利公司,面临有史以来最为严峻的生存考验,销售额急剧下降,一大批高级员工陆续离开公司,剩下的许多员工也深感前景岌岌可危,纷纷开始考虑自己的退路.一时间,公司上下笼罩着浓浓的悲观氛围,公司也到了 ...查看


  • 文明礼仪教育故事
  • 我的文明礼仪教育故事 摘要:在现代社会,学习和遵守文明礼仪,对于一个人.一座城市乃至一个国家有着十 分重要的作用和意义. 礼仪是人类为维持社会的正常运转而要求人们共同遵守的最基本的道 德规范.对一个人来说,是一个人的思想道德水平.文化修养. ...查看


热门内容