制造企业零库存管理物资调度方法研究

2019-09-20 09:33汪黎明
价值工程 2019年23期
关键词:制造企业

汪黎明

摘要:制造企业为减少库存成本、优化资金结构实施零库存管理,在生产经营过程中如何高效调度物资使仓储保持零库存动态平衡是后续需要解决的难题。以制造企业仓储部门为研究对象,在零库存管理思想指导下,提出一种基于Q学习的零库存物资调度方法,并用实验验证方法的有效性,以期提高制造企业仓储管理效率,减少人为误差,为实施零库存管理提供后续技术支持。

Abstract: In order to reduce the cost of inventory and optimize the capital structure, the manufacturing enterprise implements zero inventory management. In the process of production and operation, how to efficiently dispatch materials to keep the dynamic balance of zero inventory is a difficult problem to be solved later. Taking the warehouse department of manufacturing enterprises as the research object, under the guidance of zero inventory management thought, a zero inventory material scheduling method based on Q-learning is proposed, and the effectiveness of the method was verified by experiments, in order to improve the efficiency of warehouse management and reduce human error. Provide follow-up technical support for implementing zero inventory management.

關键词:零库存管理;物资调度;Q学习;制造企业

Key words: zero inventory management;material dispatching;Q-learning;manufacturing enterprise

中图分类号:F253.4                                     文献标识码:A                                  文章编号:1006-4311(2019)23-0126-04

0  引言

库存是企业生产管理的重要组成部分,储备着原材料、中间产品和产成品,适量的库存对企业的正常运作发挥着重要作用,如维持生产销售稳定,平衡企业物流与流通资金的占用等[1]。然而,多余的库存会增加成本、占用企业大量资金,并掩盖生产经营中的很多问题。制造企业在我国经济发展中扮演着重要角色,库存成本控制能够提高企业的管理效率和经济效益,一直以来降低库存成本成为企业想要达到的目标,也是学术界研究的热点。零库存管理(Zero Inventory Management)是一种特殊的管理理念,它并不是指库存物资的数量为零,而是通过特殊的管理控制策略,使库存量最小化,维持在一个对企业最有利的水平上。制造企业科学应用零库存管理,能够降低成本、提高质量、缩短产品生产周期,使其能够快速响应市场需求、提高企业竞争力。

对于制造企业零库存管理的研究,主要集中在以下几个方面:①零库存管理的可行性与风险研究。吴丹洁等[2]、黄文杰等[3]从经营环境、供应商、供应链、信息系统、不可控因素等方面阐述了企业实施零库存管理的可行性,并对各方面存在的风险隐患提出了相应对策。②零库存管理的问题与对策研究。陈宏佳[4]针对我国企业照搬丰田汽车公司零库存管理模式产生的存货管理失控和出库数据不准确影响核算准确性等问题提出了改进措施。屈冠林[5]全面剖析零库存的含义,提出企业实施零库存管理的原则和充分利用第三方物流服务、协作生产、实行看板管理等实现零库存的途径。③零库存管理实现方式研究。王涵等[6]、廖华昌[7]、朱文英等[8]以不同类型的制造企业为研究对象,在深度理解零库存管理理论基础上,从规范库存管理流程、业务流程特点、供应链等角度对零库存管理进行实践探索。④零库存管理的其他研究。潘燕华等[9]使用层次分析法构建零库存管理物资类别选择决策优化模型,研究某一物资类别是否适用于零库存管理。

综上所述,现阶段学术界大都从企业或供应链等宏观视角出发研究零库存管理的可行性、风险、对策措施、实现方式等方面,对于制造企业实施零库存管理后仓储部门如何调度物资保持零库存状态的问题则没有涉及。在企业实际生产经营过程中,库存不可能一直保持不变,故实行零库存管理后调度物资在动态情况下保持平衡是非常重要的,我国大多数制造企业仍采用以人为主的传统库存管理模式,由于出入库频繁、人为误差大等因素,该模式不仅需要较高的人力成本,且存在管理流程不规范、库存信息不完整等问题,企业信息系统应用程度不高,零库存管理下仓储物资调度缺乏规范有效的指导方法。本文提出一种基于Q学习(Q-Learning)的制造企业零库存管理仓储物资调度方法,依据零库存管理思想与Q学习算法,结合制造企业仓储部门特点,设计方法需要的各项参数、函数,输出结果为调度物资达到零库存状态的全局最优策略,最后用实际案例验证方法的有效性。

1  方法概述

1.1 Q學习算法

Q学习(Q-learning)算法是一种与模型无关的强化学习算法,以马尔科夫决策过程(Markov decision processes, MDPs)为理论基础[10]。标准的马尔科夫决策过程可以用一个五元组表示,其中:S是一个离散有界的状态空间;A是一个离散的动作空间;P为状态转移概率函数,表示agent在状态s下选取动作a后转移到s'的概率;R为回报函数,用于计算agent由当前状态s选取动作a后转移到下一状态s'得到的立即回报值,由当前状态和选取的动作决定,体现了马尔科夫性的特点;γ∈[0,1]是折扣因子,用于确定延迟回报与立即回报的相对比例,γ越大表明延迟回报的重要程度越高。马尔科夫决策问题的目标是找到一个策略π:S→A,使其回报函数R(s,a)的长期累积值的数学期望

最大。其中,策略π只和状态相关,与时间无关(静态的)。st是t时刻的环境状态,at是t时刻选择的动作。根据Bellman最优准则,得到最优策略π*对应的最优指标为[11]:

其中,R(s,a)为R(st,at)的数学期望,Ps,a(s')为在状态s下选取动作a后转移到下一状态状态s'的概率。由于仓库环境中状态之间的转移概率P不容易获得,直接学习π*:S→A是很困难的,而Q学习不需要获取转移概率P,因而本文采用Q学习算法解决此类具有马尔可夫性的仓储物资调度问题。

Q学习是一种与环境无关的算法,是一种基于数值迭代的动态规划方法[12]。定义一个Q函数作为评估函数:

评估函数Q(s,a)的函数值是从状态s开始选择第一个动作a执行后获得的最大累积回报的折算值,通俗地说,Q值等于立即回报值R(s,a)加上遵循最优策略的折算值,此时的最优策略可改写为:

该策略表达式的意义在于:如果agent用Q函数代替Vπ函数,就可以不考虑转移概率P,只考虑当前状态s的所有可供选择的动作a,并从中选出使Q(s,a)最大的动作,即agent对当前状态的部分Q值做出多次反应,便可以选出动作序列,使全局最优化。在Q学习中,agent由初始状态转移到目标状态的过程称为“Episode”,即“场景”。Q函数可以表示为以下的迭代形式进行Q矩阵的更新:

在每一步的迭代中,上式又可写为:

即Q矩阵(st,at)位置元素的值等于回报函数R的相应值加上折扣因子γ乘以转换到下一个状态后最大的Q值。

上述的Q学习算法可以看出,当划分的状态有限时,每一节随机选择的初始状态s在算法的指导下探索环境,最终一定可以到达目标状态s*,回报函数R(s,a)是有界的,并且动作的选择能够使每个状态映射到动作对的访问是无限频率,则整个学习过程就能够训练出来。Q学习通过对环境的不断探索,积累历史经验,agent通过不断试错来强化自身,最终可以达到自主选择最优动作的目标,即不论出于何种状态,都可给出到达目标状态的最优选择路径,该算法中环境和动作相互影响,动作的选择影响环境状态,环境也可以通过强化回报函数R(s,a)来反馈动作的优劣性,影响动作的选择[13]。

1.2 基于Q学习的零库存物资调度方法

根据Q学习理论和制造企业仓储环境实际情况,本文对库存管理方法的系统状态、动作选择、回报函数、评估矩阵等设计如下:

1.2.1 系统状态

在实际的库存问题中,对于可以进行零库存管理的物资,根据其具体状况进行状态的划分,这是方法应用的第一步。通常影响状态划分的因素有:物资的计量单位,零库存状态时物资之间是否有相互关系,物资的物理状态是否会发生改变等。本文为了将仓储环境划分为有限状态,一方面,库存的变化量默认以整数为单位,实现离散化处理;另一方面,零库存状态是唯一的,也就是说达到零库存状态时各种物资的量是一定的,零库存状态可采用机器学习方法从历史数据中训练得到。

1.2.2 动作选择

环境划分为有限个状态,状态之间相互联系,可以设计动作实现状态的转移。在训练过程中,采用随机动作作为选择策略,任一动作被选中的概率相同。动作即管理人员调整库存物资的行为,用a表示,动作空间A表示所有可能动作的集合。

1.2.3 回报函数R

在Q学习算法中,回报函数R(s,a)设计的好坏直接影响着学习训练的效果,通过设计回报函数可以将从历史数据中学习到的先验知识应用到学习过程中。在物资调度问题中,希望每一场景中agent可以尽快达到零库存最优状态,同时希望Q矩阵尽快收敛。本方法将状态与动作抽象到二维或多维空间,用点和线表示,回报函数设计为三部分,第一部分对agent当前状态到目标状态的距离进行惩罚(即靠近目标位置会获得奖励),第二部分对agent到达目标状态进行巨额奖励,第三部分对agent超出库存状态限定范围进行巨额惩罚(状态空间是有界)。

单从数值上看,第一、三部分的回报值远远大于第二部分,故agent在面临选择时,零库存状态处于最高优先级,而选择使状态超出限定范围的动作的可能性趋于0。第二部分回报值设置为负,越靠近目标状态,则回报值越大,这样设置的意义在于,该算法的最终目标是使库存达到零库存状态,而不仅仅是为了缩短与目标状态间的距离,添加距离惩罚机制,有助于提高学习效率,可以防止agent为获取回报而产生不必要的移动。

1.2.4 评估矩阵Q

agent对环境不断探索、试错,Q矩阵相当于它的大脑,记录每一场景得到的信息,使用公式(6)对Q矩阵进行更新,不断训练直到Q矩阵收敛。训练的基本思路如图1所示。

基于算法思想,训练Q矩阵的具体流程如下:

步骤1.初始化仓库环境:抽象仓储环境,根据管理的各种物资的实际情况设计状态空间和动作空间。

步骤2.初始化算法参数:最大训练周期数(每一场景即为一个周期),折扣因子γ,即时回报函数R和评估矩阵Q。

步骤3.随机选择一个初始状态s。

步骤4.在当前状态s的所有可能动作中随机选择一个动作a,选择每一动作的概率相等。

步骤5.当前状态s选取动作a后到达状态s'。

步骤6.对于下一状态s',根据其所有可能的动作,以下式更新Q矩阵:

步骤7.设置下一状态为当前状态:s'→s。若s未达到目标状态,则转步骤4。

步骤8.如果算法未达到最大训练周期数,转步骤3进入下一场景。否则结束训练,此时得到训练完毕的收敛Q矩阵。

在上述算法中,Q矩阵训练到一定场景数后收敛,故最大周期数应设置的足够大,保证算法结束后Q矩阵已收敛,根据Q矩阵输出agent的最优动作序列。

2  实验与分析

2.1 实验环境和参数设置

本文以制造企业小型仓储问题为例,介绍该方法的具体实施步骤,分析结果并对其可行性进行阐述。案例描述如下:假设某仓库存储A、B两种物资,均可进行零库存管理,仓储环境的约束条件为:

当且仅当A、B的库存量分别为2单位和3单位时库存达到最优状态(即零库存状态,此目标状态可利用机器学习的方法处理历史数据得到),每种物资均可通过消耗、转移等方式进行调整(减少1单位,保持不变或者增加1单位)。

根据已知条件,设A和B的库存量为wA和wB,wA∈[0,10],wB∈[0,10]且均为整数,仓储环境里每一个状态均由两物资的库存量共同组成,即S=(wA,wB),共11×11个状态,零库存状态设置为s*=(2,3)。物资A、B的库存量变化分为三种情况:-1、0、+1,设计动作要综合二者的变化,故共有32种动作 ,所有可能动作的集合记为A,表示如下:

动作即为库存量变化的组合,为方便后续程序的索引处理,用序号0-8与上式中的动作一一对应。将整个状态空闲抽象为一个二维直角坐标系,横坐标为wA,纵坐标为wB,坐标系中每个点都是一个状态,回报函数如下:

式中:R(s,a)——状态s选择动作a后获得的回报值;

xk——agent下一状态的坐标,即xk=sk+ak;

xg——目标状态(零库存状态),即xg=(2,3)。

agent对仓储环境不断探索、试错,Q矩阵相当于它的大脑,记录每一场景得到的信息,使用公式(6)对Q矩阵进行更新,不断训练直到Q矩阵收敛。本案例中Q矩阵是一个121×9的矩阵,行表示agent的當前状态,列表示到达下一状态的可能动作,矩阵元素Q(st,at)表示立即回报值R(st,at)加上转换到下一状态后此行的最大Q值乘上折扣因子γ。初始化的Q矩阵如图2所示,按图中状态、动作的顺序建立索引(0-120;0-8),方便后续操作。

2.2 结果与分析

各种编程语言均可进行程序的编写,部分软件也满足本方法的需要,本文采用python语言进行程序编写。设置折扣因子γ为0.8,最大训练周期数为1000。程序运行结果如图3所示。

训练之后会得到收敛的Q矩阵,通过比较数值能够得到某个状态下选择各个动作的优先程度,即选择该状态对应行的最大Q值的对应动作,从初始状态到目标状态每一步最优即可得到整体的最优策略。例如,若当前库存状态为(5,7),即A、B的库存量分别为5单位和7单位,程序给出最优策略:(5,7)→(4,6)→(3,5)→(2,4)→(2,3),管理人员只要依据此策略调整物资即可快速实现零库存管理的目标。为了更加直观地展示实验结果,选择4个初始状态进行程序测试,结果可视化展示如图4所示,图中标注了初始状态点和零库存目标状态点,连接线段即为调整库存的策略路径,能够明显看出,程序结果为案例已知条件下调整物资的最优策略,实验证明本方法能够有效应用于零库存管理物资调度问题。

3  结论

本文针对制造企业实施零库存管理下如何快速调度物资维持零库存动态平衡这一问题进行研究,提出基于Q学习的零库存物资调度方法。实验结果表明,该方法提高了库存调整效率,减少了人为因素造成的偏差,能够有效地解决此问题。在实际应用场景中,存在更为复杂的仓储状况,需要根据实际情况进行状态划分,动作选择、回报函数、评估矩阵等设计,最后根据算法流程图进行编程或者软件处理,依据输出结果调度物资实现零库存。在“互联网+”大背景下,将信息技术应用到制造企业生产管理中是必然趋势,传统的管理模式正在向智能化管理转变。本文提出的制造企业零库存管理仓储物资调度方法,将信息技术与零库存管理思想相结合,用计算机代替人为判断,为企业实施零库存管理后的的物资调度提供方法支撑,提高了库存管理效率,适应新形势下追求企业整体经营成本降低的需要,有效减少企业库存成本和人力成本,提高整体效益和市场竞争力,实现企业高质量发展。

参考文献:

[1]胡雨亭.库存的弊端与实现零库存的方法[J].湖北社会科学,2011(03):87-89.

[2]吴丹洁,苏俊华,郑建阳.企业零库存的适用与风险探析[J].改革与战略,2015,31(05):83-91.

[3]黄文杰,黄奕.零库存可行性分析和风险防范措施[J].企业经济,2009(09):38-40.

[4]陈宏佳.我国企业应用零库存管理法存在的问题[J].财务与会计,2016(04):56-57.

[5]屈冠林.科学地认识零库存——浅议零库存策略的内涵与实施[J].中国物流与采购,2003(11):34-35.

[6]王涵,蔡安江,褚崴.制造企业库存管理信息系统的研究与实施[J].制造业自动化,2014,36(10):17-20.

[7]缪华昌.制造企业零库存模式的实践探索与研究[J].物流工程与管理,2015,37(06):56-58.

[8]朱文英,马天山.零库存管理理论在制造企业中的应用[J].物流技术,2009,28(08):140-142.

[9]潘燕华,陈婷婷,李向远.船舶制造企业零库存管理物资类别选择决策模型构建[J].财会月刊,2017(29):43-47.

[10]聂春雨,祝明,郑泽伟,等.基于Q-Learning算法和神经网络的飞艇控制[J].北京航空航天大学学报,2017,43(12):2431-2438.

[11]PUTERMAN M L. Markov Decision Processes: Discrete Stochastic Dynamic Programming[M]. New York: John Wiley & Sons, 1994.

[12]方敏,李浩.基于状态回溯代价分析的启发式Q学习[J].模式识别与人工智能,2013,26(9):838-844.

[13]张佳立,尼俊红.基于Q学习的配电异构无线网络选择算法[J].南京邮电大学学报(自然科学版),2018,38(02):54-59.

猜你喜欢
制造企业
制造企业成本控制中运用价值流分析探究
基于SAP信息化系统下的制造企业成本管理控制趋势分析
从平衡记分卡看绩效评价
基于营改增背景下的制造企业纳税筹划方法分析