基于Anylogic的供应链网络建模与优化.docx
- 文档编号:8698663
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:19
- 大小:1.48MB
基于Anylogic的供应链网络建模与优化.docx
《基于Anylogic的供应链网络建模与优化.docx》由会员分享,可在线阅读,更多相关《基于Anylogic的供应链网络建模与优化.docx(19页珍藏版)》请在冰豆网上搜索。
基于Anylogic的供应链网络建模与优化
基于AnyLogic的供应链网络建模与优化
【摘要】针对DownJacket服装公司华东销售区域供应链网络的复杂性,利用AnyLogic软件对该供应链网络进行仿真分析。
将总仓、区域仓及门店之间的关系,通过智能体以及流程图等进行衔接,并将最终成果在GIS中直观地展现出来,对其区域仓的产品流以及布局进行分析,统计初始状态下的物流成本。
采用最大最小距离聚类算法对门店进行分组,将多重心选址转换成单一重心选址,求出各个区域的分仓选址,再使用AnyLogic进行仿真,验证优化成果。
【关键词】供应链网络;建模;重心法;
1前言
1.1研究背景与研究意义
1.1.1研究背景
随着经济的快速发展,信息化程度越来越高,科学技术也在不断发展,市场的信息更加透明,加剧了对各个企业自身实力的考验,伴随着消费者生活质量的提高,消费者的需求变得多种多样,企业需要做好众多准备,以满足消费者的需求。
而企业的供应链网络结构往往会很大程度地决定产品的周期以及成本,原先由供应商主导的、简单的、静态的市场环境也逐渐演化成以客户为主导的、复杂的、动态的以产品创新为核心的市场竞争环境[1]。
面临市场环境的变化,企业需要降低产品的交货周期、产品成本,不断提高产品质量以及提供更多优质服务,因此需要企业的经营者不断去优化、创新管理模式,对企业的供应链网络进行改造,以更加适应市场环境的变化,更加快速地响应市场的需求,不断优化供应链网络来应对外界的挑战。
1.1.2研究意义
对供应链网络进行管理是提高企业竞争力的重要策略,供应链管理理论与实践在业界和学界均获得了高度的认可。
一般认为,供应链是"核心企业与其它乃至全部链上企业的内外部业务合作,以提高每个企业长期绩效的系统性和战略性协作模式"[2],在这种关系下,企业为了能保持自身的竞争优势,需要建设和优化有效的供应链,以适应外界不断变化的市场竞争环境,对供应链的优化和改造,一般包括设计流程、建立供应链网络模型、以及具体的优化方法这三方面。
使用AnyLogic建模和仿真,为解决该问题提供了一个有效的平台,AnyLogic软件可以将供应链中的各个环节相互结合,并将各个节点的布局等信息通过直观的画面展现出来,可以对现有各个节点的布局进行更加合理的规划,可以将真实的数据录入,进行验证,可以规范可能出现的问题,提前预知,以便后续改进或预防,从而更快、更好地改善产品流和选址布局的现状,避免资源的浪费,更加高效、准确地进行供应链网络建设。
1.2国内外研究现状
1.2.1国外研究现状
对供应链网络规划的研究,最早在60多年前,由Hakimi提出了P-中值问题与P-中心问题,这些问题被提出后,越来越多关于供应链网络规划的问题开始被提出[3]。
从供应链网络模型的复杂程度来看,由单一产品、设施规划向多种产品、多设施规划发展;从区域规划程度来看,区域范围由最初的单一区域到多区域甚至发展到跨国乃至全球。
仓储中心由原先的储存功能转变成中转站、前置仓。
供应链的驱动方式,由原先的推动式供应链模式,根据制造商的生产计划进行销售,更多地转变成拉动式或者是推拉结合的供应链模式,根据客户的需求进行定量定产,以满足客户的需求。
这些变化都离不开复杂的供应链网络规划,供应链网络规划也由点对点向点对面的阶段发展。
针对供应链网络规划模型的研究,在1995年由Arntzen等[4]提出的针对全球化的供应链管理模型,该模型的优化目标是最小化运营成本及活动时间,运用混合规划的方法来限制物流与仓储的关系,对产能资源与仓库存储能力形成相互制约。
HasanPirkul[5]在1998年提出了多产品三阶供应链网络模型,优化目标是将总运输成本降到最低,综合了工厂和仓库之间的资源约束,通过启发式方法进行求解工厂和仓库的选址,并且考虑各个订单需求在工厂和仓库之间的分配和运输对策。
三阶模型运用到2000年,由EHSabri等[6]提出了一个多目标的四阶供应链双层规划模型,四阶供应链模型比三阶多出了双层规划模型,从战略层级和实际操作层级来求解和构建模型,战略层级主要考虑供应链网络中各个节点的选址,各个仓库中的货物库存的分配和优化等,操作层级主要考虑在订单需求、生产及供货周期等随机情况下,生产制造及物流的单位产品成本、交付达成率等的求解。
MehranSepehri[7](2012)建立了多产品多周期多阶动态协同供应链网络优化模型,该模型包括了商品的制造和商品分销配送,以达到总成本最低,对客户需求分配进行优化。
1.2.2国内研究现状
我国对供应链网络规划的研究在1985年后,最初主要是针对一些公共设施选址,例如建筑、土木工程等领域。
对供应链网络规划的大量研究从2000后才开始涌现出来。
胡刚等[8](2002)提出的针对第三方物流企业的物流中心选址问题基于0-1整数规划中构建了一个单产品单个设施的三阶供应链网络规划模型,通过启发式算法进行求解,使得物流处理总成本最低。
徐利民等[9](2003)把时间因素加入到静态供应链模型,对仓储中心选址进行动态规划,基于时间的变化使得仓储中心的布局不断优化,使其更具有灵活性和现实性。
封燕等[10](2010)提出基于客户满意度的多目标城市物流中心选址模型,并引入遗传算法对该模型进行求解。
白阳[11](2010)提出基于智能体和系统动力学的供应链系统混合建模与仿真研究,对制造商、零售商、分销商、顾客的四阶供应链系统模型进行模拟仿真,验证供应链上的牛鞭效应,并通过设置库存管理目标函数,给出了最大最小库存控制的仿真求解方案。
陈姝宇等[12](2019)采用重心法对配送中心选址进行研究,以距离和运输量等为主要因素进行分析,采用迭代的方法使总费用达到最低,进而求得物流配送中心的坐标,最终确定配送中心理论上的最佳位置。
侯玥[13](2015)提出了对多个配送中心的改进多重心法选址研究,创新地结合了数据挖掘中的聚类算法,更加智能、高效地完成多个配送中心选址的问题,改进的重心法不仅原先重心法的计算便捷,还考虑了地价、固定成本等实际问题,避免了聚类中心越多,总费用越低这种不符合实际的现状,更加贴近实际操作。
通过以上文献发现,我们国内的供应链网络规划在不断地进步,但是对中国当前的大多制造业企业来说,系统且科学地运用供应链网络规划的并不多,且更多运用的是仓储物流中心的规划,在制造工厂和供应商的选择定点上应用较少。
随着供应链网络全球化的推进,中国企业会在更大的区域网络内进行发展,这对供应链网络规划的系统性和全面性有了更高的要求。
2
供应链网络建模理论概述
2.1供应链网络
国际供应链协会(SCC)对供应链进行标准化定义—供应链运作参考模型(SCOR)。
SCOR是第一个标准的供应链流程参考模型,将供应链界定为计划(Plan)、采购(Source)、生产(Make)、配送(Deliver)、退货(Return)五大流程。
首次提出供应链网络概念的是Fu-Renlin][14],在ReengineeringtheOrderFulfillmentProcessinSupplyChainNetwork中提出,他认为,供应链中的供应商、制造商、物流服务提供商等各个节点在不同方面相互依赖,形成了“供应—生产—物流配送—销售”这种较为复杂的网络。
整个供应链是由自主程度不同的企业实体组成的,这些企业实体在供应链中所处的位置与承担的业务活动各不相同,它们通过业务活动以及与上下游企业之间的沟通协调所构成的网络。
这种通常被称为狭义上的供应链网络。
在一个网链结构中拥有多个核心企业时,网链结构就可以动态地演化成一种网状结构,通常称为广义的供应链网络。
2.2供应链建模与模型
在整个供应链中,各个成员企业之间通过信息流、资金流、物流而建立联系,形象来说,供应链更像是一个巨大的、松散的、相互联系但是又保持独立的企业联盟,这直接导致了供应链所出现的问题变得复杂、多变。
通过建立供应链模型,可以反映出供应链在实际运作过程中的运营绩效、资源约束、流程优化等的情况,可以反映出供应链管理体系的内在规律和复杂性。
供应链建模与优化是通过构建供应链模型“在约束条件或资源有限的情况下的决策方案”。
供应链建模方法有很多,从大类上来分,供应链建模可分为基于图形的建模方法、基于运筹学的建模方法和基于仿真的建模方法,后两种使用最为广泛。
相对应地,当前主流建模工具分为两类,纯数学建模工具和仿真建模工具。
供应链模型经过多年发展,在Matlab、Flexsim、Anylogic等软件的基础上发展成为多元化、多模型、多系统的新型供应链模型。
供应链是一个复杂、分散、动态的网络系统,建模和仿真是处理供应链复杂决策问题的理想手段。
2.2.1Anylogic软件介绍
AnyLogic是一款应用广泛的,对离散、系统动力学、多智能体和混合系统建模和仿真的工具。
应用涉及到多个领域,包括:
物流、供应链、制造生产业、行人交通仿真、行人疏散、城市规划建筑设计、GIS信息、港口机场、疾病扩散等,它是第一个将UML语言引入模型仿真领域的工具,以最新的复杂系统设计方法论为基础,也是唯一支持混合状态这种能有效描述离散和连续行为的语言的商业化软件[15]。
Anylogic支持多种建模方法:
离散事件建模、系统动力学建模(SystemDynamics,SD)、基于(Agent)智能体建模、混合建模等,本文将采用离散事件建模及(Agent)智能体建模,并基于GIS的混合建模方式。
本文对服装企业供应链网络进行建模,首先使用Agent智能体将有共同性质的对象定义为一个智能体群,在后续建模以及衔接时,可以将多目标转化成单目标,并且在单个智能体/智能体群内可以使用流程图、流体库、系统动力学、状态图、行动图等多种模式进行建模。
Anylogic支持多种方式进行仿真,采用Java编程语言,其特点符合对客观事实的对象进行建模,将抽象化、数据化转变成直观的模型进行仿真,为模型的多种功能提供了支撑。
3
D公司的供应链网络建模与优化
3.1D公司简介
DownJacket服装公司,主营一种品牌羽绒服,其销售网络遍布中国,在全国拥有上千家的自营店和加盟店。
近几年,服装企业的竞争日趋激烈,利润逐年下降,库存和成本压力逐步加大。
在其华东分区,拥有1个总仓,22个分仓,以及71家门店。
现对其华东分区的供应链网络进行评估,优化产品流,并进行选址分析,降低总成本。
D企业的供应链模式是以自身作为核心企业,设计服装款式、打造品牌及企业文化等,将生产外包,根据需求将服装样式及生产数量下单给服装生产企业,并将所生产完的成衣全部运输到总仓,采用总仓配送至前置分仓,再根据门店的需求从较近的分仓进行配送(见图1)。
图1供应链网络结构图
3.2基于AnyLogic的供应链网络建模
3.2.1假定条件
建立仿真模型需要在一定的假设条件基础上进行,对真实系统进行抽象化和模拟化。
本文对D公司的供应链网络进行仿真建模,对其选址进行分析,对以下条件进行假设。
(1)为保持整个供应链运转,假设总仓有无限可发数量;
(2)在配送过程中不考虑其他因素的发生,车辆基于真实路网进行配送,装卸货时间均为1小时,配送速度统一为45km/h,运输费用率一致;
(3)D企业为服装企业,周转期较短,门店及分仓每隔一段时间进行补货;
(4)总仓和门店在每次模拟时各个参数都保持一致,变量:
分仓选址;
3.2.2建立初始模型
本文采取智能体和GIS相结合的方式进行仿真,输入门店、分仓、总仓的地理位置信息,构建各个层级之间的关系,包括订单的产生、传递、配送,配送路线的选择、车辆的调度等。
输出分仓至门店的运输费用、服务时间分布,总仓至分仓的运输费用。
(1)创建Retailer智能体
Retailer表示门店,包括两个参数,分别是name、center,以及一个事件generateDemand,(见图2)。
name表示每个门店的名字,center用来确认每个门店的分仓。
generateDemand表示该门店每星期产生补单需求,补单次数服从均匀分布,uniform_discr(1,2),并将该需求发送至其对应的分仓,每次补货数量服从均匀分布uniform_discr(500,1000),代码如下:
Orderorder=newOrder(this,uniform_discr(500,1000));
send(order,center);
图2Retailer智能体模型
(2)创建Order智能体
Order智能体用来储存门店的订单需求,包括参数retailer、retailerAmount
(见图3)。
retailer:
表示该订单隶属的门店,retailerAmount:
表示该订单的数量。
图3Order智能体模型
(3)创建Distributor智能体
Distributor智能体表示分仓,包括参数name、ndc,事件generateDemand1,以及一个流程图(见图4)。
name:
表示每个分仓的名字,ndc表示总仓,结合agentLinkNDC来连接总仓NDC,generateDemand1表示分仓的补货需求并发送至总仓,补货次数每个月服从均匀分布uniform_discr(1,3),每次补货数量服从均匀分布uniform_discr(3000,5000)。
整个流程图表示分仓接受到各个门店的订单需求后的流程,通过connections连接至Retailer智能体,processOrder接受到分仓的订单信息,之后订单在queue进行排队,takeTruck根据订单信息,从fleet资源池中调度车辆,并将信息发送至智能体Truck,releaseTruck(释放资源)发车,delivering(延迟,直至车辆配送完回到分仓后,调用stopDelay()后,延迟结束)表示在配送中,等车辆配送回来之后,整个订单结束,进入sink消失。
图4Distributor智能体模型
(4)创建DistributorTruck智能体
DistributorTruck智能体表示车辆在整个配送过程中的状态。
包括参数center,变量order、startTime以及一个车辆状态图(见图5)。
center:
表示该车隶属于的分仓,order:
表示当前配送的订单属性,startTime:
表示开始配送的时间。
图5DistributorTruck智能体模型
状态图表示车辆在Distributor接受到订单信息后,进行装载,其内部属性(见图6),触发方式为到时,在1小时后再执行行动,表示1小时后装载完,执行配送,移动至订单所确定的门店,并开始计时。
图6loading属性图
车辆移动到目标门店后,计时结束,将配送时间返回至统计表格,代码如下:
main.serviceTime.add(time()-startTime);
进行卸货unloading,同样触发方式采用到时,在1小时后再执行行动,之后移动回分仓,并发送信息到分仓的delivering调用stopDelay()。
(5)创建DistributorOrder智能体
DistributorOrder智能体表示分仓的订单,包括参数distributor,distributorAmount(见图7)。
distributor:
表示该订单隶属的门店,distributorAmount:
表示该订单的数量。
图7DistributorOrder智能体模型
(6)创建NDC智能体
NDC智能体表示总仓,包括参数name,处理分仓订单的流程图(见图8)。
name:
表示分仓的名字。
流程图与分仓的逻辑一致。
图8NDC智能体模型
(7)创建NDCTruck智能体
NDCTruck智能体表示NDC总仓的车辆在整个配送过程中的状态。
包括参数ndc,变量distributorOrder、startTimeofNDC以及一个车辆状态图(见图9)。
ndc:
表示该车为总仓的车,distributorOrder:
表示当前配送的订单属性,startTimeofNDC:
表示开始配送的时间。
状态图的内部逻辑与DistributorTruck一致。
图9NDCTruck智能体模型
(8)Main主界面
Main是整个模型运行的最上层,可以将各个智能体联系起来。
移入GIS地图,初始化模型的运行环境(见图10)。
setCenters();
getEngine().setStartDate(newDate());
图10Main主界面
设置retailer智能体的参数,retaier包括多个门店,属于智能体群,将各个门店的经纬度等信息导入,并与系统关联(见图11)。
图11retailer属性
设置distributor智能体的参数,distributor包括多个门店,属于智能体群,将各个门店的经纬度等信息导入,并与系统关联(见图12)。
图12ditributors属性
设置函数setCenters,该函数用于确定各个门店对应的分仓,并使得该分仓离门店的实际道路最近,代码如下:
for(Retailerretailer:
retailers)
retailer.set_center(retailer.getNearestAgentByRoute(distributors));
在Main主界面的右侧将运行的数据关联至表格内,并将表格内的配送数据处理后显示界面上,得到分仓至门店的配送费用,总仓至分仓的配送费用,以及总费用,其中分仓至门店的配送费用率为每小时120,总仓至分仓的配送费用为每小时200。
3.3运行模型
在检验无误后,进行仿真模拟,设置运行时间为2年。
其结果(见图13)。
表格ServiceTime为分仓至门店的配送服务时间,样本数量9869个,均值为2.661,服务时间在0-10小时内,满足12小时内的配送服务要求。
总配送费用将近500w。
图13仿真结果
3.4基于聚类算法的多重心法供应链网络选址优化
3.4.1重心法概述
重心法是以微积分为基础来求解选址的模型,通常用来计算出在多个客户之间,使得运输成本最低的中间设施的位置。
重心法将物流系统中的需求点和资源点看作分布在一定范围内的群落,各点的需求量和资源量看成是物体的重量,将物流系统的重心作为配送中心的最佳设置点。
使用重心法计算物流设施的选址,操作简单且高效,能够真实地解决实际问题。
重心法的基本假设:
(1)不同选址的建筑费用、运营费用一致;
(2)运输费用与运输距离成正比;
(3)运输路线为空间直线;
具体计算过程如下:
假设有n个需求点,其坐标分别为P(
)i=1,2,...,n。
各个需求点的
需求量为
(i=1,2...,n),待定的配送中心坐标为(
),该配送中心到各个需求点的运输费率相同,使得总运输费用最小。
单位距离的运输费率为
,货物从配送中心运输到需求点的运输费用是
。
假设配送中心到需求点的距离为
。
=
×
×
(3-1)
=
(3-2)
则,总费用H为:
H=MinT
(3-3)
配送中心(
)决定最终的总运输费用,将式(3-2)代入式(3-2)中,可得:
H(
)=
×
×
(3-4)
为使上述方程式中的成本H最小,即运输费用最小的配送中心,可以计算出配送中心的位置,因此变成对函数H(
)求极值的问题,需要对式(3-4)中的两个变量求偏导数,令偏导为0,得:
(3-5)
(3-6)
展开式(3-5)和(3-6)得:
(3-7)
(3-8)
先假设d=1,将其他数据代入式(3-7)和式(3-8)中,求得待定配送中心的初始坐标。
再将得到的初始坐标代入式(3-2)中,求得d,再将求得的d和其他数据代入式(3-7)和式(3-8)中,如果
,说明配送中心选址还有改进的余地,继续迭代,反之,则停止迭代。
3.4.2多重心法概述
多重心法选址是单一重心法的延伸,企业在选取配送中心时,通常需要在一个区域内建立多个物流配送点以满足企业的需求。
多重心法跟单一重心法相比,根据需要建立的物流中心的数量,要先把所有的需求点进行分组,再将每个分组按照单一重心法求出初始的精确重心位置[16]。
针对配送中心分组的方法比较多,最简单的方法是按照距离远近,按照分组的需求,即确定需要多少个配送中心,把相互距离最近的一些需求点组成一片区域,找出各区域的重心点,但是该方法过于模糊,不能界定分组的最优。
因此需要智能划分区域算法来进行划分。
3.4.3最大最小距离聚类算法
最大最小距离算法是根据实际需求,事先确定一个距离阈值来寻找聚类中心,并根据最近邻规则把各个样本划分到各聚类中心对应的类别中。
具体步骤如下:
假设在已知N个待分类的模式样本{
...,
}中,要求分别分类到聚类中心
...
对应的类别中。
(1)首先在模式样本{
...,
}中任选一个作为第一聚类中心
。
(2)根据
的位置,选择离
距离最远的模式样本作为第二聚类中心。
(3)在已经确定的所有聚类中心中逐个计算每个模式样本与其之间的距离,并选出其中的最小距离。
(4)在所有最小距离中选出一个最大距离,如果该最大值达到||
-
||的一定分数比值以上(该比值为事先设置的阈值),则将产生最大距离的那个模式样本定义为新增聚类中心,并返回上一步。
否则,聚类中心的计算步骤结束。
(5)重复步骤3和4,直到没有新的聚类中心出现为止。
(6)在聚类中心的运算结束后,将模式样本{
;i=1,2,...,n}按最近距离划分到相应的聚类中心所代表的的类别中。
根据上述步骤使用Python进行编译,将各个门店的经纬度坐标数据录入文本内。
要计算时,设置距离阈值,导入各个门店的经纬度数据(见图14)。
图14最大最小距离聚类算法.python
导入数据后,运行得到19组聚类(见附录,表1门店分组),D企业有71个门店,22个分仓,结合实际门店的分布,1个分仓对应2-5个门店较合理,对表中单个聚类内数量小于1和数量大于5的进行调整,重新分组。
第1个聚类[[25.83,114.94]]结合GIS地图,分配到第14个聚类中。
第5、9、15、16个聚类内的门店数均大于5,继续使用最大最小距离聚类算法,得到新的聚类分组,整理后,与优化前见的分组一致(见附录,表2门店分组(最终))。
3.4.4确定分仓选址
根据最大最小距离聚类算法得出的分组,使用重心法将最终的分仓坐标求出,将数据代入后,分仓坐标(见表3)。
表3分仓选址
分仓
坐标
分仓
坐标
D1
37.49,121.785
D12
35.745,119.955
D2
29.86,121.62
D13
36.179,116.3
D3
33.37,115.8
D14
28.975,119.593
D4
36.46,117.64
D15
27.5,114.635
D5
37.38,118.655
D16
30.888,120.181
D6
29.29,117.17
D17
31.81,120.02
D7
32.76,119.69
D18
30.68,118.18
D8
26.655,118.865
D19
31.67,118.51
D9
31.298,117.44
D20
28.113,116.41
D10
32.535,117.336
D21
28.33,121.06
D11
34.555,118.79
D22
34.206,117.287
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Anylogic 供应 网络 建模 优化