基于Vensim PLE啤酒游戏仿真实验报告

更新时间:2024-04-05 15:50:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

基于Vensim PLE啤酒游戏仿真实验报告

专业班级:工业工程一班 姓 名: 石洋洋 学 号:20100770223

2 基于Vensim PLE啤酒游戏仿真

1. 实验报告

2. 提交啤酒游戏的因果关系及仿真结果

基于Vensim PLE啤酒游戏仿真实验报告

一、实验目的与要求

1.1实验目的

(1)初步掌握VENSIM软件的仿真模拟过程,认识并了解VENSIM软件

VENSIM是一个建模工具,可以建立动态系统的概念化的,文档化的仿真、分析和优化模型。PLE(个人学习版)是VENSIM的缩减版,主要用来简单化学习动态系统,提供了一种简单富有弹性的方法从常规的循环或储存过程和流程图建立模型。本实验就是运用VENSIM进行系统动力学仿真,进一步加深对系统动力学仿真的理解。

(2)以上机题目所给的啤酒游戏为案例实际操作VENSIM软件进行模拟仿真

运用系统动力学的原理和VENSIM软件构建了啤酒游戏的供应链模型,以及各相关因素之间的因果反馈关系模型。模拟仿真一个供应链流程的运行。从而将系统动力学的知识与软件实际操作融会贯通,更加了解该软件的应用。

(3)通过模拟仿真的结果来分析牛鞭效应

牛鞭效应,就是指当供应链上的各级供应商只根据来自其相邻的下级销售商的需求信息进行供应决策时,需求信息的不真实性会沿着供应链逆流而上,产生逐级放大的现象。

通过增加供应链模型节点个数并对其仿真结果进行分析,证明随着供应链长度的增加,牛鞭效应也愈加明显;对VMI库存管理模式与传统库存管理模式的系统结构及运营绩效进行了比较,说明供应链成员间的信息共享可以有效地弱化牛鞭效应。 1.2实验要求

啤酒游戏中包含零售商、批发商、供应商三个成员。同时对游戏中的参数进行如下假设:消费者对啤酒的前4周的需求率为300箱/周,在5周时开始随机波动,波动幅度为±200,均值为0,波动次数为100次,随机因子为4个。假设各节点初始库存和期望库存为1000箱,期望库存持续时间为3周,库存调整时间为4周,预测平滑时间为5周,生产延迟时间和运输延迟时间均为3周,且为3阶延迟;不存在订单延迟。仿真时间为0~100周,仿真步长为1周。期望库存等于期望库存持续时间和各节点的销售预测之积。

?策略1:不补充以往缺货需求Qj?IejIj?Nj

TaI策略2:考虑以往缺货需求Q?jej?IfjaT?Nk

根据啤酒游戏基于VENSIM软件的上级题目要求,分析确立所需建

立的模型关系,并在VENSIM中建立相应的系统动力学因果关系图,系统动力学流图和DYNAMO方程,进行仿真模拟。

二、实验过程

(1)系统分析:

系统动力学分析的系统行为是基于系统内部要素相互作用而产生的,并假定系统外部环境的变化不给系统行为产生本质的影响,也不受系统内部因素的控制。 (2)系统因果关系分析:

系统动力学的研究重点在于自反馈机制的系统动力学问题。为了研究系统的反馈结构,首先要分析系统整体与局部的关系,进而追索因果与相互关系,然后把它们重新联结一起形成回路。回路的概念最简单的表示方法是图形。系统动力学中常用的是因果关系图。 (3)系统动力学模型的建立:

为了进一步明确表示系统各元素之间的数量关系,并建立相应的动力学模型,系统动力学方法通过广义的决策反馈机构来描述上述机制。系统动力学通过引入水平变量(Level)、速率变量(Rate)、信息流等因素,构造成更加深入的系统行为关系图(流图),更完整、具体地描述系统构成、系统行为和系统元素相互作用机制的全貌。即是系统流图模型的建立。

(4)系统动力学方程的建立:

将各因素之间的函数关系用DYNAMO方程式的语言来建立和表达。 (5)软件进行系统模拟仿真运行:

模型建立完成,进入编译运行的阶段,对已建立好的模型进行仿真运行。

(6)输出仿真结果:

模型仿真运行结束,输出运行的结果图。 (7)进行结果分析:

根据输出的结果图对该供应链进行分析,观察牛鞭效应。

三、实验心得

(1)只有先掌握了一些基本因果图、流图及其基本方程式的建立,才能为该啤酒游戏的分析打好基础,以便于后续仿真模型的因果关系分析和模型的建立。

(2)只有了解了啤酒游戏的游戏规则,理解了模拟仿真建立的模型各因素间的关系才能正确的建立方程式,使得模型能够正确运行。

(3)了解牛鞭效应的含义,才能更好的分析仿真运行的结果图。

四、附上啤酒游戏的因果关系图,以及两种策略下的仿真结果

4.1“啤酒游戏”因果图的建立

系统动力学了解系统动态特性的主要方法是回路分析法(即因果关系和反馈思想)。反馈回路中的因果关系都是相互的,从整体上讲,我们无法判定任意两种因素谁是因,谁是果。社会和个人的决策过程也是这样。导致行为的决策是企图改变系统的状态;改变了的状态又产生进一步的决策及变化,这即形成了因果反馈回路。因此,互为因果就成了反馈回路的基本特征。当然,为了分析各种因素对市场需求的影响,还

需要引入一些辅助的中间变量,以反映各种因素之间的相互关系和作用过程。

啤酒游戏的各因素之间的因果关系图如图所示:

因果关系图零售商的期望库存+客户的订货量零售商的库存差-+零售商的销售量-+-零售商的订货周期-零售商的订货量+批发商的发货量-批发商的库存量--+批发商的库存差批发商的期望库存零售商的库存量+制造商的生产周期-+制造商的生产量批发商的+订货量-制造商的库存量制造商的+出库量-批发商的订货周期-制造商的-库存差+制造商的期望库存

4.2系统动力学建模----流图

系统动力学通过引入水平变量(Level)、速率变量(Rate)、信息流等因素,构造成更加深入的系统行为关系图(流图),更完整、具体地描述系统构成、系统行为和系统元素相互作用机制的全貌。 系统动力学流图是系统动力学的基本变量和表示符号的有机组合。根据啤酒游戏供应链系统内部各因素之间的关系设计系统流图,其目的主要在于反映系统各因果关系中所没能反映出来的不同变量的特性和

特点,使系统内部的作用机制更加清晰明了,然后通过流图中关系的进一步量化,实现啤酒供应的政策仿真目的。如图;

生产延迟运输延迟生产商库存生产商生产率生产商发货率批发商库存批发商发货率零售商库存市场需求率生产商生产需求生产商销售预测批发商订单批发商销售预测零售商订单零售商销售预测

策略二的参数方程设置:

(01) FINAL TIME = 100 Units: week The final time for the simulation. (02) INITIAL TIME = 0 Units: week The initial time for the simulation.

(03) SAVEPER =TIME STEP Units: week [0,?] The frequency with which output is stored. (04) TIME STEP = 1 Units: week [0,?] The time step for the simulation.

(05) 市场需求率=300+if then else(Time>4,randomnormal(-200,200,0,100,4),0) Units: **undefined**

(06) 库存调整时间=4 Units: **undefined**

(07) 批发商发货率=delay3(零售商订单,运输延迟) Units: **undefined**

(08) 批发商库存= INTEG (生产商发货率-批发商发货率,1000) Units: **undefined**

(09) 批发商期望库存=批发商销售预测*期望库存覆盖时间 Units: **undefined**

(10) 批发商订单=max(0,批发商销售预测+(批发商期望库存-批发商库存)/库存调整时间)

Units: **undefined**

(11) 批发商销售预测=smooth(批发商发货率,移动平均时间) Units: **undefined** (12) 期望库存覆盖时间=3 Units: **undefined**

(13) 生产商发货率=delay3(批发商订单,运输延迟) Units: **undefined**

(14) 生产商库存= INTEG (生产商生产率-生产商发货率,1000) Units: **undefined**

(15) 生产商期望库存=期望库存覆盖时间*生产商销售预测 Units: **undefined**

(16) 生产商生产率=delay3(生产商生产需求,生产延迟) Units: **undefined**

(17) 生产商生产需求=max(0,生产商销售预测+(生产商期望库存-生产商库存)/库存调整时间)

Units: **undefined**

(18) 生产商销售预测=smooth(生产商发货率,移动平均时间) Units: **undefined** (19) 生产延迟=3 Units: **undefined** (20) 移动平均时间=5 Units: **undefined** (21) 运输延迟=3 Units: **undefined**

(22) 零售商库存= INTEG (批发商发货率-市场需求率,1000) Units: **undefined**

(23) 零售商期望库存=期望库存覆盖时间*零售商销售预测 Units: **undefined**

(24) 零售商订单=max(0,零售商销售预测+(零售商期望库存-零售商库存)/库存调整时间)

Units: **undefined**

(25) 零售商销售预测=smooth(市场需求率,移动平均时间) Units: **undefined** 策略一的参数方程设置:

只需将策略二的以下几个参数方程改变即可:

(1)批发商订单=max(0,批发商销售预测+(批发商期望库存-if then else(批发商库存>0,批发商库存,0))/库存调整时间) Units: **undefined**

(2)生产商生产需求=max(0,生产商销售预测+(生产商期望库存-if then else(生产商库存>0,生产商库存,0))/库存调整时间) Units: **undefined**

(3)零售商订单=max(0,零售商销售预测+(零售商期望库存-if then else(零售商库存>0,零售商库存,0))/库存调整时间) Units: **undefined**

4.4结果图输出

市场需求率60045030015000102030405060Time (周)708090100市场需求率 : Current\\

策略一的结果图:

4,0002,8001,600400-8000102030405060Time (周)708090100批发商库存 : Current生产商库存 : Current零售商库存 : Current

1,00075050025000102030405060Time (周)708090100批发商订单 : Current生产商生产需求 : Current零售商订单 : Current

本文来源:https://www.bwwdw.com/article/wgxr.html

Top