




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 前言1.1 国内外研究现状19世纪末期以前,封建地主、资本家等均以其拥有的库存多少作为衡量财富的重要指标,库存即是财富。而在19世纪末至第一次世界大战,美国由于生产过剩二造成库存过剩,从而引起恐慌,库存占用了大量的资金,影响企业的投资、扩张,企业的发展受到库存过剩的束缚,这时,库存再也不是财富,而是企业的坟墓,企业也从此意识到了库存管理的重要性。随后,众多的企业都加强了对订购量的管理,初期库存管理的模型相对简单,并做了许多假设。随着对库存控制的要求越来越高,市场需求也越来越呈现动态特性的一面,这个阶段,有必要在库存控制中引入统计学和运筹学的理论和方法进行分析。到了20世纪50年代,电子计算机出现了,原来对库存进行分析和控制均采用手工操作,工作量太大,影响了效率,现在借助计算机,一方面计算处理的速度大大提高,另一方面,也发展出许多综合的比较复杂的库存控制策略1。另一方面,在仿真技术的研究领域,20世纪五六十年代开始,自动控制领域普遍采用计算机模拟(computer simulation)方法研究控制系统动态过程。为了规范术语与译名,1979年在烟台举行的全国系统仿真学术会议上建议将“simulation”译为“仿真”2。80年代后期,特别是近十几年数字技术的发展使仿真技术本身及其应用领域大大扩展了,计算机仿真在应用领域、仿真对象、仿真框架、仿真目的及仿真软件等方面都发生了十分重大的转变3。这种转变十分明显地说明:计算机仿真已进入一个崭新的发展阶段,它的重要性与特殊功效已越来越突出。如:1)在应用领域方面,已有航空、航天领域转向制造业。1991年美国国家关键技术委员会列出了90年代影响美国国家繁荣与安全的21项关键技术,建模与仿真为其中之一3,而仿真的应用领域排在第一位的是制造业;2)在被仿真的系统方面,已由重点是对连续系统仿真转向对离散时间系统的仿真;3)在对仿真基本框架中三个步骤(建模、仿真实验、结果分析)的重视程度方面,已由重视仿真实验转向重视建模及仿真结果分析;4)在与计算机技术结合方面,已由强调并重视与人工智能相结合转向强调与重视与图形技术及面向对象技术相结合;5)在仿真环境方面,已由集中式仿真转向分布式仿真;6)在仿真软件方面,已由开发仿真语言转向研究开发一体化仿真软件系统(或称一体化仿真环境)。在仿真的对象及目的方面,已由研究系统的动力学特性扩展为研究系统的各种特性,包括动力学特性、运动学特性。1.2 进行生产库存模型仿真设计的意义本篇论文的选题为生产库存控制模型的仿真设计,顾名思义,对于库存模型的研究是我们写这篇论文的首要目的,而对于模型的仿真设计则是这篇的论文创作的主题所在。具体来说,企业在生产过程中会产生库存,为了持续生产,减少原材料订货周期对企业的影响,企业会有目标的保持一定量的库存。如果库存控制不当,多则会产生浪费,增加企业额外的库存管理费用,而且过多的库存会因陈旧而变成废料,导致企业经济损失。但是,另一方面,库存过少又会使得企业不能快速地满足生产需要,导致企业供货不足,盈利下降,使企业在市场竞争中处于不利地位。因此,企业的生产库存控制是十分必要的,而对库存模型进行仿真设计是对生产库存控制进行优化的一种有效方法。2 库存模型的研究本章节主要是对所要进行仿真设计的两种主要库存模型进行初步的研究和学习,了解两种库存模型的运行过程和具体运行方法。2.1库存控制的作用要了解库存模型、研究库存控制模型,就要对库存控制的作用有一定的了解。库存控制的作用主要有:在保证企业生产、经营需求的前提下,是库存量保持在合理的水平上;掌握库存量的动态,适时、适量地提出订货请求,避免暴库和缺货;减少库存空间的占用,降低库存总费用;控制库存资金的占用,加速资金的周转。2.2 库存及库存成本概念的了解1库存的含义库存是指处于储存状态的物品或商品。从经济学角度来讲,库存是指一切闲置的,用于未来的,有经济价值的资源。4设置库存的根本目的是要保证在需要的时间,需要的地点,为需要的物料提供需要的数量。同时,库存还能起到以下作用:防止缺货、提高服务水平;节省开支、降低成本;保证生产、销售过程顺利进行。2库存成本的含义库存成本是和库存系统的经营活动有关的成本,主要由以下几部分组成:购入成本、订货成本、储存成本、缺货成本。库存模型需要确定的的主要参数有:(1)订货点:订货触发条件,将发出订货时库存量水平叫做订货点;(2)订货批量: 一次订货数量;(3)订货提前期:从发出订单到货物入库时间间隔;需要考虑费用的费用主要有: (1)订货成本:包括批量的订货的商品成本和每次订货的固定成本(2)存储成本;(3)缺货成本;(4)商品成本;即商品的单价2.3 库存模型的研究1 定量订货模型基本经济订货批量模型(EOQ): 定量订货模型有时也可称为经济定量模型(Economic Order Quantity,EQQ)。所谓经济定量模型是指,利用数学方法,求得在一定时期内储存成本和订购成本总和为最低时的订购批量。 假设条件:l 需求率已知,且均匀为常数;l 维持费用是库存量的线形函数,可由平均库存量确定;l 订货提前期LT固定,为常量;l 订货费用与订货批量无关,即无价格折扣;l 全部货物一次交付,不允许延期交货;D年需求量;P单位产品成本;S每次订货成本,元次;H单位商品年平均存储成本,元年;Q批量或订货量。(1)最佳经济批量:(2)订货点:该模型中假设需求与交货提前期是固定的,而且不允许缺货。因此,订货点就是提前期内的需求。(3)总成本:TC=H(Q/2)+S(D/Q)+DP总成本=储存成本+商品成本+订货成本2 定期订货模型基本经济订货间隔期模型(EOI):定期订货模型。定期订货模型则是时间驱动,即每隔一定时间就要进行订货,在这种模型中要设定一个库存盘点期,在盘点期内,不产生订货请求,只在盘点期结束时才进行订货,这种模型叫定期订货模型(也称定期系统,定期盘点系统等)。 基本问题是确定订货间隔期T和目标库存数量Qmax。 假设条件与EOQ模型的假设相同。l 物品的需求率是连续均匀的 ;l 需求率已知,且均匀为常数;l 维持费用是库存量的线形函数,可由平均库存量确定;l 订货提前期LT固定,为常量;l 订货费用与订货批量无关,即无价格折扣;l 不允许缺货,即无缺货成本;l 全部货物一次交付,不允许延期交货;D年需求量;P单位产品成本;S每次订货成本,元次;H单位商品年平均存储成本,元年;Q批量或订货量。(1)最佳经济批量:(2)最佳订货间隔期EOI:(3)目标库存量:由于要考虑到能够满足订货周期T的订货提前期L期间内的库存需求,故Qmax=D(T*+LT)/365(4)总成本:TC=H(DT/2)+S(1/T)+DP +缺货损失成本(s*缺货数量)不考虑缺货成本:总成本=储存成本+商品成本+订货成本3 逻辑模型的建立在运用Witness软件建立仿真模型之前,建立两种库存模型的逻辑概念模型是十分必要的。逻辑模型的建立过程大致如下:1)了解两种模型的运行方式和过程,;2)绘制逻辑模型的运行过程;3)为逻辑模型添加关联关系; 1. 库存量的变化是一个循环往复的过程,可以表示如下:库存消耗到达库存临界点 发出订单2. 生产库存控制的整体过程如下:发货请求仓库外购订单生产需求原料输入发货员原料输出生产车间达到临界点发货命令4 Witness仿真模型的建立4.1 Witness软件的介绍本文将通过学习使用Witness软件,加深对仿真系统的认识,熟练掌握软件的使用,并运用该软件对定量订货模型、定期订货模型进行仿真建模设计。在进行计算机仿真软件设计之前,需要对Witness软件有一定的了解。4.1.1 Witness综述Winess是由英国Lanner公司推出的功能强大的仿真软件系统。它可以用于离散事件系统的仿真,同时又可以用于连续流体(如液压、化工和水力)系统的仿真。目前已被成功运用于国际3000多家知名企业的解决方案项目中,如Airbus公司的机场设施布局优化、BAA公司的机场物流规划、BAE SYSTEMS电气公司的流程改善、EXXon化学公司的供应链物流系统规划、Ford汽车公司的工厂布局优化和发动机生产线优化及Trebor Bassett公司的分销物流系统规划等5。4.1.2 Witness元素现实的事物系统都是由一系列相互关联的部分组成的,比如制造系统中的原材料、机器设备、仓库、运输工具、人员、加工路线,服务系统中的顾客、服务台和服务路线等。Witness仿真软件使用与现实系统相同的事物组成相对应的模型,通过运行一定的时间来模拟系统的绩效。模型中的每个部件都被称为“元素(Element)”。该仿真软件主要通过离散型元素、连续性元素、运输逻辑型元素、逻辑型元素和图形元素这五种元素来构建现实系统的仿真模型。1.离散型元素。离散型元素是为了表示所要研究的现实系统中可以看得见的、可以计量个数的物体,一般用来构建制造系统和服务系统等。主要包括:零部件(Part)、机器(Machine)、输送链(Conveyor)、缓冲区(Buffer)、车辆(Vehicle)、轨道(Track)、劳动者(Labor)、路径(Path)和模块(Module)。2. 连续型元素。同离散型元素相对应,连续性元素用来表示加工或者服务对象是流体的系统。主要包括:流体(Fluid)、管道(Pipe)、处理器(Processor)和容器(Tank)。3. 运输逻辑型元素,运输逻辑型元素用于建立物料运输系统。主要包括:运输网络(Network)、单件运输小车(Carriers)、路线集(Section)和工作站(Station)。4. 逻辑元素。逻辑元素是用来处理数据、定制报表、建立复杂逻辑结构的元素,通过这些元素可以提高模型的质量并实现对具有复杂结构的系统建模。主要包括:属性(Attribute)、变量(Variable)、分布(Distribution)、函数(Fuction)、文件(File)、零部件文件(Part File)和班次(Shift)。5. 图形元素。图形元素可以将模型的运行指标在仿真窗口动态地表现出来。主要包括:时间序列图(Timeseries)、饼状图(Pie Chart)和直方图(Histigram)。4.1.3 Witness随机分布函数Winess提供了14种整型和实数型的标准随机分布函数,方便于用户构建随机仿真模型,这些函数能返回一系列理论分布的随机样本值。一些比较经常用的函数有: 1) Normal 正态分布2) Uniform 均匀分布3) Negexp 负指数分布4) Random 0-1均匀分布5) Poisson 泊松分布4.1.4 Witness规则模型中创建了元素之后,就必须说明各个元素之间,比如零部件、车辆或者流体它们之间是样流动以及劳动者是怎么样分配的,这就必须用到规则。Winess的规则有:1) 输入规则(包括装载和填入规则)。其目的是控制输入元素的流量。2) 输出规则(包括连接、卸载、空闲、车辆进入和缓冲区退场管理)。其目的是控制从元素中输出的零部件或者小车等的数量。3) 劳动者规则。可用来进一步说明劳动者的类型,或者是完成一项任务中机器、工作站等需要用到的劳动者的数量。4.1.5 Witness程序设计基础1. 变量类型Witness提供了四种类型的变量用来进行数据处理:整型、实型、名型和字符型。2. 运算符及表达式1) 算术运算符主要的算术运算符有:*(乘)、/(除)、*(乘方)、+(加)、-(减)等。进行算术表达式的计算时,需遵循先括号,在同一括号内,先乘方,再乘除,后加减的优先顺序。2) 关系运算符 不等于 大于 小于= 大于等于3) 逻辑运算符NOT 逻辑非AND 逻辑与OR 逻辑或4.1.6 程序的三种基本结构1. 顺序结构2. 分支结构。该结构的功能是在执行程序时,可以根据不同的条件,选择执行不同的语句。 简单分支结构表达如下:IfEndif 复杂分支结构表达式:IfElseEndif3. 循环结构本文研究中,没有用到循环结构,所以此处不进行详述。4.1.7 Witness常用系统函数Witness仿真平台提供了丰富的系统函数,使得在该软件环境下的程序编写极为方便。系统函数的类型包括:数学函数、转换函数、模型交互对话函数、数据库函数、EXCEL函数、常用元素函数以及用户自定义函数等。具体的函数使用将会在模型的建立过程进行描述。4.2 Witness仿真模型的设计过程4.2.1 系统介绍本文将以某工厂减速箱生产原料的库存控制为例子,针对其中的5种原料进行库存控制仿真模型设计求其最优的库存方案,判断库存模型的选择,即判断是使用定期订货模型还是定量订货模型。5中原料的已知数据如表4.1所示。表4.1 5种原料的已知数据根据表4.1所给出的数据,设计仿真模型,并判断各种原料所适用的库存控制模型。4.2.2 仿真模型的具体设计由于建立的5种原料的仿真模型除所给数据之外,其他基本相同,故现在主要对一种原料进行库存模型的仿真设计,其他原料的模型可根据建立好的模型进行修改运用。1.建模元素说明该仿真模型的元素定义如表4.2所示。表4.2实体元素定义元素名称元素类型数量说明原料Part1输入路径Conveyor1发货员Machine1仓库入口Buffer1领料单Part1输出路径Path1需求量Attribute1库存量Variable1每日库存量Variable1年需求量Variable1日需求量Variable1日需求量函数Function1求日需求量单位商品成本Variable1每次订货成本Variable1单位商品年平均储存成本Variable1统计数据Variable7消耗量采购次数采购量平均库存库存成本采购成本总成本采购信息Variable1订货提前期Variable1订货提前期函数Function1最佳经济批量Variable1每年的订货次数Variable1平均订货间隔期Variable1订货点Variable1最佳订货间隔期Variable1目标库存量Variable1决策函数Function1判断采购信息模型选择函数Function1选择模型2.可视化设置(Display)(1)实体元素的可视化设置由于该模型中,多以变量Variable来表示库存指标,所以可视化设置仅仅是将整个库存运行过程形象化地表示出来,不需要太多的修饰。以Machine元素“发货员”为例子,在这里对它进行可视化设置的具体步骤分析。l 在元素选择窗口选择“发货员”元素,鼠标右键点击display;l 弹出的display对话框如图4.1所示,从中进行可视化设置;图4.1l 在对话框Draw状态下,点击下拉菜单中的Name,点击pencil按钮,弹出对话框如图4.2所示,在此处可对Name属性进行设置,包括字体颜色、大小等;图4.2l 设置完Name后,再设置Icon,即设置元素的图标。元素的图标可以从软件的自带图库中选取,也可自己进行绘制之后导入软件图库中;l 在进行完Draw工作后,如果觉得设置不够满意,还可以点击Draw所在下拉菜单中的Update,即对所已有的设置进行更新。Update的对话框如图4.3所示。其他实体元素的可视化设置可参照以上的步骤进行设置,此处不多加赘述。(2)Variable元素的可视化设置Variable元素并非实体元素,所以对于它的可视化设置,主要是对其Text以及Value进行设置。在整体布局中,Variable元素表示的不是具体模型的运行过程,而是模型运行过程中各个参数的变化以及状态。(3)在进行完各个元素的可视化设置之后,参照库存模型逻辑模型,对各个实体元素的显示进行整体布局。如图4.4所示。图4.43. 模型的建立过程及细节设计(1)模型的初始化定义在模型的初始化中,我们定义了已知条件和参数计算公式。具体初始化数据如下:Trunc(Time) !将时间取整XLReadArray (link.xls,原料,$B$2,原料1.年需求量)XLReadArray (link.xls,原料,$B$3,原料1.单位商品成本)XLReadArray (link.xls,原料,$B$4,原料1.单位商品年平均储存成本)XLReadArray (link.xls,原料,$B$5,原料1.每次订货成本)XLReadArray (link.xls,原料,$B$6,原料1.库存量)!原料1.模型选择 = 原料1.模型选择函数 ()!IF 原料1.模型选择 = 定量订货模型 原料1.最佳经济批量 = (2 * 原料1.年需求量 * 原料1.每次订货成本 / 原料1.单位商品年平均储存成本) * 0.5原料1.每年的订货次数 = 原料1.年需求量 / 原料1.最佳经济批量原料1.平均订货间隔期 = 365 / 原料1.每年的订货次数原料1.日需求量 = 原料1.日需求量函数 ()原料1.订购点 = 原料1.平均订货间隔期 * 原料1.日需求量原料1.最佳订货间隔期 = TRUNC (2 * 原料1.每次订货成本 / (原料1.单位商品年平均储存成本 * 原料1.年需求量) * 0.5 * 365) + 1ELSEIF 原料1.模型选择 = 定期订货模型 原料1.最佳经济批量 = (2 * 原料1.年需求量 * 原料1.每次订货成本 / 原料1.单位商品年平均储存成本) * 0.5原料1.最佳订货间隔期 = TRUNC (2 * 原料1.每次订货成本 / (原料1.单位商品年平均储存成本 * 原料1.年需求量) * 0.5 * 365) + 1原料1.目标库存量 = 原料1.年需求量 * (原料1.最佳订货间隔期 + 原料1.订货提前期) / 365ENDIF在初始化数据中,运用到了了XLReadArray( )函数。此函数为Excel调用函数,即将外部Excel数据调入Witness中使用,实现了Excel与Witness的交互功能。具体调用函数的如下:调用的Excel表格link.xls必须放在与建立的仿真模型文件的同一个文件夹中,这样才能保证Excel的顺利调用。同时,为了使模型在运行开始时,能够为用户提供模型选择的功能,初始化中调用了模型交互函数COMBODLG( )。但是,该模型交互函数并不是直接调用,而是通过一个用户自定义函数“模型选择函数”来实现。该“模型选择函数”是为变量“模型选择”服务,其目的是通过该“模型选择函数”来实现“模型选择”的可视化,同时便于语句的方便书写。在选择完库存控制模型之后,需要进行的工作就是确定各个库存模型参数的确定。定量订货模型需要确定的参数是“最佳经济批量”和“订购点”,定期订货模型需要确定的参数是“最佳经济批量”,“最佳订货间隔期”和“目标库存量”。(2)仿真模型中变量Variable和自定义函数Fuction 的细节设计在该仿真模型中,变量的设置是为了可视化在库存模型运行过程中关键参数的变化。如定义的变量数组“统计数据”,其数量为7,即为7个变量组成,在可视化定义之后,7个变量表示的数据如图4.5。图4.5 模型中还有有一个重要的变量元素“模型选择”。该变量相对应的自定义函数为“模型选择函数”,自定义函数的设定主要是为了给变量定义一个返回值,如变量“模型选择”,其自定义规则actions为:RETURN COMBODLG (Choose The Model,请为原料1选择库存模型:,定量订货模型|定期订货模型,定量订货模型)。自定义函数的细节设计界面如图4.6.图4.6此外,对于变量“采购信息”,该变量对应的自定义函数为“决策函数”,决策函数的自定义规则比较复杂。由于需要考虑到定期订货模型以及定量订货模型之间的选择,所以在规则中,需要采用分析结果If语句的嵌套结果,分别判断当模型选择为定期订货模型或者定量订货模型时的“采购信息”的返回值。具体的自定义规则如下:TRUNC (TIME)IF 模型选择 = 定期订货模型 IF 库存量 目标库存量 AND NPARTS (输入路径) = 0 !定期订货模型的订货条件采购信息 = 1ELSE采购信息 = 0ENDIFELSEIF 库存量 订购点 AND MOD (TIME,最佳订货间隔期) = 0 AND NPARTS (输入路径) = 0 !定量订货模型的订货条件采购信息 = 1ELSE采购信息 = 0ENDIFENDIF为了便于模型运行时,我们可以清楚地看到在运行过程中用到的数据及计算后得出的数据,我们对这些数据都定义了Variable变量,并进行了“Name”和“Value”的可视化Dasplay设置;同时为了外形美观,我们定义了一个Part元素“已知数据1”,进行了“Name”和“Rectangle”进行了可视化设置,可以将Variable元素的可视化设置放于Part元素的“Rectangle”中。设置完之后,如图4.7所示。(3)Part元素的细节设计该仿真模型中,运用的Part元素有两个,原料与领料单。元素“原料”在模型中未进行可视化定义,所要实现的功能主要是进行变量元素“统计数据(2),(6)”的逻辑计算。其设置界面如图4.8所示。图4.8其中Actions on create的内容为:统计数据 (2) = 统计数据 (2) + 1 !采购次数的计算统计数据 (6) = 统计数据 (6) + 每次订货成本 + 最佳经济批量 * 单位商品成本 !采购成本的计算元素“领料单”则主要是实现企业生产需求的控制,与元素“原料”不同的是,“领料单”的type为active,即它的类型为为主动;inter arrival为1,即每隔一天发出一次请求;lot size为1,即最大批量为1。它的to规则为:push to 仓库入口,即推向buffer“仓库入口”。Actions on create的规则为:需求量 = 日需求量函数 ( )!属性“需求量”为自定义函数“日需求量函数”的返回值RecordRealValue (每日库存量,库存量)!记录“每日库存量”为“库存量”的实数值统计数据 (4) = MeanVariable (每日库存量)!平均库存为“每日库存量”的平均值统计数据 (5) = 统计数据 (4) * TIME * 单位商品年平均储存成本 / 1000统计数据 (7) = 统计数据 (5) + 统计数据 (6)(3)Conveyor元素及Path元素的细节设计在模型中,表示原料输入路径和输出路径的两个元素分别为Conveyor和Path元素。在Conveyor元素的细节设计中,原料的运输在途时间由Conveyor的Length和Index time来表示,即路程除以速度得到运输时间。Conveyor的input规则和output规则分别表示原料的运入条件和输出目的地。在input规则中,采用If分支语句来表达,具体语句如下:IF 采购信息 = 1PULL from 原料 out of WORLD !原料从外界拉入ELSE WaitENDIF由于该仿真模型中,并没有设置一个仓库作用的Buffer元素,仅仅是用变量元素display的Value来表示库存量,所以,Output规则为:push to ship !直接推向外界。Conveyor元素的Actions on join规则为:统计数据 (3) = 统计数据 (3) + 最佳经济批量 !原料输入时采购量的计算Actions on front规则为:库存量 = 库存量 + 最佳经济批量 !原料输入后库存量的计算Path元素的细节设计可以从截图中更直观的看到。见图4.9。图4.9(4)Machine元素的细节设计该仿真模型中的Machine只有“发货员”,其主要作用是控制Part元素“领料单”。“发货员”的input规则为:pull from 仓库入口 !从Buffer中拉入领料单;output规则为:push to ship using Path !通过输出路径将领料单推出该元素最重要的设定是Actions on start,其具体语句为:DIM GiveoutQty AS REAL !定义一个局部变量IF 库存量 需求量 GiveoutQty = 库存量ELSEGiveoutQty = 需求量ENDIF库存量 = 库存量 GiveoutQty !库存量的变化规则统计数据 (1) = 统计数据 (1) + GiveoutQty !消耗量的统计决策函数 ( ) !在此处调用决策函数( ) (5)Module元素的建立以上的介绍中,我们大体完成了1种原料的库存模型设计,由于总共需要建立5种原料的库存模型,因此可运用Module元素建立一个模块,以便于再建立了5种原料的库存模型之后元素太多导致混乱。建立Module的方法是将你想要建立模块的元素都选上,然后点击窗口工具栏中的“create a module”按钮,即可建立一个新的模块。在建立模块之后,可双击新建立的Module元素,弹出对话框如图4.10所示,在Name处可更改你想要更新的名称,此处我们改为“原料1”。图4.10(6)剩余原料的库存仿真模型的建立在建立完以上模型之后,还有其他四种原料需要建立库存模型,这里我们可以利用元素的克隆功能,方便简捷地建立其他四种原料的模型。如图4.11所示,总共建立了5个Module模块,分别为5种原料的库存仿真模型模块。图4.11(7)总体模型的仿真设计由于总共有5种原料,所以在模型初始化中需要增加其他5种原料的数据规则。具体初始化语句如下:TRUNC (TIME)!XLReadArray (link.xls,原料,$B$2,原料1.年需求量)XLReadArray (link.xls,原料,$B$3,原料1.单位商品成本)XLReadArray (link.xls,原料,$B$4,原料1.单位商品年平均储存成本)XLReadArray (link.xls,原料,$B$5,原料1.每次订货成本)XLReadArray (link.xls,原料,$B$6,原料1.库存量)!XLReadArray (link.xls,原料,$B$2,原料2.年需求量)XLReadArray (link.xls,原料,$B$3,原料2.单位商品成本)XLReadArray (link.xls,原料,$B$4,原料2.单位商品年平均储存成本)XLReadArray (link.xls,原料,$B$5,原料2.每次订货成本)XLReadArray (link.xls,原料,$B$6,原料2.库存量)!XLReadArray (link.xls,原料,$B$2,原料3.年需求量)XLReadArray (link.xls,原料,$B$3,原料3.单位商品成本)XLReadArray (link.xls,原料,$B$4,原料3.单位商品年平均储存成本)XLReadArray (link.xls,原料,$B$5,原料3.每次订货成本)XLReadArray (link.xls,原料,$B$6,原料3.库存量)!XLReadArray (link.xls,原料,$B$2,原料4.年需求量)XLReadArray (link.xls,原料,$B$3,原料4.单位商品成本)XLReadArray (link.xls,原料,$B$4,原料4.单位商品年平均储存成本)XLReadArray (link.xls,原料,$B$5,原料4.每次订货成本)XLReadArray (link.xls,原料,$B$6,原料4.库存量)!XLReadArray (link.xls,原料,$B$2,原料5.年需求量)XLReadArray (link.xls,原料,$B$3,原料5.单位商品成本)XLReadArray (link.xls,原料,$B$4,原料5.单位商品年平均储存成本)XLReadArray (link.xls,原料,$B$5,原料5.每次订货成本)XLReadArray (link.xls,原料,$B$6,原料5.库存量)!原料1.模型选择 = 原料1.模型选择函数 ()原料2.模型选择 = 原料2.模型选择函数 ()原料3.模型选择 = 原料3.模型选择函数 ()原料4.模型选择 = 原料4.模型选择函数 ()原料5.模型选择 = 原料5.模型选择函数 ()!IF 原料5.模型选择 = 定量订货模型 原料5.最佳经济批量 = (2 * 原料5.年需求量 * 原料5.每次订货成本 / 原料5.单位商品年平均储存成本) * 0.5原料5.每年的订货次数 = 原料5.年需求量 / 原料5.最佳经济批量原料5.平均订货间隔期 = 365 / 原料5.每年的订货次数原料5.日需求量 = 原料5.日需求量函数 ()原料5.订购点 = 原料5.平均订货间隔期 * 原料5.日需求量ELSEIF 原料5.模型选择 = 定期订货模型 原料5.最佳经济批量 = (2 * 原料5.年需求量 * 原料5.每次订货成本 / 原料5.单位商品年平均储存成本) * 0.5原料5.最佳订货间隔期 = TRUNC (2 * 原料5.每次订货成本 / (原料5.单位商品年平均储存成本 * 原料5.年需求量) * 0.5 * 365)原料5.目标库存量 = 原料5.年需求量 * (原料5.最佳订货间隔期 + 原料5.订货提前期) / 365ENDIF!IF 原料4.模型选择 = 定量订货模型 原料4.最佳经济批量 = (2 * 原料4.年需求量 * 原料4.每次订货成本 / 原料4.单位商品年平均储存成本) * 0.5原料4.每年的订货次数 = 原料4.年需求量 / 原料4.最佳经济批量原料4.平均订货间隔期 = 365 / 原料4.每年的订货次数原料4.日需求量 = 原料4.日需求量函数 ()原料4.订购点 = 原料4.平均订货间隔期 * 原料4.日需求量ELSEIF 原料4.模型选择 = 定期订货模型 原料4.最佳经济批量 = (2 * 原料4.年需求量 * 原料4.每次订货成本 / 原料4.单位商品年平均储存成本) * 0.5原料4.最佳订货间隔期 = TRUNC (2 * 原料4.每次订货成本 / (原料4.单位商品年平均储存成本 * 原料4.年需求量) * 0.5 * 365)原料4.目标库存量 = 原料4.年需求量 * (原料4.最佳订货间隔期 + 原料4.订货提前期) / 365ENDIF!IF 原料3.模型选择 = 定量订货模型 原料3.最佳经济批量 = (2 * 原料3.年需求量 * 原料3.每次订货成本 / 原料3.单位商品年平均储存成本) * 0.5原料3.每年的订货次数 = 原料3.年需求量 / 原料3.最佳经济批量原料3.平均订货间隔期 = 365 / 原料3.每年的订货次数原料3.日需求量 = 原料3.日需求量函数 ()原料3.订购点 = 原料3.平均订货间隔期 * 原料3.日需求量ELSEIF 原料3.模型选择 = 定期订货模型 原料3.最佳经济批量 = (2 * 原料3.年需求量 * 原料3.每次订货成本 / 原料3.单位商品年平均储存成本) * 0.5原料3.最佳订货间隔期 = TRUNC (2 * 原料3.每次订货成本 / (原料3.单位商品年平均储存成本 * 原料3.年需求量) * 0.5 * 365)原料3.目标库存量 = 原料3.年需求量 * (原料3.最佳订货间隔期 + 原料3.订货提前期) / 365ENDIF!IF 原料2.模型选择 = 定量订货模型 原料2.最佳经济批量 = (2 * 原料2.年需求量 * 原料2.每次订货成本 / 原料2.单位商品年平均储存成本) * 0.5原料2.每年的订货次数 = 原料2.年需求量 / 原料2.最佳经济批量原料2.平均订货间隔期 = 365 / 原料2.每年的订货次数原料2.日需求量 = 原料2.日需求量函数 ()原料2.订购点 = 原料2.平均订货间隔期 * 原料2.日需求量ELSEIF 原料2.模型选择 = 定期订货模型 原料2.最佳经济批量 = (2 * 原料2.年需求量 * 原料2.每次订货成本 / 原料2.单位商品年平均储存成本) * 0.5原料2.最佳订货间隔期 = TRUNC (2 * 原料2.每次订货成本 / (原料2.单位商品年平均储存成本 * 原料2.年需求量) * 0.5 * 365)原料2.目标库存量 = 原料2.年需求量 * (原料2.最佳订货间隔期 + 原料2.订货提前期) / 365ENDIFIF 原料1.模型选择 = 定量订货模型 原料1.最佳经济批量 = (2 * 原料1.年需求量 * 原料1.每次订货成本 / 原料1.单位商品年平均储存成本) * 0.5原料1.每年的订货次数 = 原料1.年需求量 / 原料1.最佳经济批量原料1.平均订货间隔期 = 365 / 原料1.每年的订货次数原料1.日需求量 = 原料1.日需求量函数 ()原料1.订购点 = 原料1.平均订货间隔期 * 原料1.日需求量ELSEIF 原料1.模型选择 = 定期订货模型 原料1.最佳经济批量 = (2 * 原料1.年需求量 * 原料1.每次订货成本 / 原料1.单位商品年平均储存成本) * 0.5原料1.最佳订货间隔期 = TRUNC (2 * 原料1.每次订货成本 / (原料1.单位商品年平均储存成本 * 原料1.年需求量) * 0.5 * 365)原料1.目标库存量 = 原料1.年需求量 * (原料1.最佳订货间隔期 + 原料1.订货提前期) / 365ENDIF其他4种原料的元素定义与原料1相同,就不多加介绍了。4.模型的运行在模型运行之前,需要更改模型仿真钟的单位时间base time unit修改为days,即系统仿真运行的单位时间为“天”。将仿真模型的运行时间设定为1年,即365天,然后开始运行模型。在仿真模型开始运行时,会得到一个模型选择交互窗口的提示,可以先选择“定量订货模型”,点击确定,得到的仿真结果如图4.12所示。图4.12如果选择的是“定期订货模型” ,得到的仿真结果如图4.13所示。图4.13其他4种原料的库存仿真模型运行过程同上。5.模型的运行结果分析本文建立库存控制仿真模型的目的是为了给原料库确定适合的库存模型,使总成本最低。所以,我们所要做的就是在两种库存模型:定期订货模型和定量订货模型之间选择仿真运行一年之后总成本较低的那个模型,此模型即为适合本原料的库存模型。在这里,将5种原料的仿真运行结果列成表格,如表4.3所示。表4.3 仿真运行结果定期订货模型定量订货模型垫圈304076283627螺母813071773424螺栓213276210684销247965244352防松垫片585601573155从仿真运行结果中,我们可以看到,5种原料采用定量订货模型的总成本都较低,所以都适合采用定期订货模型。5 结 论本文企业生产库存控制模型的仿真设计进行了一定研究。在分析国内外库存控制和仿真设计的研究现状的基础上,重点进行了一下三个方面内容的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 离子-教学设计
- 安全知识培训地点课件
- 第9课 法国大革命的捍卫者拿破仑说课稿高中历史岳麓版2007选修中外历史人物评说-岳麓版2007
- Unit 10 Section A(3a~3c) 说课稿2025-2026学年人教版英语八年级下册
- 2023六年级语文上册 第三单元 12 故宫博物院说课稿新人教版
- Unit4 What's the best movie theater?Section A 1a-1c教学设计 人教版八年级英语上册
- 海南旅行社安全培训课件
- 3.3《噪声》说课稿及反思-教科版(2024)物理八年级上册
- 活动课 认识南方地区和北方地区的区域差异2023-2024学年八年级下册地理同步说课稿(商务星球版)
- 海事船员安全培训讲话稿课件
- 足浴技师与店内禁止黄赌毒协议书范文
- 劳务装修包清工劳务合同
- 《计算机视觉-基于OpenCV的图像处理》全套教学课件
- GB/T 18029.1-2024轮椅车第1部分:静态稳定性的测定
- 高考生物选择性必修2生物与环境基础知识填空默写(每天打卡)
- FZT 34002-2016 亚麻印染布行业标准
- 2023年高考物理(山东卷)真题评析及2024备考策略
- 全国身份证号地区对应表
- 主要机械设备表(汇总200种)
- GB/T 18386-2017电动汽车能量消耗率和续驶里程试验方法
- GB/T 17282-1998根据运动粘度确定石油分子量(相对分子质量)的方法
评论
0/150
提交评论