报童卖报问题.doc_第1页
报童卖报问题.doc_第2页
报童卖报问题.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

报童卖报问题问题描述: 某报童以每份0.03元的价格买进报纸,以0.05元的价格出售. 根据长期统计,报纸每天的销售量及百分率为 销售量200210220230240250百分率0.100.200.400.150.100.05已知当天销售不出去的报纸,将以每份0.02元的价格退还报社.试用模拟方法确定报童每天买进报纸数量,使报童的平均总收入为最大?1. 系统的假设:(1) 模拟时间充分大;(2) 报童购买报纸量介于销售量最小值与最大值之间;(3)不考虑有重大事件发生时卖报的高峰期,也不考虑风雨天气时卖报的低谷期。2. 问题分析报童售报: a (零售价) b(购进价) c(退回价)售出一份赚 a-b;退回一份赔 b-c每天购进多少份可使收入最大?购进太多卖不完退回赔钱购进太少不够销售赚钱少应根据需求确定购进量每天需求量是随机的每天收入是随机的优化问题的目标函数应是长期的日平均收入,等于每天收入的期望 3. 符号假设BUYMIN:每天的最小购买量 BUYMAX:每天的最大购买量SIMUDAY:模拟时间sell_amount:报童销售量 buy_amount: 报童购买量percentage:销售百分率 ave_profit:总平均利润loop_buy :当天购买量 loop_day :当天时间4.建立模型 调查需求量的随机规律每天需求量为 r 的概率 f(r), r=0,1,2 设每天购进 n 份,日平均收入为 G(n)已知售出一份赚 a-b;退回一份赔 b-c 求 n 使 G(n) 最大5. 计算机程序:在Matlab软件包中编程,共需两个文件: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:SIMUDAYindex=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; % 循环嵌套endbuy_amount(1)=; % 第一个元素置空ave_profit(1)=;val,id=max(ave_profit) % 显示最大平均收入valbuy=buy_amount(id) % 显示在平均收入最大情况下的每天的购买量buyxlabel=每天的购买量;ylabel=平均利润;plot(buy_amount,ave_profit,*:);% 函数GetProfit.m代码:function re=GetProfit(a,b)if ab % 供不应求:报童购买量小于销售量 re=a*(0.05-0.03); else % 供过于求:报童购买量大于销售量 re=b*(0.05-0.03)+(a-b)*(0.02-0.03); end

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论