1.2 解题与解决问题
从小学、初中到高中的数学习题和考试中,都少不了各种形式的应用题,学习管理系统模拟一般会先学习统计学和运筹学。从某种角度看,统计学、运筹学和管理系统模拟好像是一些有一定固定解法或者套路的应用题,而事实上它们与应用题有本质上的区别。
1.2.1 自己出题自己解答
在小学、初中、高中求解应用题前,出题者给定了解题所需的信息,这些信息不需要解题者去收集。而在实际管理问题时,研究的开始点和归结点都是解决问题,是依据实际情况,围绕目标,通过自己出题自己解答的方式求得达到目标的方案。在这个过程中,“出题”是第一步,“解题”是第二步;第一步出问题,第二步就没有意义。好的开始是整个任务成功的开始。实践证明,这个阶段工作的好坏,对于系统模拟的质量和效率是至关重要的。
问题可以被概括为实际情况与目标的“差距”,“出题”的过程可以看成弄清楚“差距”。虽然本书中涉及模拟模型建立、求解和分析,但是如何把握好这种“差距”,往往带有一定的艺术性,是一件有挑战性的工作,只有在具体实践才能去体会。一些原则性的建议对于把握这种差距有帮助。
(1)目标尽量单一化与量化。明确目标不是一件容易的事,要进行调查与反复调查。在多目标的情况下,轻重缓急要理顺。
(2)以目标为导向,围绕目标顺藤摸瓜,挖掘现实条件和不足,明确所研究对象的系统的边界、组成部分和环境。谨慎调整降低目标,不满足的条件往往是努力的目标。
(3)问题和条件可能都是动态发展的,要允许它们有一定变化的空间。
在应用科学的方法研究管理系统规律或者解决实际管理问题时,一个共同的特点就是要正确建立和使用模型,比如统计学中的统计断言、运筹学中的线性规划模型、管理系统模拟中的系统动力学模型。科学的研究方法离不开模型,模型架起了实际问题和抽象系统之间的桥梁,如图1.2所示。
图1.2 模型的桥梁作用
1.2.2 研究方法的选择
在图1.2中,从“实际问题”到“模型假设”之间有许多选择,模型假设取决于问题性质。问题性质决定了应该采取的研究方法,模拟方法仅仅是其中一种。研究方法确定后,才能开始进行模型假设。所以,正确的建立和使用模型的第一步是要确定研究方法。
以管理学、经济学或者系统过程等专业为例,大学中接触到的研究方法主要是统计学的方法(比如统计学、数据挖掘)、解析数学(数学模型、运筹学)方法和模拟的方法。这三种研究方法的基本逻辑框架如图1.3所示。
图1.3 三种研究方法的基本逻辑框架
三种研究方法的基本逻辑框架类似,如图1.3所示。面对研究对象,在选择研究方法后,一方面基于相似性原理抽象为对应的模型;另一方面采集历史数据。建模是对研究对象的抽象过程,抽象的过程各有不同,在模型的基础上通过对应的研究方法提供的研究途径,得到研究的目标,最后与历史数据进行相似性比较。
统计方法通过对研究对象某方面的特性和行为进行抽象,建立统计学模型。这一模型可以是一组方程,其中含有一些参数,利用有关统计软件包,对这些方程对参数进行估计。在建立模型的同时,研究人员还要收集一些数据,用于参数估计。有了参数的估计值,我们就可以利用所建模型对系统进行预测。最后还要对模型及其预测结果进行分析,一方面要检查预测结果与实际观察数据的符合程度,这一般用统计假设检验方法来做出判断;另一方面要检查参数的灵敏度。
模拟方法的基本逻辑框架与统计方法不同的是,建立的模型在数学上看是推演模型,在实现角度看是一个计算机程序,而不是统计方程。模拟方法必须通过模拟实验得到模拟数据。将这些模拟数据与收集到的数据进行比较,进而检查这一模型是否产生了与实际研究对象相似的输出,以确定模拟模型的有效性。
模拟方法与统计学方法有重要联系:统计学是系统模拟的重要理论基础;模拟模型所需的参数值、模拟结果的统计分析等都依赖于统计方法。在建立模拟模型的过程中,需要得到系统内部结构,这依赖于统计学方法,通过相似性的检验也依赖于统计学方法。
在预测应用方面的区别
统计方法往往用于预测与相关性分析、敏感性分析等方面,(管理)系统模拟可以用于预测、设计、评价、培训等。统计方法只适用于短期预测,对于中期或中长期预测没有任何意义,而模拟方法(系统动力学)可以用于中期和中短期预测。
解析数学方法的基本逻辑框架的特殊之处是要建立一个可推理的模型,对模型进行等价代换(推理)得到事物发展规律。在其抽象过程中,是对事物规律的描述,需要统计学的初步研究,在找到事物规律后,进一步与历史数据对比也需要统计分析。
解析数学方法的难点在于抽象过程和推理过程,模拟方法的抽象过程和推理过程都相对简单。
解析数学方法遇到推理过程的问题,有时也采用数值模拟方法来得到一些数据来说明和解决问题。如果解析数学模型中没有时间变量或者时间变量不是一个主要因素,那么这种模拟方法与本书中讲述的问题有明显区别。本书中讲述的问题是动态复杂系统的模拟分析。
按问题性质分,以上三种方法的应用领域不同。如图1.4所示,对于白色系统,内部结构清晰,可以通过解析数学来挖掘潜在信息,进行预测和优化等。对于黑色系统,统计学可以初步进行研究。大部分系统是灰色系统,这类问题中的简单问题,比如线性问题,可以采用解析数学方法。管理系统面临的许多实际问题是复杂系统问题,具有多重复杂性,管理系统模拟方法在解决这些实际问题的过程中有不可替代的作用。解析数学方法在揭示管理问题的基本规律方面有不可替代的作用。
图1.4 三种方法的不同应用领域
管理问题的基本规律同管理实际问题的关系,正如厨师与化学家的关系,管理系统面临的许多实际问题如厨师做菜,解决的是应用问题,管理问题的基本规律如化学家面临的科学问题。
管理系统模拟包含了多种常用的理论、方法、工具,管理系统模拟理论与方法的发展如图1.5所示。在选择模拟方法的同时,要具体到采用什么理论和方法,才能进一步开展建模。
图1.5 管理系统模拟理论与方法的发展
1.2.3 正确地建立和使用模型
选择好研究方法为正确地建立和使用模型打好了基础。通过一定的抽象方法,得到模型后,不论是通过什么求解途径,都是以建立的模型为基础的,所以模型是否正确决定了后面的工作。
对于管理系统模拟方法,如何正确地建立和使用模型?首先要解决好具体模拟方法的选择问题。在主教材的不同章节中对这个问题已经有具体回答,这里简要概括一下。
离散型系统模拟针对排队系统,主要用于解决复杂的流程系统问题;系统动力学针对反馈系统,主要用于解决复杂的反馈系统问题;多智能体和元胞自动机针对复杂交互系统,主要用于解决复杂交互过程中如何导致复杂宏观效应问题。
对同一个问题可以采用不同的模拟方法进行研究,其假设前提和视角是不同的。比如系统动力学和多智能体模拟的研究领域有部分重合,多智能体模拟是从微观的视角出发的,而系统动力学是从宏观的视角出发的。在一个问题中也可能同时应用多种模拟方法——混合模拟方法,如本书的第6章。
管理系统模拟依赖于计算机软件,在考虑采用上面模拟方法时,还要考虑采用什么模拟软件。现在,国外管理系统模拟相关软件可谓“百花争艳,多如牛毛”,初步统计不少于200种。
选择模拟软件要针对所研究需要,明确所需模拟软件类型,选用较通用的模拟语言还是针对专门的特殊模拟语言和软件,选用模拟软件还是通用计算机程序设计语言,还是同时使用。
因为模拟模型是模型假设的形式化表达,所以在建立模拟模型过程中,合理假设是基础,也是关键。因为模拟模型直接决定了模拟结果,所以合理假设间接决定了模拟结果。假设做得不合理或太简单,会导致错误的或无用的模型;假设过分详细,考虑复杂对象的众多因素,会使研究成本大大增加。过于简化,无助于反映实际系统和模拟任务的完成;过于详细,又会使模型显得烦琐,淹没了影响系统状态变化的主要因素,并且浪费人力和财力。
所以,“简”与“繁”要互补:由简入繁,繁简适宜,即开始先建立考虑主要因素的简单模型,而后再逐步加以补充和完善。
注意,在建模过程中往往不能“化繁为简”,并不是所有的问题都可以“化繁为简”,特别对于复杂的管理系统。
合理的假设,一是出于对问题内在规律的认识,二是来自对现象、数据的分析,以及二者的综合。
建模能力的培养
建模过程是典型的创造性思维过程,带有一定的艺术性,想象力、洞察力、判断力以及建模经验,在模型假设中起着重要作用。“见多识广”在建模过程中有重要作用。许多系统有内在相似性,比如产品扩散与生物学扩散、区域发展模型与全球发展模型等,尚待研究问题与已经研究过的问题是包含与被包含的关系等。在“见多识广”的基础上,“举一反三”是快速高效建模的主要途径。许多模拟软件都附带了很多模拟案例,学习这些案例对于提高建模能力非常有帮助。
建立模型的过程要与收集和整理数据资料同步进行。在“繁简适宜”的把握中,以收集和整理得到的数据为依据,模型的建立也为收集和整理数据资料指明方向。
收集和整理数据往往需要良好的信息管理基础工作。信息管理基础工作不足是我国当前模拟方法没有得到推广的主要制约之一。
对于某些模拟模型,特别是用于预测的模型,对历史数据的依赖性强,要防止垃圾进、垃圾出(Garbage in,garbage out)。对于另外一些初步研究类的模拟模型,对数据的要求略低。