E N D
管理系统仿真 赖朝安 博士
管理系统仿真 内容简介: 系统仿真(亦称系统模拟)是指通过建立和运行系统的数学模型,来模仿实际系统的运行状态及其随时间变化的规律,以实现在计算机上进行试验的全过程。这是近30年来发展起来的一门新兴技术学科。公共管理的对象通常是社会、经济、军事等复杂系统,一般都不能通过真实的实验来进行分析、研究。因此,系统模拟技术就成为十分重要甚至必不可少的工具。本实验在介绍管理系统模拟的概念以及一般原理、方法和步骤的基础上,主要介绍四种基本的模拟方法及其模型,即蒙特卡洛模拟方法、排队模型、系统动力学模拟、多AGENT系统模拟。通过蒙特卡洛模拟可以具体了解管理系统模拟的基本原理及方法,排队模型与多AGENT系统体现了离散事件系统模拟的特点与规律,而系统动力学模拟则是一种可以广泛应用于公共管理决策及政策分析的连续系统模拟方法。
教学目标 通过本课程及实验的学习,使大家了解系统模拟的概念、原理、方法和步骤,掌握蒙特卡洛模拟方法、排队系统模拟方法、系统动力学模拟方法与多AGENT系统模拟方法,以期为提高公共管理问题的决策水平服务。
重点难点 • ·系统模拟的概念 • ·蒙特卡洛模拟方法 • ·排队的概念 • ·单服务台与多服务台模型 • ·系统动力学方法 • ·因果反馈结构 • 多AGENT系统方法
关键词: 系统模拟连续系统模拟离散事件系统模拟蒙特卡洛模拟 排队论单服务台排队多服务台排队系统动力学 因果关系因果反馈回路流图信息流 物质流状态变量流率变量 多AGENT系统
参考文献 1谭跃进,陈英武等,系统工程原理。长沙:国防科技大学出版社,1999 2(加)唐纳德·沃特斯著。张志强等译.管理科学实务教程。北京:华夏出版社,2000 3黄卫伟编著.管理系统模拟的方法及应用.北京:中国人民大学出版社,1991
第一节 管理系统模拟概述 一、管理系统模拟的概念 二、系统模拟的分类 三、系统模拟的基本步骤 问题描述与定义 建立模拟模型 数据采集 模型的确认 模型的编程实现与验证 模拟试验设计 模型的模拟运行 模拟结果的输出与分析 四、管理系统模拟的应用
第二节 蒙特卡洛模拟方法 蒙特卡洛模拟是一种特殊而应用广泛的计算机模拟方法,它是充分利用计算机计算能力的随机实验方法。蒙特卡罗模拟的关键是生成优良的随机数。 对应的实验: 实验一:基于高级编程语言及MATLAB的随机数的产生 实验二:蒙特卡洛模拟
算法实现 许多程序语言中都自带生成随机数的方法,如 c 中的 random() 函数,Matlab中的rand()函数等。 但这些生成器生成的随机数效果很不一样,比如 c 中的函数生成的随机数性质就比较差,如果用 c ,最好自己再编一个程序。Matlab 中的 rand() 函数,经过了很多优化。可以产生性质很好的随 机数,可以直接利用。
第三节 连续系统仿真方法 用通用的软件开发工具,开发连续系统仿真的数字计算机仿真模型,理解连续系统仿真的数值积分算法(龙格-库塔法等) 对应的实验: 实验三:连续系统仿真
第四节 排队模型 一、排队系统基本概念 二、单服务台排队模型 三、多服务台排队模型 四、排队系统模拟 对应的实验: 实验四:离散系统仿真
第四节 系统动力学模拟 一、系统动力学方法 二、因果反馈结构 因果关系 因果反馈回路与反馈系统 反馈系统实列 系统动力学流图 三、系统动力学模拟实例 对应的实验: 实验五:系统动力学模拟
第五节 基于多Agent系统的模拟 • Agent概念和特性 • Agent模型:BDI • Agent结构 • Agent通信语言 对应的实验: 实验六:基于多Agent系统的模拟
实验五 基于系统动力学的复杂系统建模与仿真 工商管理学院 工业工程系 赖朝安 博士
系统仿真及SD方法 系统仿真概述 系统动力学结构模型化原理 基本反馈回路的DYNAMO仿真分析
3.1 系统仿真 一、概念及作用 1.基本概念 所谓系统仿真,就是根据系统分析的目的,在分析系统各要素性质及其相互关系的基础上,建立能描述系统结构或行为过程的、且具有一定逻辑关系或数量关系的仿真模型,据此进行试验或定量分析,以获得正确决策所需的各种信息。
3.1 系统仿真 2、系统仿真的实质 (1)它是一种对系统问题求数值解的计算技术。尤其当系统无法通过建立数学模型求解时,仿真技术能有效地来处理。 (2)仿真是一种人为的试验手段。它和现实系统实验的差别在于,仿真实验不是依据实际环境,而是作为实际系统映象的系统模型以及相应的“人造”环境下进行的。这是仿真的主要功能。 (3)仿真可以比较真实地描述系统的运行、演变及其发展过程。
3.1 系统仿真 3、系统仿真的作用 (1)仿真的过程也是实验的过程,而且还是系统地收集和积累信息的过程。尤其是对一些复杂的随机问题,应用仿真技术是提供所需信息的唯一令人满意的方法。 (2)对一些难以建立物理模型和数学模型的对象系统,可通过仿真模型来顺利地解决预测、分析和评价等系统问题。
3.1 系统仿真 (3)通过系统仿真,可以把一个复杂系统降阶成若干子系统以便于分析。 (4)通过系统仿真,能启发新的思想或产生新的策略,还能暴露出原系统中隐藏着的一些问题,以便及时解决。
3.1 系统仿真 二、系统仿真方法 系统仿真的基本方法是建立系统的结构模型和量化分析模型,并将其转换为适合在计算机上编程的仿真模型,然后对模型进行仿真实验。 由于连续系统和离散(事件)系统的数学模型有很大差别,所以系统仿真方法基本上分为两大类,即连续系统仿真方法和离散系统仿真方法。
3.1 系统仿真 在以上两类基本方法的基础上,还有一些用于系统(特别是社会经济和管理系统)仿真的特殊而有效的方法,如系统动力学方法、蒙特卡洛法等。 系统动力学方法通过建立系统动力学模型(流图等)、利用DYNAMO仿真语言在计算机上实现对真实系统的仿真实验,从而研究系统结构、功能和行为之间的动态关系。
3.2 系统动力学原理 1、由来与发展 Systems Dynamics, SD/ J.W. Forrester(MIT) Industridl Dynamics (ID), 1959 Principles of Systems, 1968 Urban Dynamics (UD), 1969 World Dynamics (WD), 1971 SD, 1972
3.2 系统动力学原理 2、研究对象及其结构特点 (1)研究对象——社会系统 (2)结构特点 ①抉择性——具有决策环节(人、信息) ②自律性——具有反馈环节 ③非线性——具有延迟环节 (3)SD将社会系统当作非线性(多重)信息反馈系统来研究
3.2 系统动力学原理 认识 问题 界定 系统 要素及其因果关系分析 仿真 分析 比较与评价 政策 分析 建立结构模型 建立数学模型 3、工作程序 (流图)(DYNAMOY方程)
3.2 系统动力学原理 4、系统动力学模型 • (1)常用要素 • 流 • 速率 • 水平变量 • 源与汇 • 参数
3.2 系统动力学原理 (2)流图符号 实物流 ① 流 信息流 R1 R1 ② 速率变量 L1 ③ 水准变量 。 ④ 辅助变量 A1 。 ( )
3.2 系统动力学原理 (3)流图绘制程序和方法 ① 明确问题及其构成要素; ② 绘制要素间相互作用关系的因果关系图。注意一定要形成回路; ③ 确定变量类型(L变量、R变量和A变量)。将要素转化为变量,是建模的关键一步。在此,应考虑以下几个具体原则:
3.2 系统动力学原理 a. 水准(L)变量是积累变量,可定义在任何时点;而速率(R)变量只在一个时段才有意义。 b. 决策者最为关注和需要输出的要素一般被处理成L变量。 c. 在反馈控制回路中,两个L变量或两个R变量不能直接相连 。 d. 为降低系统的阶次,应尽可能减少回路中L变量的个数。故在实际系统描述中,辅助(A)变量在数量上一般是较多的。 ④ 绘制SD流图。
库存量 R1(订货量) R1(利息1) L1 I 3.2 系统动力学原理 (库存差额) C1(利率) D Y(期望库存) (人口总量) (死亡人口) (出生人口) R1 R2 组织改善 P 组织绩 效 C1(出生率) C2(死亡率) 。 组织 缺陷 5、举例
3.3 基本反馈回路的DYNAMO仿真分析 1、基本DYNAMO方程( DYNAmic Model) 水准方程(L方程)L L1·K=L1·J+DT*(RI·JK-RO·JK) 速率方程(R方程)R R1·KL=f ( L1·K,A1·K,…) 辅助方程(A方程)A A1·K=g(L1·K,A2·K, R1·JK, …) 赋初值方程(N方程)N L1=数值 或 L1=L10 L10=数值 常量方程 (C方程)C C1=数值
3.3 基本反馈回路的DYNAMO仿真分析 P PR ┆ 0 100 2 1 102 2.04 2 104.04 2.0808 ┆ ┆ PR P 人 口 数 年人口 增 加 (+) P PR + C1(人口年自然增长率0.02) p 100 0 一阶正反馈(简单 人口问题)系统输 出特性曲线 2、一阶正反馈回路 。 。 L P•K=P•J+DT*PR•JK N P=100 R PR•KL=C1*R•K C C1=0.02
I D R1 0 1000 5000 1000 1 2000 4000 800 2 2800 3200 640 ┆ ┆ ┆ ┆ I 1000 R1 I + 库存量 — I 订货量 (—) 库存 差额 1000 Z (订货调整时间,5) D 0 + R1 t D Y(6000) 一阶负反馈(简单 库存控制)系统输 出特性曲线 期望库存Y 3、一级负反馈回路 。 。 。 。 L I•K=I•J+DT*R1•JK N I=1000 R R1•KL=DK/Z A D•K=Y-I•K C Z=5 C Y=6000
1000 10000 I 库存量 R1 R2 — I G R2 入库量 库存 差额 + (—) — (—) W(10) 途中存货量 Z(5) + G + 订货量 D R1 Y(6000) 4、简单库存控制系统的扩展 。 。 。 。 。 。
6000 I 1000 t 二阶负反馈系统输出特性曲线 L G•K=G•J+DT*(R1•KL-R2•JK) L I•K=I•J+DT•R2•JK R R1•KL=D/Z A D=Y-I•K C Y=6000 C W=10,Z=5 C I=1000 C G=10000
Step Ramp Pulse Sin Noise 。 测试 函数 正常销售 (发货)率 订货率 库存量 交 (到)货 率 销售(发货)率 T3 T2 MAX 库存 差额 SMOOTH 期望 库存 平均销售(发货)率 。 。 DELAY 。 。 。 。 。 。 。 。 。