OR建模方法综述

  本书的大部分内容致力于运筹学的数学方法,因为这些定量技术构成了OR知识的主要部分。然而,这并不意味着实际的OR研究从根本上是数学练习。事实上,数学分析通常只代表所需总工作量的一小部分。本章的目的是通过描述典型OR研究的所有主要阶段来更好地看待问题。
  总结OR研究的常见(且相互重叠)阶段的一种方法如下:

  1. 定义感兴趣的问题并收集相关数据
  2. 构建表示问题的数学模型
  3. 开发计算机程序,用于从模型中得到问题的解
  4. 测试模型,如有必要的话对模型进行调整
  5. 为管理层规定的模型的持续应用做准备
  6. 实施

2.1 定义问题和收集数据

  首先,要认识到OR团队通常扮演顾问的角色。并没有现成的问题给团队成员,然后被告知以他们认为合适的方式解决问题。相反,他们为管理层(通常是一位关键决策者)提供建议。通常,提交给管理层的报告将确定在不同假设下或在某些策略参数的不同值范围内特别有吸引力的一些替代方案,这些策略参数只能由管理层进行评估(例如,成本和收益之间的权衡)。管理层评估研究及其建议,考虑各种无形因素,并根据其最佳判断做出最终决定。因此,OR团队必须与管理层保持一致,包括从管理层的角度确定"正确"的问题,并为所研究的方向获得管理层的支持。

  确定合适的目标是问题定义的一个非常重要的方面。就运筹学的本质而言,它关注的是整个组织而非其某些组成部分的福利。运筹学研究寻求的是对整个组织最优的解决方案,而非只对部分最优的次优方案。研究中使用的目标应该尽可能明确,同时仍然包含决策者的主要目标,并与组织的更高级别目标保持合理程度的一致性。

  通常,运筹学研究团队会花费大量时间收集问题的相关数据。大部分数据既用于获得对问题的充分理解,又为下一阶段研究建立的数学模型提供所需的输人。管理信息系统,得以经常地、按所需的形式收集数据。运筹学研究团队获得的很多数据是非常"不精确的",只是基于粗略的猜测。因此,运筹学研究团队需要花费大量的时间来提高数据的准确度,然后使用可能获得的质量最好的数据。
  运筹学研究团队的新工具之一——数据挖掘(data mining),可以用来定位相关数据以及确认这些数据中令人感兴趣的模式。数据挖掘方法在大型数据库中搜索可能产生有用决策的有用模式。

2.2 数学建模

  数学模型也是理想化的表示,但是它们采用数学符号和表达式来表示。与物理定律类似,商业问题的数学模型是描述问题实质的 等式和相关数学表达式的系统。因此,如果要制订\(n\)个相关的可量化的决策,可以将它们 表示成决策变量(decision variables)\((x_1, x_2, \ldots, x_n)\),其中各个变量值需要被确定。效果(e.g. 收益)的合理度量被表示成这些决策变量的数学函数。这个函数被称为目标函数(objective function)。任何对决策变量值的约束也能够用数学方法表示,一般是通过等式或者不等式。描述这些限制的表达式通常被称为约束(constraints)。约束和目标函数中的常数(也就是系数和右端的常数项)被称为模型的参数(parameters)。根据数学模型可知,问题是选择决策变量的值,以便在指定的约束条件下最大化目标函数。这样的模型以及它的轻微变体代表了OR中常用的模型。

  确定模型参数的合适赋值是模型构建过程中重要的以及具有挑战性的部分。与教科书中参数值被预先给定的问题相反,确定现实问题的参数值需要收集相关数据,而收集准确的数据通常是困难的。因此,参数的赋值通常必然只是一个粗略的估计。由于参数真实值的不确定性,分析模型解怎样随着参数值的变化而变化是重要的。这个过程通常被称为敏感性分析(sensitivity analysis),将在下一节(以及第6章的大部分)中进一步讨论。

  本书将介绍大量数学模型的示例。在接下来的几章中研究的一种特别重要的类型是线性规划模型(linear programming model),该模型的目标函数和约束都是线性函数。

注意

模型是问题的理想化抽象。因此,如果想要使问题能够被求解,一般需要进行近似和简化假设。必须注意确保模型是对问题的有效表示。判断模型有效性的正确准则是模型是否以充分的准确度预测候选行动的相对效果并允许合理地决策。所需的是模型的预测与显示世界真实发生的情况有高度的相关性。

  在建立模型时,可以从非常简单的模型开始,然后以演化的方式逐渐产生更为精炼、更为近似地反映现实问题复杂性的模型。只要保持模型能够被求解,模型充实过程可不断持续,但需要不断考虑模型准确性与模型可求解性之间的折中

  构建运筹模型的一个关键步骤是建立目标函数。如果具有多个目标,那么它们各自的度量通常被转换以及结合成组合度量,被称为效果的整体度量(overall measure of performance)。在后面的例子中,建立这种度量的任务通常是复杂的,需要详细地比较目标以及它们的相对重要性。另外,也有方法明确地同时考虑多个目标,e.g.目标规划(将在第7章的补充部分进行讨论)。

2.3 模型求解

  运筹学的一个普遍主题是搜索optimal或者best solution。我们需要认识到这些解仅仅对所使用的模型来讲是最优的。由于模型是理想化的而不是问题的真实表示,所以无法保证模型的最优解是对现实问题能够实施的最好可能解。现实问题有太多无法估量的因素和不确定性。然而,如果模型被很好地定义和检验,那么产生的解应该是对现实问题理想行动的良好近似。

  杰出的管理科学家、诺贝尔经济学奖获得者Herbert Simon指出satisficing比最优化在现实应用中更切合实际。"satisficing"由satisfactory和optimizing结合而成。Simon描述了管理者在处理手头问题时寻求"足够好的"解决方案的趋势。如果能够找出使得所有的目标均被满足的解,那么该解可以直接被采用。这就是满意的本质。最优和满意之间的差别反映了将理论应用到现实时经常面对的理论和现实之间的差别。正如英国著名运筹学者Samuel Eilon所说:"Optimizing is the science of the ultimate; satisficing is the art of the feasible"。

  运筹学的目标应该是以最优的方式进行调查和研究,而不管这能否发现模型的最优解。因此,OR研究团队也应该考虑研究的成本以及延期完成的不利因素,确保从研究中产生的纯收益最大化。按照这个理念,运筹学研究团队有时会采用启发式程序 (heuristic procedures)(i.e. 不能保证找到最佳解决方案的直观设计的程序)找出好的次优解(suboptimal solution)。这种方法常常用于对问题的模型找出最优解所需要的时间和成本非常大的情况下。近年来,大量研究建立了有效的元启发(metaheuristics),为设计适合特定类型问题的启发式程序提供了一般结构和策略指导(参见第13章)。

  事实上,原有模型的最优解可能与现实问题的理想解相距甚远,所以必须进行附加分析。因此,优化后分析(找出最优解之后的分析)对于大部分运筹学研究是非常重要的组成部分。这部分分析有时也被称为what-if分析,因为它包含解决一些有关在将来情况的不同假设下最优解将发生什么变化的问题。优化后分析包括进行敏感性分析,确定在求解时哪些模型参数是最重要的(敏感性参数)。

2.4 检验模型

  为了增加模型有效性而进行的检验和改进模型的过程通常被称为模型审核(model validation)。

  检验模型一种较为系统的方法是使用回溯检验(retrospective testing)。当该检验适用时,使用历史数据重现过去,然后确定应用该模型和导出的解同实际的吻合程度,比较假 定执行该模型时的有效性,如应用该模型使现实情况得到的改善等。它也表明了模型的哪个部分存在缺点需要改进。另外,通过使用模型的候选解以及估计它们假定的历史效果,能够收集相当多的证据,这些证据反映了模型预测候选行动相对结果的有效性。另外,回溯检验的缺点在于它使用了用于建模的数据。重要问题在于它的过去能否真实地代表将来。如果不能,那么模型在未来的执行情况和过去相比可能非常不同。

2.5 准备应用模型

(略)

2.6 实施

(略)

2.7 结论

  虽然本书大部分篇幅几种在构建和求解数学模型上,但是这只是整个运筹学研究过程的一个组成部分。