1.2 最优化问题的分类
工程实际问题有多种类型,相应地对于不同类型的问题有其不同的解法。例如根据问题的性质,可将问题分为静态问题、动态问题、确定性问题、随机性问题、模糊问题等。求解时首先要根据问题遵循的基本定律建立相应的数学模型,通过实验法、解析法或数值方法来达到求解的目的。随着计算机技术及各种数值方法的发展,利用计算机进行数值求解的发展更加普遍。常遇到的工程问题其数学模型一种是代数模型,如【例1-1】所示的模型;另一种是用常微分或偏微分方程表示的模型,如边界层微分方程。有限元法是求解偏微分方程非常有效的方法,其理论基础就是求能量函数或泛函的极值。这里主要讨论代数模型求极值的方法。
对于优化设计问题来说,若目标函数和约束函数都是线性函数,则这样的问题就是线性规划问题,否则就是非线性优化问题。
有些优化问题有约束条件,而有些优化问题没有约束条件,据此可以将最优化问题分为无约束优化问题和有约束优化问题。无约束优化问题在经典优化设计中占有重要地位,其求解方法是某些约束优化问题求解的基础。
此外,目标函数中的变量(称为设计变量)可能只含有一个,也可能含有多个,相应的优化问题就分别称为单变量问题和多变量问题。单变量优化问题的解法称为一维搜索方法。经典多变量优化算法中确定搜索方向最佳步长的问题就是一维搜索问题。因此,一维搜索算法是多变量优化算法的基础。
根据目标函数的多少最优化问题又可分为单目标函数问题和多目标函数问题。
根据优化变量取值是否连续,最优化问题又可分为连续优化问题和离散优化问题。
根据求解算法是否含有导数运算可分为含导数的优化算法和不含导数的优化算法,不含导数的优化算法又称为直接算法。
离散优化问题通常称为规划问题,如资源配置,生产管理,最短邮路等问题。一些启发式优化算法如遗传算法、粒子群算法不仅适合于求解连续最优化问题,也适于求解离散最优化问题。式(1-1)是最优化问题数学模型的一般形式,如果进一步将约束函数按线性和非线性、等式和非等式进行分类,最优化数学模型可进一步表示为
minf(x)=f(x1,x2,…,xn),x∈Rn
s.t.Ax≤b
Aeq·x=beq
gu(x)≤0,(u=1,2,…,L)
hv(x)=0,(v=1,2,…,M) (1-2)
这也是Matlab优化工具箱函数中优化数学模型采用的形式。
经典的优化算法大多属于线搜索方法,即从某一初始点x(0)出发,沿搜索方向d(0),按一定的步长α(k)在约束条件限定的范围内进行搜索,一般的迭代格式为
x(k+1)=x(k)+α(k)d(k)
根据搜索方向d构造方法的不同,就形成了不同的优化算法。