随机模拟实验
- 设某种商品每周的需求量服从(10,30)上的均匀分布,而商店的进货量为(10,30)中的某一整数,商店每销售一单位商品,可获利500元;若供大于求,导致积压1单位商品,将亏损100元;若供不应求,则可从外部调剂,此时每1单位商品仅获利300元。请编写随机模拟程序计算,为使每周获利的数学期望最大,最佳的进货量是多少?(注:随机模拟的思想为:step1.产生(10,30)上一随机数,作为这一周的需求量,根据其与的关系计算这周的获利;重复step1
N(可取1万)次,计算这N次获利的平均,作为每周获利的数学期望(实际是它的估计))
clc;clear;
Total_profit_goods = 0; %商品的总利润
Number_random_simulations = 10000; %随机模拟的次数
Profit = zeros(1,20); %存储利润数据
Supply_profit_storage = struct('supply_goods',[],'profit',[]); %创建结构体
%两种方法
% Demand_goods = round(rand(1,Number_random_simulations)*20+10);
Demand_goods = randi([10,30],1,Number_random_simulations); %随机产生Number_random_simulations次商品的需求量,范围为[10,30]的整数
i = 0;
Supply_goods = 9; %商品的供货量
while Supply_goods < 30
Supply_goods = Supply_goods + 1;
while i < Number_random_simulations
i = i + 1;
if Demand_goods(i) > Supply_goods %商品的需求量 大于 商品的供货量
Total_profit_goods = Total_profit_goods + ((Demand_goods(i) - Supply_goods) * 300 + Supply_goods * 500);
else %商品的需求量 小于或等于 商品的供货量
Total_profit_goods = Total_profit_goods + (Demand_goods(i) * 500 - (Supply_goods - Demand_goods(i)) * 100);
end
end
Total_profit_goods = Total_profit_goods / Number_random_simulations;
% 直接将利润存入数组
% Profit(i) = Total_profit_goods;
% 使用结构体存入商品供货量及利润,可查看供货量与利润的关系
Supply_profit_storage(Supply_goods - 9).supply_goods = Supply_goods;
Supply_profit_storage(Supply_goods - 9).profit = Total_profit_goods;
fprintf('供货量为%d时,利润值为:%f\n',Supply_goods,Total_profit_goods);
i = 0;
Total_profit_goods = 0;
end
% 当用结构体存储时,需要下面的
for i = 1:21
Profit(i) = Supply_profit_storage(i).profit;
end
[MAX,INDEX] = max(Profit);
fprintf('当供货量为%d时,利润最大。利润值为:%f\n',INDEX + 10,MAX);
供货量为10时,利润值为:7997.000000
供货量为11时,利润值为:8183.290000
供货量为12时,利润值为:8354.190000
供货量为13时,利润值为:8510.510000
供货量为14时,利润值为:8653.030000
供货量为15时,利润值为:8781.480000
供货量为16时,利润值为:8895.860000
供货量为17时,利润值为:8995.960000
供货量为18时,利润值为:9082.500000
供货量为19时,利润值为:9154.880000
供货量为20时,利润值为:9213.010000
供货量为21时,利润值为:9256.770000
供货量为22时,利润值为:9285.560000
供货量为23时,利润值为:9299.260000
供货量为24时,利润值为:9297.750000
供货量为25时,利润值为:9282.530000
供货量为26时,利润值为:9253.360000
供货量为27时,利润值为:9209.730000
供货量为28时,利润值为:9152.540000
供货量为29时,利润值为:9080.440000
供货量为30时,利润值为:8994.000000
当供货量为24时,利润最大。利润值为:9299.260000