排队系统的仿真与应用(vc)毕业设计论文.doc
0摘要排队系统是一个应用很广泛的课题。它可以应用于各个部门,比如:银行储蓄柜的排队管理,医院门诊挂号,电信营业厅排队管理,财政营业厅,税务报税大厅,工商注册,海关业务大厅,邮政业务,民航、铁路、车站售票处等任何窗口服务需要排队等候的场所。在这些场所,使用排队管理系统的意义重大。首先,它可以提升服务机构的形象,提高服务质量;其次,减少客户的等待时间,杜绝大厅的纷乱现象;最后,它也为部门有关决策提供依据,增加对工作人员的考核依据。此外利用排队系统的原理结合预测算法和大量历史数据来设计系统,用它来预测顾客的到来和顾客的订单。利用本系统可以科学的预测将来的某一天中顾客的到达情况和他所要的订单,为公司生产多少产品提供了依据。除了以上的基本功能外,本系统还提供了对历史数据和库存基本操作,更方便了用户的使用。希望对朋友们有所启发,也希望同朋友们一起完善它,使之更实用。【关键词】排队系统预测数据库操作历史数据随机数AbstractQueueingsystemisanappliedveryextensivelesson.Itcanapplyintheeachdepartment,forexample,thequeueingsystemusinginthecashomartofbank,thehospitalout-patientserviceregisters,thesystemusinginthetelecommunicationbusinesshall,publicfinancebusinesshall,taxadministrationtaxreportinghall,industryandbusinessregister,maritimecustomsbusinesshall,postalservicebusiness,andcivil,railroad,stationboxofficeetc.anyplaceswhichprovideserverwindowsanddemandwaitinginline.Intheseplaces,itisveryimportanttousethequeueingsystem.First,itcanpromotetheimageoftheserviceorganization,andincreaseservicequantity;Second,italsocanreducethecustomerstimespendingonwaiting,anderadicatecompletelytheconfusionphenomenonofthehall;Finally,itcanprovidegroundsforsomerelevantdecisions,andincreasetoinvestigatetotheworkerbasis.Inaddition,makinguseoftheprincipleofthequeueingsystem,predictivealgorithm,andafloodofhistorydata,wecandesignasystem,withwhichtopredictwhenthenextcustomerwillcomeandhowmanyproductshewillorder.Makinguseofthissystem,youcanpredictscientificallythesituationofthearrivesofcustomersandtheirordersonsomedayinthefuture,whichcouldprovidethebasisonhowmanyproductsshouldbeproduceinthefuture.Inadditiontoabovebasicfunction,thissystemstillprovidedthebasicoperationsforthehistorydatainstock,makingitmoreconvenient.Ihopethissystemtohavetoinspiretothefriends.Ialsohopetomakeitperfectwithfriends,letitmorepractical.【KeyWords】Queueingsystem;Pretect;Operateondatabase;Historydata;Randomnumber1目录引言.2第一章系统概述及其体系结构.31.1系统概述.31.2系统体系结构.4第二章开发环境介绍.62.1MicrosoftVisualC+6.0简介.62.2开发过程中所用到的组件及其介绍.112.3开发过程中所用到的数据库及其简介.12第三章系统功能的实现.143.1预测算法的原理.143.2VisualC+环境下数据库与应用程序的连接.183.3各个功能模块的实现简介.20第四章开发过程中遇到的问题及其解决方法.35第五章系统的改进方案.36第六章心得体会.37致谢.38参考文献.39附录.402引言离散事件系统中,由于顾客到来时间间隔与服务台服务时间都是随机的,所以在系统中会产生顾客排队现象,排队是该类系统的特征.离散系统仿真技术是研究该类系统的有效方法,在计算机上模拟逐个顾客的来到、排队、服务及离开,统计得到整个系统的运行参数,即根据顾客到来及服务台结构、服务时间的分与参数得到了顾客的等待时间与服务台效率,从而有效地分析各类排队系统的性能。本系统的重点放在顾客的到来,顾客的需求量,即何时到来,订单是多少。当然这一切都要根据数据库中的历史数据的规律得到。我利用毕业设计的机会在毕建良老师的指导下,通过两个月的不懈努力终于开发完成了这套“排队系统的仿真与应用”。此系统是运用Microsoft公司开发的VisualC+6.0的环境下开发的。整个系统主要通过程序对以前每天顾客到来的情况、订单的情况以及仓库中各原材料库存量来预测将来某一天的市场对产品需求量和库中原材料的供求情况,并输出变化曲线和预测值。再根据需求量对原材料进行出入库。整个系统从设计到实现,先后经历了问题分析、算法设计、数据库设计、数据存取、结果输出等过程,前后历时两个半月。期间,我充分运用大学期间所学的知识方法,对每一部分都进行了精心的分析设计,力求完美。如在程序设计阶段,我就运用了软件工程中关于模块化设计的方法和原则,尽量使每个功能模块做到高内聚、低耦合,并控制扇出个数。在程序的测试过程中,又再次运用黑盒、白盒等测试方法并且把测试用例分为有效等价类与无效等价类分别进行测试。数据的存储则是运用数据结构中的结构体数组来实现的。“排队系统的仿真与应用”的系统是我综合运用数据存储、数据库操作、图形输出、VisualC+MFC类库以及预测算法等方面的知识所开发出来的具有研究价值的软件系统。欢迎大家试用。同时,由于时间和能力有限,难免有不足之处,诚请老师同学予以指正,不胜感激。3第一章系统概述及其体系结构1.1系统概述该“排队系统的仿真与应用”系统是在Microsoft公司推出的VisualC+6.0的开发环境下,用MFC类库进行设计并结合MicrosoftAccess数据库来开发的一种快速、高效、准确、稳定、功能强大的仿真软件。(1)总体要求某个公司生产某个产品,该产品有N种材料组成(C1,C2,C3,Cn),每种材料需要不同的数量(N1,N2,N3,,Nn)。建立一个数据库,存放以前每年每月每天顾客到达的编号和时间,每个顾客所要的订单是均匀分布的随机数。程序通过数据库中的相应数据总结规律输出一天的概率密度图,再根据概率密度图输出相应的分布函数图并预测出将来的某年某月某天顾客来的时间点和各个顾客所要的订单。(2)确定算法未来的事是不定的所以预测是一件很困难的事,本系统只是预测软件的初步尝试,如果要想实现比较完善的预测系统,还需要增加各种算法,因为不同的问题还要有对应的不同算法,如:趋势分析法、回归分析法、指数平滑法、单耗法、灰色模型法、负荷密度法和弹性系数法等,也可采取各种不同的算法模型:灰色系统预测模型、时间序列预测模型、神经网络预测模型,还有有名的博克思-詹金斯法的三种模型:AR模型、MA模型和ARMA混合模型。我曾经编写一元线性拟合预测的算法,是采用最小二乘拟合的方法,但这需要事先假定数据的变化规律是按某个曲线,且可以写出该曲线的方程,再通过最小二乘法求出相应系数。这样虽然简单,但是不太现实,用户不可能事先知道数据的变化曲线,而且随着时间的推移,预测的精度会变得越来越差。事实上,一个好的预测往往会综合应用各种预测算法,那样的话就比较麻烦。既然就出连续的预测曲线实现不太可能,那就采用离散的点集来预测。(3)系统功能描述主界面对数据库中的历史数据的逐条操作:移动(移动到表头、向上移动一条、向下移动一条、移动到表尾)、删除、增加、修改、按日期升序(或降序)排序和用过滤器察看某年某月某天的所有记录。此外,主界面我用菜单实现,这样便于操作,而且我为几个主要的数据库操作制作了工具条,这样操作更快捷。为了能够便于查看数据库中的记录,我使用了列表控件,还增加了条件选择,使界面更具人性化。根据数据库中“客户”表中的数据输出概率密度图,再根据概率密度图处理后输出分布函数图。概率密度图显示出客户在一天的各个时间段上出现的概率,分布函数图则显示了顾客的分布情况。输出图形,使预测更加具有直观性。在“预测”菜单项中我用对话框的列表显示出预测的详细结果,并根据预测的数据统计总顾客数和总订单量。把各种原材料的需求量与库中供应量相比较,若不足则提示。此外,为了清楚地知道库存量还要有显示库存量的对话框,以及相关操作如出库、入库等。