欢迎来到天天文库
浏览记录
ID:41164522
大小:54.51 KB
页数:3页
时间:2019-08-18
《报童卖报问题》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、报童卖报问题问题描述:某报童以每份0.03元的价格买进报纸,以0.05元的价格出售.根据长期统计,报纸每天的销售量及百分率为销售量200210220230240250百分率0.100.200.400.150.100.05已知当天销售不出去的报纸,将以每份0.02元的价格退还报社.试用模拟方法确定报童每天买进报纸数量,使报童的平均总收入为最大?1.系统的假设:(1)模拟时间充分大;(2)报童购买报纸量介于销售量最小值与最大值之间;(3)不考虑有重大事件发生时卖报的高峰期,也不考虑风雨天气时卖报的低谷期。2.问题分析报童售报:a(
2、零售价)>b(购进价)>c(退回价)售出一份赚a-b;退回一份赔b-c每天购进多少份可使收入最大?购进太多→卖不完退回→赔钱购进太少→不够销售→赚钱少应根据需求确定购进量每天需求量是随机的→每天收入是随机的优化问题的目标函数应是长期的日平均收入,等于每天收入的期望3.符号假设BUYMIN:每天的最小购买量BUYMAX:每天的最大购买量SIMUDAY:模拟时间sell_amount:报童销售量buy_amount:报童购买量percentage:销售百分率ave_profit:总平均利润loop_buy:当天购买量loop_da
3、y:当天时间4.建立模型调查需求量的随机规律——每天需求量为r的概率f(r),r=0,1,2…设每天购进n份,日平均收入为G(n)已知售出一份赚a-b;退回一份赔b-c求n使G(n)最大5.计算机程序:在Matlab软件包中编程,共需两个M-文件:main.m,Getprofit.m,主程序为main.m.%主文件main.m:BUYMIN=200; % 每天的最小购买量BUYMAX=250; % 每天的最大购买量SIMUDAY=1.0e+5; %模拟时间sell_amount=200:10:250; %销售量p
4、ercentage=[0.10.30.70.850.951]; % 百分率buy_amount=0;ave_profit=0;forloop_buy=BUYMIN:BUYMAX sum_profit=0; forloop_day=1:SIMUDAY index=find(percentage>=rand);%产生随机数,用于决定当天的销售量 sum_profit=sum_profit+GetProfit(loop_buy,sell_amount(index(1))); end buy_amo
5、unt=[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
6、,'*:');%函数GetProfit.m代码:functionre=GetProfit(a,b)ifa
此文档下载收益归作者所有