库存系统仿真程序设计实验报告参考格式

时间:2024.4.22

课程名称:       系统仿真           

实验名称:   库存系统仿真程序设计      

院 (系):       管理学院            

专业班级:                          

姓    名:                          

学    号:                          

指导教师:                          

                   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元

Press any key to continue

六、体会

通过本次实验,掌握了事件步长法仿真实验的基本原理和实践步骤,并通过该原理解决了实际问题,达到了学以致用的目的。

七、结果(附程序源码及运行结果)

程序代码

#include<iostream>

#include<stdlib.h>

#include<time.h>

using namespace std;

int main()

{

    srand((unsigned)time(NULL));

int prePoint, preQuantity,prePeriod,preCost,

needCount,primNum,lackNum,order,optPro,orderCost;

    prePeriod = 3;            //订货到收货的时间间隔

    double keepCost = 0.75;          //保管费

    double lackLoss = 1.8;           //缺货损失费

    preCost = 75;             //订货费

    primNum = 115;            //原始库存

    double ttCost = 0;

    double optSche = 1000000;

         order = 0;                //未定货时的状态

for (int j=1; j<=5; j++) {

         if (j == 1){

                   prePoint = 125;           //重新订货点

        preQuantity = 100; 

         } else if (j == 2){

                   prePoint = 125;           

        preQuantity = 150; 

         } else if (j == 3){

                   prePoint = 150;         

        preQuantity = 250; 

         } else if (j == 4){

                   prePoint = 175;           

        preQuantity = 250; 

         } else if (j == 5){

                   prePoint = 175;           

        preQuantity = 300; 

         }

    ttCost = 0;                        //总费用初始化为0

    orderCost = 0;                   //订货费

         for (int i=1; i<=150; i++) {

                   if (primNum < prePoint) {    

                            if (i != 1 ) {    //检测和订货

                   if (i != 148 && i!=149 && i!= 150 && order == 0) {    //这三天不再订货

                                                 order = i;

                                                 orderCost += 75;

                                      }                      

                    if ((i - order)%3 == 0 && order != 0 && order != i) {                          

                                     primNum += preQuantity;   //收货

                                          order = 0;               //把订货状态重置为0,即未订货状态       

                                  }

                            }       

                   } 

                   needCount = rand()%100;      //产生今天的需求量

         if (needCount < primNum) {

                      primNum = primNum - needCount;

                      lackNum = 0;      

              } else {

                     lackNum = needCount - primNum;

           primNum = 0;                   

                    }     

        ttCost += primNum * keepCost + lackNum * lackLoss;

        } 

    if (ttCost + orderCost < optSche) {

             optSche = ttCost + orderCost;

         optPro = j;

         }

         cout<<"第"<

}    

cout<

return 0;

}

运行结果

 

八、教师评语和成绩

教师签名:

年  月  日

更多相关推荐:
系统仿真综合实验报告

实验报告书四川大学课程实验报告课程名称学生姓名学生学号专业系统仿真综合实验1实验报告书一实验目的系统仿真是运用仿真软件如simio创造模型来构建或模拟现实世界的虚拟实验室它能过帮助你探寻你所关注的系统在给定的条...

物流系统仿真实验报告

实验报告课程名称物流系统仿真实验类型上机实验项目名称Flexsim仿真软件操作学生姓名xxx专业物流工程学号XXXXXX同组学生姓名指导老师XXXXXX实验地点XXXXXX实验日期20xx1029一实验目的和要...

系统仿真实验报告模版

控制系统仿真实验学习总结报告题目XXXXXXXXXXXX院系电子信息与控制工程系专业测控技术与仪器专业授课教师陈政强石玉秋本科生XXX班级测控081082学号完成时间20xxXX1实验内容2系统数学模型的建立实...

系统仿真实验报告

系统仿真实验报告学生姓名院系名称专业名称班级学号指导教师完成时间XX商学院工业工程XXXXXXXXXXXXXXXX201X年X月X日目录1系统仿真实验概述12系统仿真实验目的23系统仿真实验内容231系统仿真实...

系统工程仿真实验报告

系统工程仿真实验报告姓名蒋智颖学号110061047成绩实验一基于VENSIM的系统动力学仿真一实验目的VENSIM是一个建模工具可以建立动态系统的概念化的文档化的仿真分析和优化模型PLE个人学习版是VENSI...

控制系统仿真实验报告 (2)

昆明理工大学电力工程学院学生实验报告实验课程名称控制系统仿真实验开课实验室年月日实验一电路的建模与仿真一实验目的1了解KCLKVL原理2掌握建立矩阵并编写M文件3调试M文件验证KCLKVL4掌握用simulin...

西安交通大学仿真实验报告

西安交通大学实验报告系别物理系光信息21班实验日期20xx1130姓名青鹏学号2120xx5012一实验简介实验名称碰撞过程中守恒定律的研究动量守恒定律和能量守恒定律在物理学中占有非常重要的地位力学中的运动定理...

大学物理仿真实验报告--守恒实验报告

西安交通大学实验报告实验名称碰撞过程中守恒定律的研究系别实验日期姓名学号一实验简介动量守恒定律和能量守恒定律在物理学中占有非常重要的地位力学中的运动定理和守恒定律最初是冲牛顿定律导出来的在现代物理学所研究的领域...

系统仿真实验报告

系统仿真实验报告班级电气工程及其自动化1301班学号姓名指导老师完成时间20xx年4月19日目录实验一MATLAB中矩阵与多项式的基本运算1实验二MATLAB绘图命令8实验三MATLAB程序设计10实验四实验五...

交通系统仿真实验报告

实验报告课程名称道路交通系统仿真学生姓名学号专业班级指导教师院系名称交通运输工程学院20xx年11月10日实验一随机数生成程序一实验要求产生11000的随机数个数大约256个二实验环境工具使用VisualC60...

生产系统仿真实验-1实验报告

实验一利用eMPlant构建简单的生产物流系统管治华12物流1班20xx0310140118一实验目的熟悉生产和物流系统仿真软件eMPlant的安装过程及工作环境能够利用eMPlant构建一个简单的生产物流系统...

昆明理工大学计算机仿真实验报告20xx级

昆明理工大学计算机仿真上机实验报告实验一常微分方程的求解及系统数学模型的转换一实验目的通过实验熟悉计算机仿真中常用到的Matlab指令的使用方法掌握常微分方程求解指令和模型表示及转换指令为进一步从事有关仿真设计...

系统仿真实验报告(32篇)