数学实验8

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实验8连续系统与离散系统的计算机模拟1、定货策略问题在物资的供应过程中,由于到货与销售不可能做到同步、同量,故总要保持一定的库存储备.如果库存过多,就会造成积压浪费以及保管费用的上升;如果库存过少,会造成缺货。如何选择库存和订货策略,就是一个需要研究的问题。现要研究以下问题:某自行车商店的仓库管理人员采取一种简单的订货策略,当库存降低到P辆自行车时就向厂家订货Q辆,如果某一天的需求量超过了库存量,商店就有销售损失和信誉损失,但如果库存量过多,将会导致资金积压和保管费增加.若现在已有如表9.1中的五种库存策略,试比较选择一种策略以使花费最少.已知该问题的条件1)从发出订货到收到货物需隔3天;2)每辆自行车保管费为0.75元/天,每辆自行车的缺货损失为1.80元/天,每次的订货费为75元;3)每天自行车的需求量服从0到99之间的均匀分布;4)原始库存为115辆,并假设第一天没有发出订货.表9.1方案编号12345重新订货量P辆125125150175175重新订货量Q辆150250250250300解:对一年的情况进行模拟,写出伪代码如下:%初始化数据,P=175;%策略参数Q=150;Stock=115;%初始库存demand(1:365)=0;%初始化存储数据的变量stock(1:365)=0;dcost(1:365)=0;order(1:365)=0;fork=1:365%模拟一年365天生成随机需求;%产生随机数是模拟的核心思想计算销售前库存;根据策略计算当天费用,销售后库存,订货数;End计算总费用;其他数据处理;--------------------------------------------------------------------------------------------------------详细代码见后。----------------------------------------模拟一个策略-------------------------------------------------%初始数据clear;P=175;Q=50;Stock=115;%初始库存数demand=zeros(365,1);%每天需求数order=zeros(365,1);%每天到货数stock=zeros(365,1);%每天实际库存数dcost=zeros(365,1);%每天费用stock(1)=Stock;%第一天销售前库存数fork=1:365%模拟一年365天demand(k)=floor(unifrnd(0,100));%生成随机需求量if(k1)%从第二天起stock(k)=stock(k-1)+order(k);%销售前库存数=前一天库存数+到货数end%调用函数calcu计算费用,销售后库存数,订货数(第四天到货)[dcost(k),stock(k),order(k+4)]=calcu(stock(k),demand(k),P,Q);endtcost=sum(dcost)%总费用plot(stock);%库存图holdon;plot(demand,'r');%需求图结果如下:tcost=1.2757e+006050100150200250300350400050100150200250300库存图需求图function[dcost,lstock,order]=calcu(stock,demand,p,q);%calcu函数:计算费用,库存及订货数%输入参数:stock当天销售前库存,demand当天需求,p,q均为策略参数%返回值:dcost当天费用,lstock当天销售后库存,order当天订货数if(stockdemand)%缺货缺货损失+订货费dcost=1.8*(demand-stock)+75*q;lstock=0;order=q;%订货数qelseif(stock-demandp)%库存低保管费+订货费dcost=0.75*(stock-demand)+75*q;lstock=stock-demand;order=q;%订货数qelse%库存充足保管费dcost=0.75*(stock-demand);lstock=stock-demand;order=0;%订货数0endend-------------------------五个策略一起模拟------------------------------如果对五个策略做五次模拟,每次得到的随机需求数是不一样的,不好比较,因此五个策略一起模拟。由于Matlab处理向量的优势,我们可以很容易地改变程序来实现一次模拟五个策略。--------------------------------------------------------------------MATLAB代码如下:%初始化数据,P=[125125150175175];Q=[150250250250300];Stock=115*ones(1,5);demand=zeros(365,5);%每天需求数order=zeros(365,5);%每天到货数stock=zeros(365,5);%每天实际库存数dcost=zeros(365,5);%每天费用stock(1,:)=Stock;%第一天销售前库存数fork=1:365%模拟一年365天demand(k)=floor(unifrnd(0,100));%生成每天随机需求量,与策略无关form=1:5%m种策略对同一需求分别模拟if(k1)%从第二天起stock(k,m)=stock(k-1,m)+order(k,m);%销售前库存数=前一天库存数+到货数end%计算费用,销售后库存数,订货数(第四天到货)[dcost(k,m),stock(k,m),order(k+4,m)]=calcu(stock(k,m),demand(k),P(m),Q(m));endendtcost=sum(dcost)得结果:tcost=1.0e+006*1.31681.38561.45951.45121.4937则由计算结果知,第一种库存策略所花费用最少,费用为1316800元.

1 / 4
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功