当前位置:
文档之家› 报童问题模型matlab实现
报童问题模型matlab实现
(期望收入和购进报纸数量 n 的函数图证明存在唯一的 n 使每天的收入最大,n 在 220 附近.)
5
3.先在 n 的输出框中输入要购进的报纸数量 n,点击 Test 键可得出该决策获得的 日期望收入。
(此时假设报童购进报纸数量为 150,Test 计算出报童每天的期望收入是 29.4)
三. 右侧面板是设置各种输入参数的面板,上面是“零售价 a,购进价 b,退回 价 c” 的输入面板, 注意要满足输入条件 a>b>c;在弹出菜单中可选择需求量的模 型 f(r),选定模型后, 参数的输入面板在下方显示, 重新输入参数即可更改分布模 型的参数。
《系统仿真与 Matlab》综合试题
题 目: 编 号: 难度系数:
报童问题模型 (1)
姓 名 班 级 学 号 联系方式 成 绩
自动化 1306 XXXXXXX XXXXXXX
XXXX
0
目录
问题描述…………………………………………………………………..…2 数学建模……………………………………………………………………..2 关键难点………………………………………………………………..……4 程序运行指南……………………………………………………………..…4 程序运行实例分析………………………………………………………......7
n
因为当购进 n 份报纸时,P 1
0
n
p(r) dr 是需求量 r 不超过 n 的概率, 即卖不完的概率;
n
0
p (r) dr
a b 为切入点求解问题,P 称为目标概率。 ac
三. 关键难点
1. 要求能够灵活更改零售价 a、购进价 b、退回价 c 的数值。 2. 为了充分模拟现实环境,需提供多种报纸需求量的概率模型;根据 f(r)的不同,f(r) 须输入的参数个数及输入数值、程序要调用的计算函数各不相同。 3. 仿真过程中,购进报纸数量 n 从零开始增加,需在坐标轴上做出概率 P 1 (左边阴影 部分)随 n 动态变化的动态效果。
二. 数学建模
【模型假设】 1. 众所周知,应该根据需求量确定购进量。需求量是随机的,假定报童已经通过自己的经 验或其它的渠道掌握了需求量的随机规律,即在他的销售范围内每天报纸的需求量为 r 份的概率是 f ( r )( r 0 , 1 , 2 , ) 。有了 f ( r ) 和 a ,b,c,就可以建立关于购进量的优化 模型了。 2. 假设每天购进量为 n 份,因为需求量 r 是随机的,r 可以小于 n ,等于 n 或大于 n ,致使 报童每天的收入也是随机的,所以作为优化模型的目标函数,不能是报童每天的收入, 而应该是他长期(几个月,一年)卖报的日平均收入。从概率论大数定律的观点看,这相 当于报童每天收入的期望值,即平均收入。
‘Test’检验:
即问题的最优解是 n=233,G(n)=66.7.
说明:如需 m 文件源码可联系邮箱 strong1994@
11
3.用‘Test’检验 n 值。分别设置 n=216,n=218,n=219,然后单击‘Test’.
分 别 有 G(216)=35.7328,G(218)=35.7368,G(219)=35.7347. 可 知 G(218 ) =35.7368>G(217)=35.7362,利用‘Test’可对 n 做修正,此时 n 修正为 218,G(n) 修正为 35.7368.
【模型的建立与求解】
记报童每天购进 n 份报纸时的平均收入为 G(n),如果这天的需求量 r≤n,则他售出 r 份, 退回 n-r 份; 如果这天的需求量 r>n, 则 n 份将全部售出, 考虑到需求量为 r 的概率是 f(r), 所以
G (n) [( a b) r (b c)(n r)]f(r)
0
p (r) dr
a b ac
(4)
P a b 1 P2 b c
(5)
3
n 应该使卖不完与卖完的概率之比,恰好等于卖出一份赚的钱 a-b 与退回一份赔的钱 b-c 之 比。显然,当报童与报社签订的合同使报童每份赚钱与赔钱之比越大时,报童购进的份数就 应该越多。 以 P=
P2 p (r) dr 是需求量 r 超过 n 的概率,即卖完的概率,所以(3)式表明,购进的份数
0 n n
(2)
计算
(a b) np(n) (a b) p (r) dr
dG 0, 得到 dn
0 n n n
n dG (a b) np(n) (b c) p(r) dr 0 dn
(b c) p(r) dr (a b) p (r ) dr
即问题的最优解是 n=309,G(n)=203.9494.
② 输入参数: 零售价a=2.0 退回价c 0.8 f (r )~U(100,500) 购进价b=1.6
10
输出参数:
n 233, G (n) 66.7 G(232)=66.698,G(233)=66.7,G(234)=66.699
7
该图是最终的运行结果,n 的最优解是 217,此时报童每天的期望收入是 35.7362 元。
2.单击‘Plot’画出日期望收入 G(n)与购进报纸数量 n 的函数关系图。
计算机绘图过程中有进度条弹出,作为进度提示。
8
坐标轴中显示 G(n)—n 的关系图,G(n)有最大值,G(n)取得最大值时 n 在 220 附近。图中 X,Y 轴的标签已改变。
四. 程序运行指南
一.打开‘Newspaper.m’文件,直接点击“Run”运行。
二. 程序的各项参数均已设置好默认参数。
4
1. 直接点击 Start 可计算出使收入最大的 n 值和收入期望值 G(n); (注意:计算 未完成前不要进行操作)
2. 直接点击 Plot 可以绘制日期望收入 G(n)与 n 的函数关系图。
9
二.修改默认参数设置,修改输入参数查看结果。 ① 输入参数: 零售价a=1.5 退回价c 0.5 f (r )~P(300) 购进价b=0.8
输出参数:
n 309, G (n) 203.9494
‘Test’检验:
G(308)=203.9402,G(309)=203.9494, G(310) 203.9388
6
四.设置好参数后,可按照第二步的方法来运行程序和计算、输出结果。
五. 程序运行实例分析
一. 按照程序默认的参数设置运行程序。 输入参数:
零售价a=1.0 退回价c 0.7 购进价b=0.8
1.单击‘Start’运行
f (r )~N(200,402 )
底部面板为结果输出框, 运算中 n 由 0 到 217 动态增加, P1 为图中的阴影部分 的面积,阴影随 n 逐渐扩大,呈现出动画效果,同时 P1 的数值与阴影联动,动态 增加。
4. 计算出购进报纸数量 n,还需验证 n 是否能使日收入期望值达到最大。在 n 的结果 输出框(亦为 n 值的输入框)输入给定 n 值,通过 Test 按键可计算出相应的日收入 期望 G(n). 5. 为证明 n 值的唯一性,做出日收入期望 G(n)随购进报纸数量 n 变化的二维图形,可 以看出存在唯一的 n 使 G(n)最大。
n r 0
r n 1
(a b) nf(r)
(1)
问题归结为在 f(r),a,b,c 已知时,求 n 使 G(n)最大。
2
通常需求量 r 的取值和购进量 n 都相当大,将 r 视为连续变量更便于分析和计算,这时 概率 f(r)转换成概率密度函数 p(r),(1)式变成
G (n) [(a b) r (b c)(n r)]p(r) dr (a b)np(r) dr
令
0Biblioteka nnp(r )dr
p(r) dr
a b bc
(3)
使报童日平均收入达到最大的购进量 n 应满足(3)式。因为 可以表为
n
0
p(r) dr 1, 所以(3)式又
根据需求量的概率密度 p(r)的图形很容易从(3)式确定购进量 n。在下图中用 P1,P2 分 别表示曲线 p(r)下的两块面积,则(3)式可记作
一. 二. 三. 四. 五.
1
一. 问题描述
为 b ,零售价为 a ,退回价为 c ,应该自然地假设为 a b c 。这就是说,报童售出一份报
报童每天清晨从报社购进报纸零售, 晚上将没有卖掉的报纸退回。 设报纸每份的购进价
纸赚 a b ,退回一份赔 b c 。报童每天如果购进的报纸太少,不够卖的,会少赚钱;如果 购进太多,卖不完,将要赔钱。请你为报童筹划一下,他应如何确定每天购进报纸的数量, 以获得最大的收入。