数学建模论文-去库存问题_第1页
数学建模论文-去库存问题_第2页
数学建模论文-去库存问题_第3页
数学建模论文-去库存问题_第4页
数学建模论文-去库存问题_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

去库存问题摘要本文采用了“供应链中多级库存模型”,应用(Q,R)定量订货法,研究和解决了在复杂的物流关系网下,如何提高到货率,降低总库存的问题。此模型从供应链的整体出发,避免了各个结点企业孤立运作、追求个体利益最大化而导致的需求变异和扭曲现象,即“牛鞭效应”。在求解过程中,我们首先通过EXCEL和SPSS统计软件对所给的数据进行了简单处理;由于模型本身涉及到变量较多、层次多而且计算复杂,如果运用一般的解决线性规划问题的解法,不能够得到满意的结果,而且求解的过程也会过于繁琐,既不具有实用性,也不具有新意,为了能够得到更好的求解效果,我们从一种新的角度采用“遗传算法”来对目标函数进行全局搜索和优化,从而得到相应条件下的最优结果:不失一般性,仅考虑七个节点,在一定初始条件下,当生产能力不变且末端到货率为90%,此时最优库存的发货点r和订单量q为:r1r2r3r4r5r6r7q1q2q3q4q5q6q73164471321735772414584548169当生产能力有所提高且末端到货率提高为95%,此时的根结点供应商的最优库存为:115.8最后我们对模型进行检验。首先是稳定性检验,我们采用了“t-检验:双样本等方差假设”和“t-检验:双样本异方差假设”,首先将两次在不同初始库存、相同生产速率条件下的所求的r,q值用“单因素方差分析”检验方差齐次性。最后由数据分析得该模型得到的结果具有稳定性。接着进行正确性检验,选取“产品流转网状关系参考”中网状图的一棵子树,带入模型中求解出相应的第二级节点的相应收货量为:0,100,0,39,43,模型与实际情况符合度较高。证明模型有说服力。关键词多级库存库存控制遗传算法t-检验一、问题重述某行业货物供应商(Supplier)通过各公司(Fac),进而向下级子公司(Fac)直至零售商发行某种专业商品,货物的流通过程如下图1-1。一般地,某个发货商有可能同时在其它订单中也作为收货商,所以该图只是显示了某批货物可能的运输销售流程,但不足以表示发货商与收获商的上下级关系,通常它们会形成一个网状结构。在平日里,各公司都有一个初始库存,假设公司的库存量一旦小于某个r值就会立即向其某个上级下订单补货,订单量为常数q。而上级供应商要向多个下级供货,因此下级发来的订单请求未必能得到满足,记下级收货商实际收到的货量占其需求量的百分比的值为到货率。目前该商品较为紧俏,末端收货商(实际使用部门)需求旺盛,到货率也仅有90%.该行业供应商关心如下问题,在尚未提高生产能力之前提升到货率,降低流通库存。(1)库存与到货率之间究竟有什么关系?(2)求若要满足目前到货率90%不变,并且使所有分销商的库存量总和最小r和q的值应该为多少?库存总和需要你自己定义。(3)若生产能力提高,估算能使末端收货商的到货率提高至95%,请重新估算供应商的最优库存。图1-1二、问题分析供应链管理就是从供应商开始,经制造商和各级分销商,最终到达用户过程的,对所涉及到的物流、库存等进行的集中式管理。供应链管理是企业的有效性管理,表现了企业在战略战术上对整个作业流程的优化。整合并优化了供应商、制造商、零售商的业务效率,使商品以正确的数量、正确的品质、在正确的地点、以最佳的成本进行销售。因此,供应链管理的核心是顾客的需求,其手段是供应链成员之间的相互协调合作,而供应链成员在通过相互合作来满足客户的需求的过程中实现价值增值,达到双赢的目的。而库存管理是供应链管理的十分重要的环节。本题即是对供应链管理模式下的库存管理的研究和讨论,同时通过题目所给的相关信息与限制条件,我们可以得知该供应链下管理的一些特点:可将供应链绘制成一个排序树,其中每个公司看做树的一个结点,并且每个公司和对应的上下级的关系(即:入度和出度)用带方向的箭头表示,第一个结点(供应商)即为根结点,其入度为零,末端结点(零售商)即为叶子,其出度为零(表示不发货,直接供应给顾客)。由题意“各公司都有一个初始库存,假设公司的库存量一旦小于某个r值就会立即向其某个上级下订单补货,订单量为常数。”,“上级供应商要向多个下级供货”可看出:a、每个结点公司的入度为一(即只能向某一个上级公司要货),出度大于等于1(即可以向多个下级公司发货);b、该供应链的控制策略采用了“定量订货法”,即先确定一个订货点r和订货量q,随时检查库存,当库存下降到订货点时就发出订货单,订货批量取经济订货批量。由题意“目前该商品较为紧俏,末端收货商(实际使用部门)需求旺盛,到货率也仅有90%”分析可知:末端叶子处于供不应求的阶段,需求旺盛可以看作叶子处的货物可以全部销售完,再由到货率小于100%,可知根节点供应商的生产能力不是无限大(即在该分配情况下,生产能力会限制消售)。第一问研究讨论库存与到货率的关系,是下面两问的基础,也是理清题意和解决库存管理问题的重要中间环节。库存本身就是一把双刃剑,企业产生一定的库存,一方面可以保证生产活动的持续进行,减少因缺货而造成的生产停滞带来的损失;另一方面,拥有库存不但会占用一定量的生产资金,增加企业的资金紧张情况,还会产生相应的库存成本等其他损失。库存和到货率都与r、q有关,二者存在相互的约束,库存过多过少都不适合,因此在尽量满足实际需求下,减少库存将会适当增加企业的收益。第二问,是在“尚未提高生产力”(保持现有的生产能力)、“保持末端叶子的到货率为90%”的条件下,降低流通货存,寻求最小库存。第三问,是在“生产能力有所提高使末端叶子的到货率提升到95%”的条件下,寻求此时的最优方案,使库存最优(即最小)。三、模型的假设当供应链的各结点企业只根据来自其相邻的下级企业的需求信息,独自制定自己的库存控制策略,独立的追求自己企业的利益最大化,需求信息的不真实性会沿着供应链逆流而上,产生逐级放大的现象,到达根结点供应商时,其获得的需求信息和实际消费市场中的顾客需求信息发生了很大的偏差,从而使供应链的需求变异放大,这种现象即为“牛鞭效应”(示意图如下)。图3-1“牛鞭效应”示意图为了降低这种“牛鞭效应”,因此我们采用了“供应链环境下的多级库存优化与控制模型”。其管理策略是一种基于协调中心的联合库存管理的联邦式供应链库存管理策略,要求各个结点企业不要把注意力过分集中与自身,而应扩展到整条供应链来,采用多级库存优化,协调统一化的管理机制,使上下游企业权利责任平衡和风险共担,打到整条供应链的库存最优。建立供应链环境下的由多个仓库组成的库存系统的多级库存控制模型,要进行研究,我们引入了“级库存”、“安全库存”两个概念,并进行了如下的假设:级库存:为某一个库存结点的现有库存+转移到或者正在转移给后续节点的库存。安全库存:为了降低供应链上的不确定性而建立起来的库存,用来弥补预测消耗与实际消耗的差异所造成的损失。主要模型假设如下:(1)供应链只考虑一种核心产品。(2)同层次结点之间、不相邻层次结点企业之间无物流,从高层次结点到低层次结点方向也不存在逆向物流。(3)采用连续检查库存的(R,Q)定量订货策略。当库存降到一定量时,高层次结点企业向相邻的低层次结点企业订货,不能被直接满足的需求在所有位置都采用缺货控制。(4)同一个上级向多个下级供货时,若库存不足,则按照各个下级订货量的比例分配发货量。(5)消费者的需求服从正态分布,即:末端叶子结点的单位时间内需求也服从正态分布。同时末端结点企业的需求都是独立同分布的。(6)每个结点企业的提前期为一个定值,允许不同结点之间的提前期不同。四、符号的说明与定义T运转周期,即根结点供应商库存连续两次订货之间的时间段第t个周期的长度,即相邻两批商品的生产间隔第n级第k家公司在第t个周期的期初级库存第n级第k家公司的订货报警点第n级第k家公司的订货订单量第n级第k家公司在第t个周期时在给下级发货后,是否需要向上级订货第n级第k家公司在第t个周期时的到货率C供应商的生产速率第n级的第k家公司在第t个周期的需求量第n级的第k家公司向上级的订货提前期(从订货到货物到达所用时间)第n级的第k家公司面临需求的标准差第t个周期期初的各公司库存总和第n级的第k家公司的安全系数五、数据处理由于题目所给的产品数据流中有几万多条,数据太庞大,分析起来不方便,并且实际各结点企业的关系错综复杂,因此会出现一些不符合模型的奇异数据。在基于模型假设的前提下,我们通过EXCEL和SPSS统计软件对所给的数据进行了简单的处理和筛选,具体过程如下:我们首先通过EXCEL选取了一种核心产品“KPTBP”,研究其对应的供应链关系。由于到货率我们主要关注的是终端叶子的到货率,因此我们选取了“终端A、B、C”的产品相关信息,首先我们对所有到终端A、B、C的一万多条进行了统计:平均标准误差中位数众数标准差方差峰度81.96252051.305724180151.11714192283650.79434偏度区域最小值最大值求和观测数置信度(95.0%)5.180412813600036001097806133942.559446表5-1由此可以看出:数据的方差值太大,变化区间太大,波动太明显,加上数据量也庞大。通过观察,由于终端销售值400的数据频率很小,可以忽略,于是我们将其剔除,从而得到以下统计数据:平均标准误差中位数众数标准差方差峰度62.6193990.75342018085.9419746373863.729035偏度区域最小值最大值求和观测数2.02692019400040081474113011表5-2图5-3其中表5-2表示进一步筛选后所得数据的统计信息,其波动性相对小了许多,数据量也相应的减少一些;图5-3,横轴表示需求量,纵轴表示研究的时段该产品在该需求量区间的频率。由于中间的流通结点太多,每项分析工作量大,而且也无太大意义,相比之下我们更关注根结点供应商的生产能力的数据信息,于是我们利用数学软件对此数据进行了筛选和处理,结果如下图表:平均标准误差中位数众数标准差方差峰度26963.007205360199.2458002396992.963534偏度区域最小值最大值求和观测数置信度(95.0%)1.5494925568060740269010142.5319表5-4上表显示的是根结点供应商在给定的四个月左右的期间内的生产能力的统计数据信息。六、模型的建立与分析6.1、是一个判定结点是否要向上级请求订货的函数,若需要向上级结点订货,若库存足够,没有低于定购点r,不需要向上级结点订货,.即:;(5-1)第N级第K个结点,在第t个运转周期内的的需求量等于其所有对应的下级结点请求发货量r的总和,即有:(5-2)每个结点的期初级库存等于上一个周期该结点的期初级库存加上某个上一级结点的发货量再减去向对应下一结点所有的发货量总和;特别的是根结点供应商的期初级库存等于上一周期的期初级库存加上该时期的生产能力值再减去向对应下一结点所有的发货量总和;末端叶子结点的期初级库存等于上一周期的期初级库存加上某个上一级结点的发货量再减去客户在该时段的需求值。即有:;(5-3)特别地:-(5-4)(5-5)则有:当时,在该时段内的期级初库存可以满足需求的量,不会发生缺货现象,即此时段对应的下级到货率为100%;但此时又要分两种情况考虑、当表示剩余库存大于订货点,此时不需要进行订货;、当时,则剩余库存已经下降到订货点r以下,需要进行订货,订货量为。即:=100%(k=1,2,3…K)该结点所对应下级结点该时间段的到货率为100%;(5-7)当时,在该时段内的期初级库存量不能满足需求量,如果没有货物进行补充,就会发生缺货。此时该结点需要向上级结点请求发货,对应下级结点的到货率等于现有的期初库存比上此时段的需求量。即:(5-8)总库存实际中由于客户需求不稳定、生产过程不稳定、配送周期的多变、服务水平的高低等不确定因素,会导致更高的预期需求,为了满足提前期的需求变化,我们引入安全库存,来弥补预测消耗与实际消耗的差异所造成的损失。安全库存的量化计算可根据顾客的需求量固定、需求量变化、提前期的固定、提前期发生变化等情况,利用正态分布图、标准差、期望服务水平等来求得。我们用SS来表示安全库存,由经典的安全库存公式,有:式中SS——安全库存;——提前期的平均值;——日平均需求量;z——某服务水平下的标准差个数;——日需求的d的标准差;——提前期L的标准差。由假设可知提前期为一个定值,所有其标准差为零,从而可得该条件下的安全库存:;(5-10)每个结点的平均库存=(期初库存+期末库存)/2;在给定安全库存的条件下,平均库存可用订货批量的一半和安全库存来描述。下图给出了定点订货策略下每个运转时间内库存的变化图5.1定点订货:E()=;(5-11)这段时间t内的总库存可以用每个结点的期初级库存的和表示或者用每个结点的在该时段的平均库存的表示。即有:;(5-12)终端叶子结点的到货率有题意可知,该商品较为紧俏,需求旺盛,即末端叶子处于供不应求的阶段,可以看作叶子处的货物在每个运转周期内可以全部销售完,从而需要不断向上级结点请求发送货物,即:;当第二级结点的期初级库存大于需求时,则它所对应的的叶子结点的到货率为100%;当第二级结点的期初库存小于需求时,,会发生缺货现象,则对应下级结点(叶子)的到货率等于现有的期初库存比上此时段的需求量。由上述的分析可得到末端结点的到货率公式:;(5-13)基于库存和末端叶子结点到货率的多级库存控制目标函数的建立综上所述,为了寻找供应链下库存管理控制的库存成本和到货率的整体的最优化,即使总库存最小,末端叶子结点的到货率最大化,由此建立基于混合订购策略的优化模型为:min=min;(5-14)max,;(5-15)约束条件:;(5-16);(5-17);(5-18);(5-19);(5-20)约束条件(5-16)是对每个结点的期初级库存的约束,具体分析见5.1;约束条件(5-17)表示上一级的需求量等于其所对应下级的订货量的总和;约束条件(5-18)表示在t时段内各个结点的订货量大于或者等于零;约束条件(5-19)表示各个结点的期初级库存大于等于零;约束条件(5-20)表示各个结点的客户需求量大于等于零。6.5、供应链多级库存控制模型的遗传算法的设计6.5.1算法思想及流程由于模型本身涉及到变量较多、层次多而且计算复杂,如果运用一般的解决线性规划问题的解法,不能够得到满意的结果,而且求解的过程也会过于繁琐,既不具有实用性,也不具有新意,为了能够得到更好的求解效果,可以尝试从一种新的角度(采用遗传算法)来求解该模型,以期得到更好的求解效果。遗传算法是模仿自然界生物进化机制发展起来的随机全局搜索和优化方法,它借鉴了达尔文的进化论和孟德尔的遗传学说。其本质是一种高效、并行、全局搜索的方法,它能在搜索过程中自动获取和积累有关搜索空间的知识,并自适应地控制搜索过程以求得最优解。6.5.2编码方法及种群初始化(1)开始用遗传算法求解问题时,基因的编码是一个很重要的问题。编码方法是依赖于问题本身的。总的来说,可以分为三大类二进制编码方法、符号编码方法和浮点数编码方法。而二进制编码方法是遗传算法中最主要的一种编码方法,一位二进制代码叫做一个码元,它有和两种状态。个码元可以有种不同的组合。每种组合称为一个码字。本文研究选择二进制编码方式,即采用基于matlab遗传算法工具箱提供的rep函数。二进制编码符号串的长度与问题所要求的求解精度有关。例如量xi的区间是[,],要求的精度是小数点后的四位,也就意味着每个变量应该被划分成至少(个部分。对一个变量的二进制串位数用表示,用以下公式计算:<(-1;(5-21)(2)种群初始化初始化参数包括群体规模大小popsize、交叉概率及变异概率等参数。生成初始种群在可行域范围内,应用随机模拟来随机产生一个个体,然后检验该个体是否满足要求,满足则保留;否则,再次生成一个新的个体,连续进行该过程,直到生成符合条件的popsize个个体,形成初始种群(pop1,pop2,…,popn)。6.5.3适应度函数遗传算法中,适应度函数可以作为评价一个解集好坏的主要依据,而由适应度函数得到的适应度就是一种衡量问题域中的个体对求解问题的优劣程度的方式,根据适应度的不同,来判断选择更好的个体,将其留下来。在遗传算法中对适应度函数的唯一要求就是该函数值不能为负。在实际应用中,适应度函数依问题的不同而设定,本文采用其目标函数作为适应度函数。6.5.4遗传操作1.选择复制选择算子是用来确定从父代群体中根据个体适应度值选取哪些个体遗传到代一代群体中的遗传运算,个体选择的概率与他的适应度值成正比关系。选择算子实际上是用来为子辈选择父辈的函数。轮盘赌选择法是一种基本的、有效的选择方法,也是最常用的方法之一。各个个体的适应度在群体中所有个体的适应度和中所占比例大小,就代表个体进入下一代的概率大小。其步骤简洁如下:计算各染色体的适应度值(即目标函数值)计算群体的适应度值总和计算对应每个染色体的选择概率计算每个染色体的累积概率。我们采用了遗传算法工具箱函数select进行随机遍历选择操作。2.交叉重组我们编码选择的二进制编码方法,所以我们选择了单交叉方式进行交叉操作,其执行过程如下:对个体进行两两随机配对,如设定群体个体大小为nind,则共有nind/2对相互配对的个体组。对每一个相互配对的个体,随机设置某一基因座之后的位置交叉点,若染色体的长度为N,则共有N-1个可能的交叉点位置。为了产生出新的个体,对每个相互配对的个体,在其交叉点处按照设定的交叉概率相互交换两个个体的部分染色体。3.变异运算在遗传算法的操作中,变异只是一种辅助性的搜索操作。通过变异算子进行运算,可以产生更为丰富的基因种群,从而为目标函数寻找到最优解辑供了二次保险。变异是按照小概率或小步长的方式将子代个体进行转变,其中概率、步长跟维数成反比。变异操作一方面可以使得遗传算法获得进行局部随机搜索的能力,另一方面又可以保持种群的多样性,防止早熟现象的出现。一般常用的变异策略主要包括实数变异和二进制变异,而实数变异又有很多种策略方式,包括按某一梯度方向变异、按步长均勾变异和非均匀变异等方式;二进制变异也有很多种方式,包括在染色体某一随机位置进行翻转、零、复制、插入和删除等方式。七、问题的求解(1)库存与到货率之间究竟有什么关系?(2)求若要满足目前到货率90%不变,并且使所有分销商的库存量总和最小,r和q的值应该为多少?库存总和需要你自己定义。(3)若生产能力提高,估算能使末端收货商的到货率提高至95%,请重新估算供应商的最优库存。问题一:库存就是指能够满足未来的某种需要、当前流速为零且暂时被闲置起来的存货,它本身也是一种资源。库存是必要的储备,是为了保证供应链上潜在的供给,减少需求波动带来的影响,而预先设置的缓冲量。到货率定义为下级收获上实际收到的货量比上其实际需求量的百分比值。由(5-12)总库存公式:(5-13)末端叶子(零售商)的到货率公式:分析可知:在定点发货策略(Q,R)下,库存和到货率通过发货点r、发货量建立起相应的联系与约束:当根结点(供应商)的生产能力无限大(可以充分满足的需求的条件下),可以保证库存充分大,则不允许出现缺货的现象,此时发货点r可以尽量高点,发货量q就可以保证尽可能满足需求,那么到货率就会很大,甚至接近100%;当根结点(供应商)的生产能力有限(会出现供不应求的现象),这时就有可能出现缺货的现象,尽可能的增大库存,使r,q也相应的较大,则到货率会相应地增大。总的来说,由(5-12)公式可以看出:若到货率提高,库存也会相应的增大。提升到货率的前提相应的增大库存,而增大库存的前提是提升生产能力;若在到货率确定的情况下,可以通过调节r,q来减少需求的变异,防止牛鞭效应,同时防止有的结点货物挤压和其它结点的缺货,从而达到库存最优化(最小)。问题二:由题意可得:根结点生产能力为有限值且为一个定值,末端需求很旺盛可近似看成无穷,即叶子处的货物在每个运转周期内可以全部销售完,且供应链中一些结点在某个时间段会出现缺货的现象;末端叶子结点的到货率为90%,即由经典库存控制理论,可以得到到货率与安全系数的一一对应关系,q为缺货率经过一些数理分析,利用正态分布图、标准差、期望服务水平等来求得,绘制成下表1如图:查表可得,α=1.28时,0.9.在此基础上,运用matlab编写软件,便携程序代码,加载基础数据和参数,实现上述的遗传算法(相关代码见附录)。运行遗传算法求得的解一般都不是最优解,而是函数的近似最优解,这与遗传算法的收敛性冇关,而收敛性与初始值又相关,从而要想得到满意的解就需要多次运行matlab上边的程序。在收敛性确定,多次运行程序得到的最优值也是确定的,但由于初始种群产生的不一致,可以使得通过多次循环得到最优解的过程不一样,这是一种正常的情况。经过多次迭代操作运算后,得到结果如下图所示:图7-1图中Generation为种群进化的具体情况,横轴为进化代数,纵轴为目标优化函数的函数值,即平均总库存的值,黑色点表示目前的最优解,蓝色点表示目前的目标函数取值的平均值。图Numberofvariables为最优解的情况,横轴1-14表示相应的r,q值,纵轴表示最优解的取值。图7-2图7-2为遗传算法运行界面,该图的时刻为迭代终止时,fitnessfunction中@inventory为目标函数的函数句柄,numberofvariables为目标函数变量个数,bounds为变量的上下界,nonlinearconstraintfunction中@Ux为约束函数的函数句柄,integervariableindices为整数约束设置,表示目标函数的变量取值为整数。Currentiteration为当前进化代数,结果框中objectivefunctionvalue为最优解的目标函数值。Finalpoint为最优解的各变量取值。求得的各结点r,q的值如下表:r1r2r3r4r5r6r731644713217357q1q2q3q4q5q6q772414584548169问题三:由题意得当生产能力适当提高到某一值时,到货率相应提高到定值0.95,即:此时系统的总库存也会相应提高,通过调节订货点r、订货批量q,从而得到此条件下的最优库存。由安全系数表(即表一)查得:;β=0.95;采用相应的遗传算法,加载基础数据和参数,经过多次迭代操作运算后,得到的迭代结果如下图所示:图7-3图Generation为种群进化的具体情况,横轴为进化代数,纵轴为目标优化函数的函数值,即平均总库存的值,黑色点表示目前的最优解,蓝色点表示目前的目标函数取值的平均值。图Numberofvariables为最优解的情况,横轴1-14表示相应的r,q值,纵轴表示最优解的取值。图7-4图7-2为遗传算法运行界面,该图的时刻为迭代终止时,fitnessfunction中@inventory为目标函数的函数句柄,numberofvariables为目标函数变量个数,bounds为变量的上下界,nonlinearconstraintfunction中@Ux为约束函数的函数句柄,integervariableindices为整数约束设置,表示目标函数的变量取值为整数。Currentiteration为当前进化代数,结果框中objectivefunctionvalue为最优解的目标函数值。Finalpoint为最优解的各变量取值。r1r2r3r4r5r6r7q1q2q3q4q5q6q77473656034507988682149209649从求得的结果可知:根结点供应商r1=74;q1=88;接下来我们分析一下库存控制参数q,订货点r的物理意义:q、r过大或者过低都不好,会使供应链中的某些结点出现货物积压或者缺货的现象,因此q、r选择必须合适;有上述求解可知,订货量q可以理解为满足1个库存运转周期上消耗的平均库存期望值;订货点r可以理解为满足一个备运期上消耗的平均值和波动值(安全库存)的和。再由公式(5-11)一个运转周期内的平均库存:E()=;综上分析得到:根结点供应商的库存E()=+=115.8;八、模型的检验8.1稳定性检验对于模型结果的稳定性检验,我们采用了“t-检验:双样本等方差假设”和“t-检验:双样本异方差假设”(取α(A)=0.05)首先将两次在不同初始库存、相同生产速率条件下的所求的r,q值用“单因素方差分析”检验方差齐次性。(取α(A)=0.05)具体流程如下:假设各结点初始库存I=[40,40,40,40,40,40,40];根结点供应商单位时间的生产速率C=30;I=[60,60,60,60,60,60,60];C=30;如上图,我们改变了输入参数,以观察解的稳定性:由于上图P-value=0.741>0.05,故认为方差具有齐性。因此接下来采用“t-检验:双样本等方差假设”:如图所示,由于P(双侧)=0.742>0.05,故不能认为两组数据有显著差异。因此可以认为模型结果稳定。8.2正确性检验选取“产品流转网状关系参考”中网状图的一棵子树(详见附件1),来检验模型的正确性。整理出各公司的收货数据如下表所示。1234567891011121316200700355010000100050141516171819202122232425260003020000190200090272829303132333435363738393000033716048080001515404142434445464748495051403000120023002335027加粗的数字代表公司编号,从根节点为1开始,从左至右,从上至下,依次编号。加粗数字下面的数字代表对应公司在该统计时间段内的收货数。考虑该状态为系统运行足够多个周期后的一个相对稳定的状态,且该系统具有最佳的q,r取值。以1号节点(即根节点)的收获量为模型中生产速率,以根节点的收货数为消费需求量,带入模型中求解出相应的第二级节点的相应收货量为:0,100,0,39,43对应表中2~6号节点。可以看出,模型与实际情况符合度较高。证明模型有说服力。九、模型的评价与推广8.1.1、模型的优点(1)、运用了matlab,spss,excel等软件进行计算,可信度更高;(2)、采用了遗传算法。由于模型本身涉及到变量较多、层次多而且计算复杂,如果运用一般的解决线性规划问题的解法,不能够得到满意的结果,而且求解的过程也会过于繁琐,既不具有实用性,也不具有新意,为了能够得到更好的求解效果,我们从一种新的角度(采用遗传算法)来求解该模型,以期得到更好的求解效果。(3)、采用了“供应链环境下的多级库存优化与控制模型”,要求各个结点企业不要把注意力过分集中与自身,而应扩展到整条供应链来,采用多级库存优化,协调统一化的管理机制,使上下游企业权利责任平衡和风险共担,达到整条供应链的库存最优。从而降低各个结点独自追求最大利益而不顾总体带来的“牛鞭效应”。(4)、论文中图形与数据相结合更具有说服力。(5)、首先对数据及元素之间的关系进行了简要的分析,简化了计算。8.1.2、模型的缺点(1)该库存管理模型局限于研究库存与到货率二者的关系,目标函数也仅限于库存和到货率的最优化,然而实际库存管理中涉及到库存成本,同时在关注成本的前提下,企业还应把重点放在库存的周转水平上等,来适应市场的需求。因此在实际应用方面还需要改进。(2)该模型假设顾客的需求量有规律可行,即服从正态分布,但是实际上顾客的到来是无稳定规律可行的,存在很大的不确定因素,例如:天气因素、节假日期、活动促销等等,因此很容易存在所谓的”牛鞭效应“,对于实际的复杂的情况,本模型尚未多考虑,只是引入了一个安全库存,尽可能减小波动因素。(3)运行遗传算法求得的解一般都不是最优解,而是函数的近似最优解,这与遗传算法的收敛性冇关,而收敛性与初始值又相关,从而要想得到满意的解就需要多次运行。在收敛性确定,多次运行程序得到的最优值也是确定的,但由于初始种群产生的不一致,可以使得通过多次循环得到最优解的过程不一样。因此过程需要耐心调试。(4)实际中的供应链是一种错综复杂的网状结构,一般地,某个发货商有可能同时在其它订单中也作为收货商,而本模型只研究了服从二叉树的单方向无交叉的网络流情况。希望从简单的情况下出发,对研究复杂的实际情况有所帮助和启发。8.2模型的推广(1)借助遗传算法等方法来解决供应链环境下的多级库存控制问题并通过实例来验证模型的合理性和算法的有效性,为以后解决类似的多目标非线性问题提供了一些参考。(2)在当今追求高效率、高效益的时代,市场对企业的需求已经提高到一种新的层次,不仅关注目标的成本问题,也着重关注库存的周转效率问题。在本题的供应链环境下的多级库存优化与控制模型基础上,可以根据相应的成本费和运转周期公式,构建起相应的目标函数,从而建立起协同考虑最低的库存成本和最高的库存周期周转水平的多目标模型。(3)本模型中采用的遗传算法适用于多目标线性问题的求解,因此可以应用到智能交通系统中;把遗传算法理论与技术应用于控制过程故障诊断能够模拟专家系统实现对控制机器的故障检等。十、参考文献[1]韩中庚,数学建模方法及其应用,北京:高等教育出版社,2005[2]韩中庚,数学建模竞赛——获奖论文精选与点评,北京:科学出版社,2007[3]同济大学概率统计教研组,概率统计(第四版),上海:同济大学出版社,2009[4]雷功炎,数学模型讲义(第二版),北京:北京大学出版社,2009.6[5]华罗庚,王元,数学模型选谈,大连:大连理工大学出版社,2011.5[6]司书宾,倪梦妮,贾大鹏,基于线性回归分析的库存控制优化方法研究,西北工业大学学报,28(6):844-850,2010[7]戢守峰,李佳,李峰,黄小原,周期性需求下多级库存缺货控制模型研究[J],东北大学学报(自然科学版),28(6):879-882,2007.6[8]刘跃伟.基于多目标的供应链网状结构多级库存研究[D].大连海事大学,2009.[9]王林等,安全库存,/wiki/安全库存,2016.5.3十一、附件MATLAB遗传算法求解代码functionBt=inventory(x)U=0;r=[x(1),x(2),x(3),x(4),x(5),x(6),x(7)];q=[x(8),x(9),x(10),x(11),x(12),x(13),x(14)];Bt=0;facnum=7;N=10;adjmatrix=[0100000;0011000;0000110;0000001;0000000;0000000;0000000];I=[40,40,40,40,40,40,40];C=30;terminal=[5,6,7];forn=1:ND=zeros(1,facnum);R=zeros(1,facnum);u=ones(1,facnum);R(1)=C;adj=adjmatrix;flag=zeros(1,facnum);Y=zeros(1,facnum);fori=1:length(terminal)k=terminal(i);%D(k)=round(i*10+sqrt(i)*randn(1));D(k)=i*10;ifD(k)>I(k)Y(k)=1;I(k)=0;elseifI(k)-D(k)<r(k)Y(k)=1;endI(k)=I(k)-D(k);endflag(k)=1;adj(:,k)=zeros();endwhileall(flag)==0forj=1:facnumif(any(adj(j,:))==0)&&(flag(j)==0)Refacde=adjmatrix(j,:).*Y.*q;D(j)=sum(Refacde,2);ifD(j)>I(j)Y(j)=1;Deliv=floor(Refacde/D(j)*I(j));R=R+Deliv;I(j)=I(j)-sum(Deliv,2);deliv=Deliv;refacde=Refacde;refacde(find(refacde==0))=0.1;deliv(find(deliv==0))=0.1;u=u.*deliv./refacde;elseifI(j)-D(j)<r(j)Y(j)=1;endI(j)=I(j)-D(j);R=R+Refacde;endflag(j)=1;adj(:,j)=zeros();endendendI=I+R;Bt=Bt+sum(I,2);U=U+sum(u(terminal),2)/length(terminal);endBt=Bt/N;U=U/N;save('C:\Users\hp\Documents\MATLAB\ÒÅ´«Ëã·¨\U.mat','U');endfunction[lastu,ceq]=Ux(x)U=0;r=[x(1),x(2),x(3),x(4),x(5),x(6),x(7)];q=[x(8),x(9),x(10),x(11),x(12),x(13),x(14)];Bt=0;facnum=7;N=10;adjmatrix=[0100000;0011000;0000110;0000001;0000000;0000000;0000000];I=[100,100,100,100,100,100,100];C=30;terminal=[5,6,7];forn=1:ND=zeros(1,facnum);R=zeros(1,facnum);u=ones(1,facnum);R(1)=C;adj=adjmatrix;flag=zeros(1,facnum);Y=zeros(1,facnum);fori=1:length(terminal)k=terminal(i);%D(k)=round(i*10+sqrt(i)*randn(1));D(k)=i*10;ifD(k)>I(k)Y(k)=1;I(k)=0;elseifI(k)-D(k)<r(k)Y(k)=1;endI(k)=I(k)-D(k);endflag(k)=1;adj(:,k)=zeros();endwhileall(flag)==0forj=1:facnumif(any(adj(j,:))==0)&&(flag(j)==0)Refacde=adjmatrix(j,:).*Y.*q;D(j)=sum(Refacde,2);ifD(j)>I(j)Y(j)=1;Deliv=floor(Refacde/D(j)*I(j));R=R+Deliv;I(j)=I(j)-sum(Deliv,2);deliv=Deliv;refacde=Refacde;refacde(find(refacde==0))=0.1;deliv(find(deliv==0))=0.1;u=u.*deliv./refacde;elseifI(j)-D(j)<r(j)Y(j)=1;endI(j)=I(j)-D(j);R=R+Refacde;endflag(j)=1;adj(:,j)=zeros();endendendI=I+R;U=U+sum(u(terminal),2)/length(terminal);endlastu=0.90-U/N;ceq=[];endfunction

Bt

=

modelcorrect(x)

U=0;

r=[x(1),x(2),x(3),x(4),x(5),x(6)];

q=[x(7),x(8),x(9),x(10),x(11),x(12)];

Bt=0;

facnum=6;

N=3;

adjmatrix=[0

1

1

1

1

1;0

0

0

0

0

0;0

0

0

0

0

0;0

0

0

0

0

0;0

0

0

0

0

0;0

0

0

0

0

0;0

0

0

0

0

0];

I=[100,1000,3000,4000,1000,1000];

C=1620;

terminal=[2,3,4,5,6];

data=[10,530,625,342,400];

for

n=1:N

D=zeros(1,facnum);

R=zeros(1,facnum);

u=ones(1,facnum);

R(1)=C;

adj=adjmatrix;

flag=zeros(1,facnum);

Y=zeros(1,facnum);

for

i=1:length(terminal)

k=terminal(i);

%

D(k)=round(i*10+sqrt(i)*randn(1));

D(k)=data(i);

if

D(k)>I(k)

Y(k)=1;

I(k)=0;

else

if

I(k)-D(k)<r(k)

Y(k)=1;

end

I(k)=I(k)-D(k);

end

flag(k)=1;

adj(:,k)=zeros();

end

while

all(flag)==0

for

j=1:facnum

if

(any(adj(j,:))==0)&&(flag(j)==0)

Refacde=adjmatrix(j,:).*Y.*q;

D(j)=sum(Refacde,2);

if

D(j)>I(j)

Y(j)=1;

Deliv=floor(Refacde/D(j)*I(j))

温馨提示

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

评论

0/150

提交评论