2.2 优化理论简介

优化是个古老的课题,它所研究的问题是在众多方案中寻找最优方案[16]。长期以来,人们对优化问题进行探讨和研究。早在17世纪,英国的Newton和德国的Leibnitz发明的微积分就蕴含了优化的内容。而法国数学家Cauchy则首次采用最速梯度下降法解决无约束优化问题,后来针对约束优化问题又提出了Lagrange乘数法[17]。这些设计的方法大多是用来解决局部优化问题的。直到19世纪40年代,生产实际中涌现出许多复杂的优化问题,比如大规模线性规划问题,需要快速而实用的算法;且泛函分析的逐渐发展也为优化方法奠定了坚实的理论基础。之后计算机开始出现并用于解决实际问题,使各种优化算法的实现具有更为便捷和快速的工具,这些因素促使优化逐渐发展成为一门学科[18-20]

随着人类生存空间的扩大,以及认识世界视野的扩宽和改造世界要求的深入,从理论研究和工业生产中产生了越来越多的更加复杂的优化问题。最优化是优化问题的一个分支,主要指在一定条件限制下,选取某种研究方案使目标达到最优的一种方法。最优化问题在当今的军事、工程、管理等领域有着极其广泛的应用。

从概念模型、结构模型,到数学模型以及计算机仿真模型和实物模型,是模型的不同阶段。从某种意义上说,人类的一切知识不外乎人类对某个领域的现象和过程认识的模型。只是由于不同领域问题的模型化的难易程度不同,其模型处在不同的阶段。比如,数学、力学、微观经济学等,其知识基本上是用数学模型来表达的;而哲学、社会学、心理学等,由于许多因素难以定量化,因此,其模型大多还处在概念模型阶段[4]

建模的目的就是优化,因此最优化问题离不开模型,所以最优化方法的发展伴随着模型描述方法的发展而发展。随着社会的进步与发展,最优化问题已渗透到实际生活中的各个领域,大到运输管理、生产管理以及经济学中的一些问题的研究,小到家庭理财、生活计划以及生活的方方面面,无一不在运用着优化问题。

最优化问题是指在满足一定条件下,寻找一种方案策略或者一组参数值,使得某个或多个度量指标达到最优。它是运筹学的重要研究领域之一。最优化问题在计算机科学、运筹学以及人工智能等领域有非常重要的地位。对最优化问题的求解即是获得最大收益的过程,通过最优化方法,可以使企业合理利用有限的资源,提高运作效率,占有市场份额,赢得市场竞争,从而获得最优收益。一般情况下,一个优化问题的数学模型可以描述为:

上式中,n为待优化问题的自变量维数,fx)为目标函数,xjminxjmax表示第j维自变量xj取值的下限及上限,gx)和hx)分别表示不等式约束和等式约束,其中pq为其对应的约束条件的数目。

下面介绍一下传统优化方法的基本步骤及其各自的局限性。

(1)传统优化方法的基本步骤。

类似于线性规划的单纯形法、非线性规划的各类迭代算法等这些传统的优化方法的基本步骤包括如下3个步骤,如图2.1所示。

图2.1 传统优化方法的基本步骤

第1步:选择一个初始解。

传统的优化方法一般从选择一个可行的初始解开始。对于无约束的非线性函数优化问题,初始解一般可以任选,但是对带约束的非线性规划问题,通常也必须选择可行解作为初始解。

第2步:判断是否满足停止准则。

停止准则一般就是最优性条件,这一步是对现行解检验是否满足停止准则。

第3步:向改进方向移动。

当最优性的条件不满足时,需要向改进解的方向移动。

(2)传统优化方法的局限性。

传统优化方法的局限性主要表现在以下几个方面。

1)由于传统优化方法的迭代计算只对一个点进行计算,这样导致计算机计算性能不能得到有效的发挥,从而限制了算法计算速度。

2)由于传统的优化方法每一步迭代都向改进方向移动,导致算法在低谷区域内失去全局搜索能力。

3)满足传统优化方法的停止条件的解不能保证一定是最优解,这就大大地限制了传统优化方法的应用范围。

4)传统的优化方法对目标函数以及约束函数的要求在实际中很难满足,这也限制了算法的应用。

任何一种新方法在其产生的初期往往是“方法定向(Method Oriented)”的,即它只能解决满足该方法适用条件的问题。要想运用这种方法就必须简化或改变原来的问题,使之能够满足该方法的适用条件。比如,为了使用线性规划超强的计算能力,实际中往往不得不采用拟线性化或分段线性化的方法把非线性问题转化成线性问题。20世纪70年代末流行过这样一个十分形象的比喻,说最优化方法好像是“只卖一个尺码鞋的鞋店”,脚小的塞棉花,脚大的砍一截。

传统优化方法是初级阶段的优化方法。随着人们对优化方法要求的提高,这种“方法定向”的特征已不能满足人们的使用,因此,智能优化方法随即产生。