运筹学:文采尔

近年来,运筹学获得了越来越广阔的应用领域。这门科学属于相对年轻、新近形成的学科;它的边界与内容还不能算界定清晰。

名为“运筹学”的课程被列入许多高等院校的教学计划,但这一术语所承载的内容远非总是相同。有些作者所理解的“运筹学”,主要是线性规划、非线性规划、动态规划之类的数学优化方法。另一些人则相反,不把数学的这些分支列入运筹学,而主要从对策论与统计决策的立场来看待运筹学。有些人干脆倾向于否认“运筹学”作为一门独立科学学科的存在,把它归入控制论(这个术语同样界定得不够明确,不同的人有不同的理解)。还有一些人则相反,赋予“运筹学”这一概念过于宽泛的含义,几乎把这门学科宣布为“科学的科学”。

这门相对年轻的科学将以何种形式继续发展,通常列入其中的哪些分支会保留下来、哪些会“分蘖”成独立的科学学科,时间会给出答案。特别是,“运筹学”与近来被大量谈论和撰写的“系统论”(或“复杂系统论”)之间未来的关系,也还不完全清楚。无论如何,毫无疑问的是:在极不相同的实践领域——生产与供应组织、运输运营、作战行动与武器装备、人员配置、生活服务、卫生保健、通信、计算技术等等——越来越频繁地出现一些课题,它们在提法上彼此相似,具有若干共同特征,并且用相似的方法求解,把它们统称为“运筹学课题”是方便的。

典型的情形是这样:组织某项有目的的举措(行动体系),它可以用这种或那种方式来组织,也就是说,可以从一系列可能方案中选取某个“决策”。每个方案都有某些长处和某些短处,而且由于情势复杂,并不能一下子看清哪一个比其他的更好(更可取)以及为什么。为了弄清情势并按若干特征相互比较各种决策方案,就要组织一系列数学计算。它们的课题在于:帮助那些对决策选取负责的人对情势作批判性分析,并最终选定某一个方案。

在我们这个被恰当地称为科技革命时代的年代,科学对组织与管理问题给予越来越多的关注。原因很多。技术的迅速发展与复杂化,所实施举措规模及其可能后果范围空前扩大,自动化管理系统被引入实践的各个领域——所有这些都使人必须从结构与组织的角度分析复杂的有目的过程。人们要求科学就此类过程的最优(合理)管理给出建议。组织者靠“摸索”、用“尝试与失误”的方法找到正确有效管理的时代已经过去。今天,拟定这样的管理需要科学的途径——与失误相关的损失实在太大了。

实践的需要催生了一些专门的科学方法,把它们统称为“运筹学”是方便的。我们用这一术语来理解:在人类有目的活动的一切领域中,运用数学的定量方法来论证决策。

让我们说明“决策”指的是什么。假设采取某项旨在达成一定目标的举措。组织这项举措的人(或一群人)总有某种选择的自由:他可以用这种或那种方式来组织它,例如选取将要采用的技术样品,以这种或那种方式分配现有资源等等。“决策”正是组织者从一系列可能性中所作的某种选取。决策有坏有好,有深思熟虑的也有草率的,有有据可依的也有随意的。

当为论证决策而运用某种数学工具时,运筹学就开始了。在相当长的时间里,实践各领域中的决策都是在没有专门数学计算的情况下、仅仅依据经验和常识作出的。然而也有责任重得多的决策。例如,假设要在一座有企业网络、居民区等等的新城市里组织公共交通。必须作出一系列决策:走哪些线路、派哪些交通工具?在哪些地点设站?如何根据一天中的时间改变车辆的发车频率?等等。

这些决策要复杂得多,而主要的是,很多事情都取决于它们。选择不当会影响整座城市的商务生活。当然,在这种情况下选取决策也可以凭直觉、依靠经验与常识行事(实际上也常常如此)。但如果决策有数学计算作支撑,就会合理得多。这些预先的计算有助于避免为“摸索”出所需决策而进行漫长而昂贵的寻找。

所规划的举措越复杂、越昂贵、规模越大,其中“凭意志”的决策就越不容许,而那些能够预先评估每项决策后果、预先剔除不可接受方案并推荐最佳方案的科学方法就越重要;这些方法还能确定:我们所掌握的信息是否足以正确选取决策,如果不够——还需要额外获取哪些信息。在这类情况下,依靠自己的直觉、依靠“经验与常识”太危险了。在我们这个科技革命的时代,技术与工艺变化如此之快,以至于“经验”根本来不及积累。何况谈的往往是首次进行的、独一无二的举措。这时“经验”是沉默的,而“常识”如果不以计算为依托,很容易骗人。运筹学所从事的,正是这种便利人们作出决策的计算。

所谓作业,是指由统一意图联结起来、指向达成某一目标的任何举措(行动体系)。作业永远是可控的举措,也就是说,用何种方式选取刻画其组织的某些参数,取决于我们。这里的“组织”是在广义上理解的,其中包括作业中所采用的一整套技术手段。

对取决于我们的参数所作的任何确定的选取,称为决策。决策可以是成功的或不成功的、合理的或不合理的。所谓最优决策,是指按某些特征比其他决策更可取的决策。运筹学的目标,就是对最优决策作预先的定量论证。

有时(相对少见)研究能够指出唯一一个严格最优的决策,而更常见的是划分出一个实际上等价的最优(合理)决策的区域,在这一区域内可以作出最终选择。

要注意,作出决策本身超出了运筹学的范围,属于负责人的职权,更常见的是属于一群人的职权——他们被赋予最终选择的权利,并为这一选择承担责任。在作出选择时,他们除了数学计算所引出的建议之外,还可以计入一系列该计算未曾计入的考虑(定量的和定性的)。

即便存在完全自动化的管理系统——看上去它无需人的参与就能作出决策——人(作为作出决策的最终环节)的必然在场也不会被取消。不能忘记:创建控制算法本身、从它的若干可能变体中选取一个,同样是决策,而且是责任重大的决策。

那些其总和构成决策的参数,称为决策要素。作为决策要素出现的可以是各种数、向量、函数、物理特征等等。在最简单的运筹学课题中,决策要素的数量可能相对不多。但在大多数具有实践意义的课题中,决策要素的数量非常大。

除了我们在一定范围内可以支配的决策要素之外,任何运筹学课题中还有既定的、“约束性”的条件,它们从一开始就被固定下来、不可违反(例如车辆的载重量、计划任务的大小、设备的重量特性等等)。特别是,属于这类条件的还有我们有权支配的手段(物质的、技术的、人力的)以及加于决策之上的其他限制。它们的总和形成所谓的“可能决策集合”。

为了按成效相互比较不同的决策,需要有某种定量准则,即所谓的有效性指标(常称为“目标函数”)。这一指标的选取应当使它反映作业的目标指向。“最好的”决策被认为是那个在最大程度上有助于达成既定目标的决策。为了选取、“指名”有效性指标 W,首先应当问问自己:我们采取这项作业,想要什么、追求什么?在选取决策时,我们自然会偏好那个使有效性指标 W 取最大值(或最小值)的决策。例如,作业的收益希望取最大值;而如果有效性指标是费用,则希望它取最小值。

作业的执行常常伴随着随机因素的作用。在这类情况下,通常不是把希望最大化(最小化)的那个量本身、而是把它的平均值(数学期望)作为有效性指标。

在某些情况下,伴随随机因素的作业追求的是某个十分确定的目标,这个目标只能完全达成或者完全不达成(“是—否”式),任何中间结果都不使我们感兴趣。这时就选取达成该目标的概率作为有效性指标。例如,如果对某个目标进行射击,条件是必须将其摧毁,那么有效性指标就是摧毁该目标的概率。

有效性指标选取不当非常危险。在选取不当的准则视角下组织起来的作业,可能带来不合理的耗费与损失。遗憾的是,在大多数具有实践意义的课题中,有效性指标的选取并不简单,而且解法不唯一。对于任何略微复杂的课题,典型的情形是:作业的成效无法用唯一一个数来穷尽地加以刻画——不得不再引入其他的数来帮忙。

要在任何领域运用定量研究方法,总需要某种数学模型。在建立模型时,实际现象(在我们这里是作业)不可避免地被简化、图式化,而这一图式(现象的“模型”)则借助某种数学工具加以描述。数学模型选得越成功、越能反映现象的特征,研究就越成功,由此引出的建议也就越有用。

并不存在建立数学模型的通用办法。在每一具体情况下,模型都要依据作业的类型、它的目标指向、并计入研究课题(需要确定哪些参数、反映哪些因素的影响)来选取。在每一具体情况下还必须使模型的精度与详尽程度相称于:甲)我们需要知道解的精度;乙)我们已有或可以获取的信息。如果计算所需的原始数据知道得并不精确,那么显然就没有必要深入细节、建立非常详尽的模型,并把时间(自己的和机器的)花在对决策作精细而精确的最优化上。遗憾的是,这一原则常常被忽视,人们选取过于详尽的模型来描述现象。

数学模型应当反映现象最重要的特征、以及作业成败主要取决于的一切本质因素。与此同时,模型应当尽可能简单,不被大量细小的、次要的因素所“堵塞”:计入它们会使数学分析复杂化,并使研究结果难以纵览。建模者始终面临两种危险:一是陷在细节里(“见树不见林”),二是把现象过分粗化(“把孩子连同洗澡水一起泼掉”)。建立数学模型的技艺正是一门技艺,其中的经验是逐渐获得的。

既然数学模型并不能由课题的描述必然地引出,那么始终有益的做法是:不盲信任何一个模型,而是对照按不同模型所得的结果,仿佛安排一场“模型之争”。这时同一个课题不是解一次,而是解若干次,采用不同的假定体系、不同的工具、不同的模型。如果科学结论从一个模型到另一个模型变化不大,这就是支持研究客观性的有力论据。如果它们出入很大,就需要重新审视各模型所依据的概念,看看哪一个更接近现实,必要时——安排对照实验。运筹学的另一个特点是:在第一轮计算已经完成之后,还要再次回到模型,对模型作出修正。

建立数学模型是研究中最重要、责任最重的部分,它要求深入了解的与其说是数学,不如说是所建模现象的实质。通常,“纯”数学家(若没有课题所属领域专家的帮助)不擅长建立模型。他们注意的中心是带有种种精微之处的数学工具,而不是现实的实践课题。

经验表明,最成功的模型是由该实践领域的专家创建的——他们在本专业之外还受过深入的数学训练;或者是由把实践专家与数学家结合起来的集体创建的。熟悉运筹学的数学家为工程师、生物学家、医生等在工作中遇到科学论证决策之必要的实践者提供咨询,会带来很大的益处。

特别要强调概率论知识的必要性——与其说要求广博深奥,不如说要求非形式化、切实管用,要求养成运用统计数据与概率观念的习惯。对数学知识这一领域提出特殊要求,是因为大多数作业都是在不完全确定的条件下进行的,其进程与结局取决于随机因素。遗憾的是,在工程师、生物学家、医生、化学家等广大专业人员中,很好地掌握概率论的情况并不多见。它的原理与规则常常被形式地运用,而没有真正理解其含义与精神。人们往往把概率论看作某种“魔杖”,以为它能从“无”中、从完全的无知中获得信息。这是误解:概率论只能对信息作变换,即由关于某些可观察现象的信息,对另一些不可观察的现象作出推论。

在建立数学模型时,可以(依作业的类型、研究的课题与原始数据的精度而定)采用复杂程度不同的数学工具。在最简单的情况下,现象用简单的代数方程来描述。在较复杂的情况下,当需要在动态中考察现象时,就采用微分方程(常微分方程或偏微分方程)工具。在最复杂的情况下,当作业的发展与结局取决于大量彼此复杂交错的随机因素时,解析方法根本无能为力,于是采用统计建模方法(蒙特卡罗方法)。

粗略地说,这一方法的思想可以描述如下:作业发展的过程连同伴随它的一切随机性,仿佛被“复制”下来,在机器上重现。结果得到作业发展这一随机过程的一个样本(“实现”),它有着随机的进程与随机的结局。单单这样一次实现本身并不能作为选取决策的依据,但在得到大量这样的实现之后,我们就把它当作通常的统计材料来处理(“统计建模”这一术语即由此而来),求出过程的平均特征,并了解到课题条件与决策要素平均而言如何影响这些特征。

运筹学中解析模型与统计模型都被广泛采用。这两种类型各有长短。解析模型较为粗糙,计入的因素较少,总是需要某些假定与简化。但按它们所作计算的结果更易纵览,更清晰地反映现象所固有的基本规律性。而最主要的是,解析模型更适合用来寻找最优决策。

与解析模型相比,统计模型更精确、更详尽,不需要那么粗糙的假定,可以计入大量(理论上是无限多)因素。但它们也有自己的缺点:笨重,难以纵览,而最主要的是极难寻找最优决策——只能靠“摸索”、靠猜测与尝试去寻找。

运筹学领域最好的工作,建立在解析模型与统计模型的联合运用之上。解析模型使人能够大体上弄清现象,勾出基本规律性的“轮廓”。任何精细化都可以借助统计模型来取得。

最后来谈几句所谓的“仿真”建模。它用于那些人的意志可以不时介入其进程的过程。领导作业的人(或一群人)可以视已形成的情势作出这样或那样的决策,正如棋手看着棋盘选择自己的下一着。随后启动数学模型,由它显示出:针对这一决策,情势预期会发生什么变化,过一段时间会带来什么后果。下一个“当前决策”就已经是在计入现实的新情势之后作出的,如此等等。多次重复这一程序之后,领导者仿佛在“积累经验”,从自己和他人的失误中学习,并逐渐学会作出正确的决策——即便不是最优的,也是接近最优的。