1.4 运筹学的工作步骤
应用运筹学解决实际问题的工作步骤一般包括:确定问题,搜集数据和建立模型,检验模型,模型求解,求解结果分析,求解结果实施,具体如图1-1所示。各个步骤有时是难以严格区分的,在某种程度上,它们相互影响,在实施过程中也应反复进行。例如,建立模型(简称建模)这一步就常常受到现有求解方法的影响,而对求解结果进行分析有时会导致重新建模或确定问题。这些都是在实际工作中经常出现的事情。
(1)确定问题。
为了解决一个实际问题,必须清楚地了解并确定该问题,这是决策制定中的首要步骤。具体要分析问题的性质和环境,确定目标,弄清有关因素及其变化范围和相互关系,并将可控制因素与不可控制因素分开。问题提出后,还要分析解决该问题的可能性和可行性。
(2)搜集数据和建立模型。
搜集数据和建立模型是紧密联系的。我们根据拟采用的模型搜集和整理有关数据,必须强调所使用数据的精确性。因为即使所用模型能正确表述实际现象,不正确的数据也必将导致错误的结果。对于大型问题,搜集精确的数据往往是一件费时、费力的艰巨工作。实际上,有时由于难以得到足够的所需数据而必须改变拟采用模型的结构或类型。而一个只要求少量数据但适用的近似模型,往往比一个虽然更为精确但对数据要求太高的模型更受到人们的欢迎。诺贝尔经济学奖获得者及决策理论专家西蒙曾说,数学建模并不要求完美,只需要通过它能得到比直觉更好的结果就行了。
图1-1
建立模型是运筹学的关键工作步骤。运筹学模型一般是数学模型或仿真模型,以数学模型为主。实际问题通常比较复杂,而模型只是根据一些理论和假设条件对现实世界的简化表述。因此,建立的模型往往要经过多次修改才能在允许的限度内符合实际情况。典型的运筹学模型具有(1.1)和(1.2)的形式,即包含一组要通过求解模型确定的决策变量和各种已知参数(随机模型还包含随机变量),单个或多个反映决策目标的目标函数,一组反映各变量与参数之间复杂关系的约束条件。
(3)检验模型。
模型建立以后,必须通过试验来检验其合理性和正确性。一般可通过解特殊的、众所周知的例子或通过使用历史数据对模型进行运算,并把运算结果与实际情况对照来检验模型。若发现有较大的差异,则有必要返回前面的工作步骤。
(4)模型求解。
求解模型的途径完全取决于模型的性质和数学复杂性。
对于一些较简单的模型,有时可用经典的数学分析方法求得其解,但这种情况实际上是很少的。求解由(1.1)和(1.2)表示的那一类模型,更经常用到的是一种迭代法。所谓迭代法,就是用某种方法找出一个初始解,然后检验它是否为最优解;若不是最优解,它将会提供某种信息,说明如何可以求得一个比当前解有所改进(或至少一样好)的新解。重复进行这一过程,直到确认问题无最优解或求得一个最优解为止(对于一些复杂的问题,有时只可能求得近似最优解、次优解、满意解或满足最优解必要条件的解)。运筹学中大多数有名的算法都是迭代法,在后面各章我们将会作更详细的介绍。当然,在实际应用中,必须借助计算机进行求解,而解的精度要求可由决策者提出。
除了迭代法,运筹学中另一种常用的解法被称为模拟法或仿真法。它主要用来求解复杂、带有随机因素的模型,这里不多作介绍。
模型求解过程中的一个重要方面是,研究输入数据或模型发生变化时对解的影响,被称为灵敏度分析或优化后分析。灵敏度分析用于确定解的稳定性、所需输入数据的精确度以及引进或删除某些变量的可行性等。
(5)求解结果分析。
由于模型只能包含实际问题的主要方面,有许多因素如政策因素、社会因素等都不能包含进去,因而要对求解结果进行全面评价,分析求解结果是否符合现实问题。
(6)求解结果实施。
运筹学工作的最后一步是将求解结果付诸实施。这是反映工作成果最重要的一步,也可能是最困难的一步。运筹学工作者必须将求解结果表示为管理决策人员能理解和执行的形式。这些人员必须了解所使用模型的许多方面,包括它的优点和缺点、它所依据的假设条件,以及在执行中它应具备的保证条件。特别要指出的是,将求解结果所提出的新的或经过改变的管理方法用于现实系统的时候,往往需要一段足够长的时间,才能对求解结果实施的效果作出正确的评价。