实验报告
课程名称:系统仿真实验名称:库存系统仿真程序设计院(系):管理学院专业班级:姓名:学号:指导教师:
20__年11月29日
《系统仿真》实验报告(参考格式,16K纸)课程名称:系统仿真
实验项目名称:库存系统仿真程序设计实验类型:综合型实验
学生姓名:专业:班级:指导教师:
实验地点:西楼机房实验日期:20__年11月28日
一、实验目的和要求
系统仿真是管理科学专业的一门专业必修课,是建立在系统科学、计算机技术和计算方法等基础上的一门综合性很强的课程,它是分析、综合各类工程系统和非工程系统的一种研究方法和有力的手段。而实验课是为了巩固课堂所学内容,让学生亲自上机操作。其目的主要是使学生真正了解计算机仿真相关知识,通过实验训练进一步培养学生分析问题和解决问题的能力,使学生掌握在实际系统中应用系统仿真的方法和步骤。
本实验要求学生针对一个库存系统进行详细的问题分析、建模、编程、上机调试等,要求学生掌握对实际系统计算机仿真的一般过程和基本方法。在实验的全过程中,培养学生勤奋学习、求真、求实的科学品德,培养学生的动手能力、思维能力、想象能力、表达能力。
二、实验内容和原理
1.内容
某自行车商店的仓库管理人员采取一种简单的订货策略,当库存量降低到P辆自行车时就向厂家订货,每次订货Q辆,如果某一天的需求量越过了库存量,商店就有销售损失和信誉损失,但如果库存量过多,将会导致资金积压和保管费增加.若现在已有如下表所示的五种库存策略,试比较选择一种策略以使总费用最少.
这个问题的已知条件是:
1)从发出订货到收到货物需隔3天.
2)每辆自行车保管费为0.75元/天,每辆自行车的缺货损失为1.80元/天,每次的订货费为75元.
3)每天自行车需求量是0到99之间均匀分布的随机数.
4)原始库存为115辆,并假设第一天没有发出订货.
要求用计算机按天仿真仓库货物的变动情况却很方便.可以150天为例,依次对这五种方案进行仿真,最后比较各方案的总费用,从而作决策.
2.原理
输入一些常数和初始数据后,以一天为时间步长进行仿真.
1)检查这一天是否为预定到货日期,如果是,则原有库存量加Q,并把预定到货量清为零;如果不是,则库存量不变;
2)接着仿真随机需求量,这可用计算机语言中的随机函数得到.若库存量大于需求量,则新的库存量减去需求量;反之,则新库存量变为零,并且要在总费用上加一缺货损失.
3)检查实际库存量加上预定到货量是否小于重新订货点P,如果是,则需要重新订货,这时就加一次订货费.
如此重复运行150天,即可得所需费用总值.
三、仪器名称及主要规格(包括量程、分度值、精度等)、材料
计算机(配置),
四、实验步骤
填题目分析
这一问题用解析法讨论比较麻烦,但用计算机按天仿真仓库货物的变动情况却很方便.我们以150天为例,依次对这五种方案进行仿真,最后比较各方案的总费用,从而就可以作出决策.
程序框图
五、实验结果及分析(调试中出现问题及解决)
第1种方案的150天的总费用为:11884.8元
第2种方案的150天的总费用为:11314.8元
第3种方案的150天的总费用为:15764元
第4种方案的150天的总费用为:17604.3元
第5种方案的150天的总费用为:18463.5元
经过计算机仿真、比较可得出:第2种方案最优,其150天的总费用为:11314.8元Pressanykeytocontinue
六、体会
通过本次实验,掌握了事件步长法仿真实验的基本原理和实践步骤,并通过该原理解决了实际问题,达到了学以致用的目的。
七、结果(附程序源码及运行结果)
程序代码
include
include
include
usingnamespacestd;
intmain()
srand((unsigned)time(NULL));
intprePoint,preQuantity,prePeriod,preCost,
needCount,primNum,lackNum,order,optPro,orderCost;
prePeriod=3;/订货到收货的时间间隔
doublekeepCost=0.75;/保管费
doublelackLoss=1.8;/缺货损失费
preCost=75;/订货费
primNum=115;/原始库存
doublettCost=0;
doubleoptSche=;
order=0;/未定货时的状态
for(intj=1;j<=5;j++){
if(j==1){
prePoint=125;
preQuantity=100;
}elseif(j==2){
prePoint=125;
preQuantity=150;
}elseif(j==3){
prePoint=150;
preQuantity=250;
}elseif(j==4){
prePoint=175;
preQuantity=250;
}elseif(j==5){
prePoint=175;
preQuantity=300;
ttCost=0;
orderCost=0;
for(inti=1;i<=150;i++){
if(primNum if(i!=1){/检测和订货 if(i!=148i!=149i!=150order==0){/这三天不再订货 }order=i;orderCost+=75; if((i-order)%3==0order!=0order!=i){ if(needCount primNum=primNum-needCount;lackNum=0;needCount=rand()%100;/产生今天的需求量}primNum+=preQuantity;/收货order=0;/把订货状态重置为0,即未订货状态}}}else{lackNum=needCount-primNum; primNum=0; ttCost+=primNumkeepCost+lackNumlackLoss; if(ttCost+orderCost optSche=ttCost+orderCost; optPro=j; }cout<<"第"< cout< return0; 运行结果 教师签名: 年月日八、教师评语和成绩