毕业设计(论文)-基于C语言的仓库订货系统的仿真.doc_第1页
毕业设计(论文)-基于C语言的仓库订货系统的仿真.doc_第2页
毕业设计(论文)-基于C语言的仓库订货系统的仿真.doc_第3页
毕业设计(论文)-基于C语言的仓库订货系统的仿真.doc_第4页
毕业设计(论文)-基于C语言的仓库订货系统的仿真.doc_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

安徽三联学院毕业论文 本科毕业论文(设计、创作)题目: 基于C语言的仓库订货系统的仿真 学生姓名: 学号: 所在系院: 信息与通信技术系 专业: 电子信息工程 入学时间: 2010 年 9 月导师姓名: 职称/学位: 副教授/硕士/讲师/硕士 导师所在单位: 完成时间: 2014 年 5 月安徽三联学院教务处 制安徽三联学院毕业论文基于C语言的仓库订货系统的仿真摘要:考虑日益复杂的库存管理成本的问题,文中运用计算机C语言仿真的方法来仿真离散的库存订货系统。首先,该建模方法的特点是离散事件模拟系统,研究事件规划;其次,模型创建随机存储系统,基于问题的完整描述,建立一个目标函数,并给出了解决涉及随机变量的方法体系;最后,仿真造型设计,包括事件的定义,参数描述,建模的主要设计。这篇文章的主要内容是适用于物流企业的发展和政策,以降低成本,提高盘点的效率是很重要的。随着科学技术的不断提高,计算机科学不断发展,其强大的功能已经被人们深刻认识,它已经进入了人类社会的各个领域并发挥着越来越重要的作用。因此,开发一个仓库订货系统是很有必要的,具有其特有的技术意义和管理意义。关键词:离散系统; 仿真; 订货The simulation of warehouse order system based on C languageAbstract:Consider increasingly issues of management costs , the papers use of computer simulation methods in C language and discrete system simulation system inventory ordering system. First, the characteristics of the modeling approach is a discrete event simulation system to study event planning; Second, create a random storage model, based on a complete description of the problem, the establishment of an objective function, and gives a solution involving random variables methodology; Finally, simulation design, including the definition of the event, parameter descriptions, main design modeling. The main content of this article is applicable to the development of logistics enterprises and policies to reduce costs, improve inventory efficiency is very important.With the continuous improvement of science and technology, computer science continues to develop, its powerful features have been deeply understand that it has entered into various fields of human society and play an increasingly important role. Therefore, the development of a warehouse ordering system is necessary, with its unique technology and managerial implications.Key words: The discrete system ; simulation; place an order2目 录第一章 引言11.1 先进的国外仿真软件应用概述11.2 所研究问题的提出21.3 与存储相关的费用3第二章 离散随机库存系统模型42.1 库存系统分析62.2 参变量描述72.3 仿真主程序设计82.4 库存管理费的计算8第三章 系统详细设计113.1 仿真模型与仿真流程图113.2 程序清单133.3 C语言编写的方案程序133.4 输出结果16第四章 结论及展望17致谢18参考文献191第一章 引言随着科学技术、信息和计算机技术尤其是快速发展的发展,数学“建模”技术的概念在不断发展和完善,从而给建模的一个明确定义也不是那么难。但如果研究的目的不同,也就有不同形式的模型。因此,适当的建模方法也不尽相同,分别对应于时间连续和时间离散系统的仿真建模系统。离散变化的事件系统指的是系统中的发生的物理条件在一个随机的时间。两者主要的区别在于,连续系统:每时每刻都可计算状态的变化。离散系统的状态变化是随机的。离散系统的状态,主要是发生在随机的时间点,而该事件的变量是离散时间变量。该系统的动态特性不能用这种类型的数学方程微分方程来描述。但可以用活动图或流程图来描述这类系统地行为。所以,离散事件系统仿真的目的是系统事件本事,而不是用连续系统特性来分析物理系统的状态轨迹。随着现代科学技术不断进步,以及科计算机软件和硬件的高速发展,仿真技术已成为分析各类现实系统地有力工具,特别是有很多有效的研究方法和强大的研发工具系统,承担不可或缺的作用。C语言计算机仿真(C language computer simulation)是指利用C语言术进行计算机仿真,其功能和作用是对系统进行动态仿真。仿真中的效率模型的重复性,效益性,安全性,可靠性,控制性,可用性等性能,已经用在分析,设计,测试,评估等许多复杂的系统中。 1.1 先进的国外仿真软件应用概述 自上世纪60年代初就有国家开始开发语言建模,比较著名的有、和等仿真语言。近1990年以来,比较显著的建模可视化,编程和虚拟现实技术,由此开发了很多功能强大和可观的仿真软件。我国的仿真研究和应用起于上世纪年代左右,如今已经成功地应用于生产自动控制,物理化学的基础研究和物流系统的分析等社会的各个领域。 下面是已有仿真软件的建模主要特征:()一个更好的人机界面,提供了基本的项目管理功能和输入功能;()建立系统模型,逻辑和设备参数,并保存为模型文件; ()随机变量的输入产生、调用以及存储;()最主要的仿真程序核心,包括编程和运行;()模型的图形显示;()数据分析和统计;()仿真结果输出。最近仿真软件充分吸收了方法学、自动控制、系统工程、计算机、人工智能等技术的优秀成果,进而得到很大的突破发展。在运行速度,存储容量,面向对象设计,可视化和图形化界面,以及开放式的结构等都取得了巨大的进步,对系统仿真技术亦相应地产生了广泛与深刻的影响,重要模块的解决方向,计算机辅助建模,可视化、仿真系统图形界面和与其他系统面向对象的集成问题将接踵而至。1.2所研究问题的提出 由于产品流动性很强,商业部门大多不愿意有太多的库存而影响资金流通,而且产品到货与销售不同步、不同量,因此出于客观条件约束,总要保持一定的库存储备。如果仓库存货过多就会占用额外的存储费用;如果库存过少,就会对生产或销售造成影响,从而引起赤字问题。因此一个良好的库存订货系统是解决供需的一个很好的工具。由于供给和需求是随机的,不平衡的,这就造成库存问题更加繁琐复杂化。那么,在所需要资金最少的情况下,如何选择适当的库存方案,那就需要设计一个库存系统来解决此问题。以下几个方面是应用系统仿真技术针对库存系统进行的研究:(1)在规划和系统设计中,仿真分析是通过规划和设计系统模型完成的,要关注质量评价的规划并及时调整和修改,降低系统实施风险。(2)物料库存的控制:通过对系统状态的物流系统仿真的各个方面的库存,动态模拟出入库和库存水平的实际情况分析,有利于实现库存系统的合理控制,科学地掌握入库和出库的时机和数量。(3)库存成本的评估:制造库存系统是一个复杂的动态过程,通过对整个库存过程仿真系统的仿真技术,准确地计算出的库存系统的成本,也可以建立物流,库存管理,运输政策库存成本以及控制和规划之间的联系。(4)以某家电瓶车商店为例,仓库经理采取一种简单的订货方案,当库存量降到p台时(p称为定货点),就要向生产厂家定电瓶车,定货量为Q台(Q称为定货量)但是当某一天的需求量大于库存量时,电瓶车商店就会遭受销售损失和信誉损失。而且如果库存量过多,将会引起保管费增加,资金流动慢,造成商店供过于求等问题。因此如何选择一个合适的库存策略,使库存量最小,但又不会影响销售,这是在库存系统解决的主要问题。如果现在有以下五种存货方案表示,尽量选择一个方案,使库存总成本最低。如表1方案。表1. 仿真中用的五种订货方案 方案编号订货点p/辆订货量Q/辆方案1125100方案2150250方案3125150方案4175250方案5175300 这个问题的已知条件为: A.从发出定货到收到货物需要三天时间 B.设电瓶车保管费为2.50辆,每辆电瓶车的缺货损失为5.00元天,每次订货费为75元。 C.假如电瓶车需求量是从0开始到之间的随机数,且分布均匀。 D.假使原始电瓶车库存为115辆,且在第一天不需要订货。1.3与库存相关的费用(1)库存费:货物从进入仓库储存开始到卖出去这段时间内所产生的费用。(2)缺货费:仓库由于缺货对销售的影响所产生的费用。它的多少与缺货时间和缺货量多少有密切关系。第二章 离散随机库存系统模型 在本文中,系统仓库订货,库存变化是由于到达离散客户的需求是随机的,因此可以使用一个离散事件系统仿真方法进行分析。离散时间系统是指离散系统状态变化的系统发生在一个有限或可数点。这将导致行为的状态改变被称为“事件”,并且,这样的系统是由事件驱动的,另外“事件常常发生在随机时间”,也可以被叫做随机事件,这通常是离散事件系统的随机特性。而建模已经应用到广泛的实际系统中,但一个离散事件模拟模型中的每个部件是相似的,这些组件具有一个逻辑结构。在这种情况下,有助于程序编写和调试。离散事件系统仿真技术是具有事件时间推进和事件时间安排的基本仿真机制。如下图1所示:开始定义仿真模型输入仿真数据仿真模型初始化:TIME=0,累计统计量为零产生初始事件、定义系统初始状态事件安排事件排序、建立事件表时间推进扫描当前事件表置TIME=当前事件发生时刻事件处理执行当前处理例程更新系统状态变量、产生新的事件仿真结束?仿真数据输出、数据统计计算、打印报告结束?随机数发生器产生规定分布随机数NY图1 离散事件系统基本仿真机制系统状态:是用特定时间来描述此系统的专题变量集。仿真时钟:仿真时间变量的当前值。事件表:在发生各类事件时,是用来储存下一次事件发生时间以及事件的属性表。计数器:用来储存有相关性能统计数据的各个变量。初始化子程序:初定仿真时间为零,仿真开始时将仿真模型初始化的子程序。时钟推进子程序:从事件表中确定下次事件,然后将仿真时钟推进到该事件发生的时刻。事件处理子程序:在事件发生时,改变系统状态、更新计数器的值,策划新的未来事件,并把新的未来事件放入事件表中的子程序。报告子程序:用来计算各种所期望的性能测度的量,并在仿真结束时输出结果。2.1 库存系统分析 随机存储系统被用来研究对随机的需求,或已知问题的概率分布。由于需求是随机的,会导致销售损失,由于缺货损失,如果商品的库存较多,造成存储成本较高,因此需要存储策略的制定科学。有三种存储方案:一是订货是定期的,即订货时间是每隔一段时间,并且由上期末剩余数量确定本期订货量;二是定点订货,是指库存降到确定数量时开始订货, 不考虑时间周期,并且每次订货量是不变的;三是把定期订货与定点订货两者结合起来,每隔一定时间检查一次库存,看库存量还有多少,如果存储量大于s则不订货,储存量小于s则订货,订货后使得储存量达到S,也称此种策略为(s, S)策略。随机库存系统又分为单和多时期随机库存系统两种。单时期库存系统在单个周期只订货一次,销售不佳的情况下,若发生滞销,未售出的产品应在最后予以考虑。在订货量与销售量相互保持独立前提下,此类订货可以反复运行。多期库存系统是在单周期内订货多次,设当前库存量I,库存上限S,库存下限s,Z为订货量。当前库存量超过库存下限(Is)时,不订货(Z=0);当前库存量低于库存下限(Is)时,订货量为Z=SI,即货物到达后在仓库中能容得下。模型示意图如图所示。图2中, 1期订货,2期不订货,3期订货。文中对多期随机库存系统进行仿真。图 2. 多周期随机库存系统示意图其订货策略为: Z=0, Is Z=SI,Is式中:z为订货量; S为临界库存量,当Ss时,就要开始订货; I为月初的实际库存标准。 交货所需时间为半个月到一个月之间的随机变量,且分布是均匀的。 通常一个仿真系统存在多类事件,如果在仿真过程中同时出现多类事件发生的情况下,就执行高级别的事件过程,则不再执行低级别的事件。本仿真系统事件级别由高到低分为4类(1)“仿真结束”事件。仿真周期时间不能是无限的,总有一个开始时间和结束时间,当“实验结束”事件发生后, 不再检测其他事件。(2)“订货到达”事件。由于货物到达仓库,引起库存增加。 (3)“需求到达”事件。用户提出货物需求,引起库存减少。 (4)“订货”事件。每隔一定的时间间隔(本例是周, 也可以是日、旬、月等)进行库存检查,决定是否订货,该事件是条件事件,只有当前库存量低于库存下限(Is)时,才订货。2.2.参变量描述 (1)仿真参量。指在仿真程序开始运行时向系统输入的参数, 在系统每次运行过程中这些参量的值不变,用户可根据实际情况调整这些参量的值并重新运行系统 。在程序编写过程中可作为常量处理,也可 作为变量处理。为了程序的灵活性和通用性,每次运行时输入这些参量的值,因此建议作为变量处理。(2)仿真变量。在程序运行过程中流程的控制、中间的结果存放以及临时结果变量。2.3仿真主程序设计 最优订货方案的随机库存系统仿真程序是相当大的,在程序的主程序流程图设计中,实际建议分为6个子程序,即: 仿真参数输入子程序,完成仿真变量输入; 仿真变量定义及初始化子程序,完成仿真变量的定义及初始化; “仿真结束”事件处理子程序,完成了总成本的模拟仿真结果对事件的处理输出的计算“模拟的结束”“订货到达”事件处理子程序,完成更新库存量、计算订货费用等有关订货到达事件的处理; “需求到达”事件处理子程序,完成计算缺货损失费用、更新库存量等需求到达事件的处理; “订货”事件处理子程序,完成计算货物到达时间等有关订货事件的处理。图3是这类库存系统图解。图3. 一个随机库存订货系统示意图I(t)称为库存水平,即时间库存量 订货策略 :定期订货 订 货 量 :补足库存容量(S) 库存保证:最低安全库存 (s) 2.4 库存管理费的计算 在库存系统,涉及到订货成本(用CD表示)、存储的费用(Cp表示)、缺货损失费用(以CS表示),但目标实施总成本(用CT表示),最低的目标。总费用为各分项费用之和,公式表示如下:CT=CD+Cp+CS (2)各分项费用说明如下 :(1)订货费用。订货费用包括固定费用和变动费用两部分。固定成本是指每个订单必须支付和订单数量的独立成本,记为K;变动成本是指每件货物的成本需要支付额外的费用,由m表示,然后为每个阶段的成本, 记为:CD=K+mZ (2)存储费用。存储费用是指维持仓库货物的费用,它包含几个方面,占用的资金、存储费用、维护和管理费用等。每件货物每期的存储费用,可以用h表示,只有当I(t)0时才需要计算其存储费用是多少, 计算公式为:Cp= (3)因缺货损失的费用。缺货损失成本是指发生缺货情况下引起的费用,包括有利润损失的可能性,以及对顾客丧失信誉的主观费用等【3】。每件缺货损失费用为p,只有当I(t)小于零时才可以计算因缺失损失的费用: CS=。模型中各类事件的解释见表2.表2. 模型中事件和时间的定义序号事件名称事件约定仿真记录内容1订货到达订货到达,库存量得到补充订货到达时间2顾客需求顾客到达的间隔时间、需求量顾客按一定规律从库中取货顾客到达时间周期3仿真结束按照规定的仿真结束时间引发仿真的结束仿真结束时间4盘点订货对库存进行统计,并按照约束条件发出订货量,该订货量在“订货到达”事件中补充库存盘点时间 下面三个随机变量是关于本系统的仿真1) 需求时间随机变量是指用户对商品的时间需求,根据统计数据,平均周指数分布,概率密度函数为间隔时间的变量。 2) 需求量随机变量:是指用户需求量是离散型随机变量的。3)订货延迟时间随机变量:是指从订货到货物入库所需要的时间 第三章 系统详细设计详细设计阶段的主要目的,以确定哪些需要是要实现一个特定的系统,在这个阶段设计工作的,必须到目标系统的精确描述。从而编码阶段的词可以直接翻译成一个用于编写程序的编程语言的描述 。详细设计阶段的任务不是专门写程序,而是设计一个程序的“蓝图” ,然后根据蓝图程序员编写实际的程序代码。详细设计的目标不仅仅是逻辑上实现每个模块的功能,更重要的是设计一个过程,而且此过程应该尽可能简明易懂。3.1仿真模型与仿真流程图用计算机对每一种方案各仿真五个月,然后进行比较,从中选出费用最少的最佳库存订货方案。仿真从第一天开始,然后一天一天地仿真,使用循环算法直到仿真150天为止。仿真流程:以一天时间进行仿真为例,其工作流程是货物早晨到、销售为全天、晚上开始订货。第一,检查这天是否是预定到货日期,如果是,则现有库存量加Q,并且把预定到货量清零;否则不变。第二,仿真随机需求量,用随机函数使新库存量变为零,将缺货损失加在总费用上。最后,判断库存量与预定到货量总和是否低于重新订货点p,低于就需要重新订货,这时就再加一次订货费。库存问题的仿真流程: 开始输入: 预定到货日期、最初值、总费用、日期、原库存量 今天是否到货日期?库存+Q Y N 产生随机需要量 需要量 =S ?总费用 + 缺货损失算新库存量、保管费 预定到货Q到货日 期为今天+3预期库存=p ? Y N 日期+1 满150天 ?停止输出 N Y 图4:. 库存问题的仿真流程 3.2程序清单 先给出程序中各变量说明:S 产品库存量Z 产品总费用p 重新订货点Q 重新订货量I 日期按照流程图编写程序,上机运行后得到五种库存策略的总费用3.3 C语言编写的方案程序程序如下:# include stdio.h# include stdlib.h void main (void) float P5=125,125,150,175,175; float Q5=100,150,250,250,300; float S5=115,115,115,115,115; float Z5=0,0,0,0,0; int T=0; int,day5=0,0,0,0,0; int x; int i; int YD5=0,0,0,0,0; randomize(); do T+=1; for(i=0;i5;i+) if(dayi=T) Si+=Qi,YDi=0; x=random(100); for(i=0;i5;i+) Zi+=0.75*Si; if(!(x=Si) Zi+=(x-Si)*1.8; Si=0; else Si-=x; if(Si+YDi=Pi) YDi=Qi,dayi=T+3; Zi+=75.0; while(!(T150); for(i=0;i5;i+) Printf(“%d %.2fn”,i+1,Zi); 仿真程序清单如图5图6所示。 图5. 仿真程序清单1 图6. 仿真程序清单23.4输出结果 按照流程图编写程序,上机运行后得到五种库存策略的总费用如下所示C程序软件对五种订货方案的仿真结果如表3所示:表3. 五种订货方案的仿真结果方案编号总费用/元方案125040.25方案217191.50方案322658.25方案424974.70方案526793.90 比较以上五种方案的总费用,可以看出方案2最好,费用相对其他方案最低,即库存管理人员应取得每次订150辆、最低订发点为125辆电瓶车的方案。程序运行结果的屏幕截图如图7所示。 图7.程序运行结果的屏幕截图 第四章 结论及展望本文研究了基于C语言仓库订货系统的建模仿真。在本次论文工作期间,通过傅廷亮老师和朱老师的指导,先后查阅了有关仓库订货系统仿真的文献,对现有的订货仿真系统进行了分析。由于需求量和需求时间均为随机变量,并且基于离散事件系统仿真原理,以事件调度法推进仿真时钟,建立了库存系统的仿真模型。使用面向对象的开发工具C语言实现仿真,开发出相应的仓库订货仿真系统。在库存订货的各个方面仿真技术都起着重要的作用。一方面,在研究方面,它有助于库存模型的分析理解及建模。由于建立的仿真模型要考虑多种复杂因素,例如参数和结构上的随机性,对评价现有策略具有很大适用性,并且还可以解决其它研究方法相对较困难的问题。另一方面,就是在实际应用中,对自己设计的方案可以进行仿真,并根据仿真结果进行优化设计,得到最优的仓库订货方案。另外库存系统仿真具有很好的动态适应性,可以解决系

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论