最优化理论
最优化理论
- 2024 研究生课程「最优化理论」笔记 & 复习要点。
1. 绪论
1.1. 概念
分类:可以根据不同属性的性质进行分类,如
- 目标函数:分为线性优化和非线性优化
- 约束条件:有约束(等式约束、不等式约束)和无约束
- 决策变量:离散型、连续型
- 最优解:单目标、多目标
- 优化问题:凸优化(通常为全局最优解)、非凸优化(多个局部最优解)
解:
- 最优解:目标函数取最值的变量
- 可行解:满足约束条件,但不一定最优
- 梯度:,目标函数的方向导数
- Hesse矩阵:,目标函数的二阶方向导数
1.2. 迭代格式以及敛散性
迭代格式:
- 初始化:选择作为初始解。
- 迭代:寻找可行解,找到最优梯度(最优下降方向)更新解。
- 停止:满足停止条件(数值不再显著变化、最大迭代次数、特点约束条件)时则停止。
敛散性:判断算法能否找到最优解或接近最优解。
2. 最优化数学建模
2.1. 线性规划
例如资源分配类问题, 有种产品,每种产品包含个属性需求(原料、价格、利润、时间),而这些资源是有约束的(不能大于、不能少于、必须刚好等),每种资源最多使用,每种产品会产生的单位价值,让你求如何分配这些资源生产产品获取最大(最小)的价值。
显然决策变量应该是一个包含个元素的列向量,所有产品即对应的属性需求我们可以写为系数矩阵,由此我们可以得到如下目标函数以及约束条件。
2.2. 标准化
为了方便我们使用通用的方法解决线性规划问题,我们需要将模型进行标准化,方法为
- 若目标函数为求最大值,令,则转化为求。
- 当时,两边乘上-1。
- 约束方程为不等式时,则在左边加上/减去非负松弛变量,转化为等式。
- 当约束为时,令。
- 当无约束时,令,其中
这样我们便可以得到标准型:最小目标函数、等式约束、决策变量非负约束。
3. 线性规划
3.1. 基本可行解
约束为线性函数,标准数学表达式为
设,。设这个线性无关列向量的下标集合为,其构造的方阵为,设解中以中元素作为下标构成的列向量为。
则为基矩阵,为一组基,有,令其非基变量为0,得基本解。若满足,则称为基础可行解。
解题时就是排列组合构造,通过得到基,然后填充0得到为一组可行解。
3.2. 单纯形法
由于基本可行解会有很多,此时可以用单纯形法来系统搜索最优解。
其理论依据为若问题存在可行解,则问题的可行域是凸集。则基可行解对应问题可行域的顶点,若存在最优解,则最优解一定是基可行解(即顶点)。
将线性规划转换为标准形
在中寻找一个基矩阵,通过初等行变换将转换为单位矩阵,若此时,则重新寻找。
令非基变量为0,计算得到初始基本可行变量,此时可以画出单纯型表
70 30 0 0 0 0 3 9 1 0 0 540 180 5 5 0 1 0 450 90 9 3 0 0 1 720 80 判断当前点是否为最优解
计算每一列的判别数,取,若,则算法无解,停止,否则选择作为入基列。
若当前目标函数非基变量系数小于等于(如果是问题则是大于等于)0时则为最优解,而现在不等于0,则意味着如果继续增大还会有更大的目标函数值。
基变量出基与非基变量入基
入基的规则为选择使目标函数变化最快的非基变量入基,即系数最大的非基变量。例如这里我们选择,然后我们需要计算单纯型表的,有,这里我们可以看到约束3对应的最小,则选择对应的出基。
画出单纯型表
0 20/3 0 0 -70/9 5600 0 8 1 0 -1/3 300 0 10/3 0 1 -5/9 50 1 1/3 0 0 1/9 80 这里的变换过程便是做初等行变换让置1,所在列置,当前点的解。
继续这个过程,直到当前解为最优解为止。
3.3. 大M法
增加两个维度向量。其中为人工变量。将标准形式的线性规划问题转换为
其中为很大的数,然后使用单纯型法求解,结果可能为:
- 求得最优解,且人工变量全是0,则该解为原问题最优解。
- 求得最优解,但人工变量不全是0,则原问题无最优解。
- 没有最优解,则原问题没有最优解或可行解。
3.4. 两阶段法
去掉人工变量,以第一阶段最后的基变量为初始变量开始迭代。问题格式为
第一阶段
用单纯形法求解得到解,此时有
- ,原问题无可行解。
- 且的分量都是非基变量,此时就是原问题的一个基可行解。
- 且的分量都是基变量,此时用主元消去法,把原来变量中的某些非基变量引入基,替换出基变量中的人工变量,再开始新的第二阶段。
第二阶段即为在上述基可行解的基础上使用单纯形法求最优解。
3.5. 计算机求解
对于标准线性规划问题,matlab求解函数为
[x, fval] = linprog(f, A, b, A_eq, b_eq, lb, ub)
参数分别为:
:决策向量,返回最优解。 :价值向量,即目标函数中的系数数组。 :不等式约束的系数矩阵,默认为 。 :不等式约束的右端常数向量。 :等式约束矩阵。 :等式约束的右端常数向量。 :变量取值范围的下界和上界(闭区间)。
参数没有默认为空数组。题目给的不是标准形要转换。
3.6. 其他方法
- 分支定界法:
- 隐枚举法:
- 表上作业法:
- 匈牙利法:
4. 非线性规划
4.1. 概念
当目标函数或约束中含有非线性函数的最优化问题称为非线性规划。
与线性规划的区别在于,若线性规划的最优解一定在边界上,而非线性规划则可能在任意一点达到。
梯度
Hesse矩阵:即二阶偏导矩阵
Taylor展开
凸集:集合中任意两点的连结线段仍属于,即。则为凸集。
凸函数:
一般求解其Hesse矩阵的特征值,特征值均大于等于0,则为凸函数。
或者Hesse正定(主子式均大于等于0)
4.2. 一维线性搜索
对于多元函数的极值点求解常采用迭代求解,令,其中
为初始点,为迭代方向,为步长。
当方向确定时,求最佳步长就是求
的极值,这一过程称为一维搜索(单变量优化)。
4.3. 黄金分割法
初始区间和精度,计算试探点和,计算函数值,其中
若,则停止计算。当时令,重新计算。否则为,重新计算。
- 优点:算法简单,缩短率固定为黄金分割数,无需事先确定搜索次数,收敛速度可以接受。
4.4. Fibonacci法
初始区间和精度,计算次数使得,辨别常数,试探点和对应函数值。
若,则,重新计算,否则反过来。
当时,令,若,则,反之。
二者相同点
- 都是分割方法
- 都是通过试探点进行函数值比较缩短搜索区间。
- 适用对象相同:极小化目标函数是单峰函数
区别:
- 搜索区间长度和缩短率不同
- 黄金分割法是近似最优,Fibonacci法是最优策略
- Fibonacci需要事先知道迭代次数,收敛速度略优于黄金分割法。
5. 无约束非线性规划
5.1. 最速下降法
梯度方向是函数值增长最快的方向,让迭代沿着负梯度方向前进,保证最速下降。
即
令,利用精确一维搜索有
即可求解得出。
特点:相邻两次迭代搜索总是垂直(正交),迭代过程为锯齿状,收敛速度慢。
5.2. 牛顿法
相比最速下降只考虑一阶导,牛顿法使用了二阶导作为每一个分量的步长。迭代式为
5.3. FR共轭梯度法
若则两向量正交,若,则称向量关于共轭正交,简称关于共轭。迭代式为
其中,。初始方向,如果不是正定函数的话,还是用精确一维搜索得到,即。
6. 带约束非线性规划
6.1. 罚函数法
对于带约束非线性规划方程,我们可以通过增加罚函数的方式将原问题转为无约束问题。
若原问题带有约束,设函数
其中为罚因子,,根据构造方式不同可以分为外点形式和内点形式。
内点罚函数:,且罚因子是递减序列一般为,仅适用于不等式约束优化问题。
外点罚函数:,罚因子是递增序列。
算法思想:当为可行点时,惩罚项等于0,此时,当为不可行点时,惩罚项是一个大正数,迫使迭代点靠近可行域。
计算式先选择外点还是内点构造罚函数。确定罚因子序列,初始点。然后用无约束问题求解方式求解。
终止条件为差值收敛或变化量收敛。
6.2. 乘子法
只能处理等式约束,类似罚函数,将约束条件带入到目标函数中得到拉格朗日乘函数
其中为拉格朗日乘子,然后分别求对的偏导,令其等于0进行求解。
6.3. KKT条件
若既有等式约束也有不等式约束,定义如下拉格朗日函数
其中是为不等式约束引入的松弛变量,也叫做KKT乘子。KKT条件为极值点满足
解题时找到的条件,构造求解,观察是否大于等于0。
7. 动态规划
适用条件:
- 最优子结构:如果问题的最优解所含的子问题的解也是最优的,则称该问题具有最优子结构。
- 无后效性:子问题解一旦确定便不再改变,不受之后的问题的求解决策影响。
- 重叠子问题:空间换时间。
问题模型:
- 状态变量:代表第阶段的解。
- 决策变量:代表第阶段的状态为的决策变量,即确定第阶段的状态。
- 转移方程:。
7.1. 逆推法
设,其中。从后往前递推。
对于资源分配问题状态变量一般代表第阶段至第阶段剩余资源数,为分配给第个变量的资源数,则转移方程为
这样由可以得到关于的约束,带入得到的最优值,然后带入递推求解。遇到非线性函数时同样令,令进行求解。
最后取代表最后不剩任何资源带入计算的值,然后再依次求解。
7.2. 顺推法
逆推法的反向,从最开始可分配资源开始向后递推。转移方程为
最后取带入求解极值。
8. 多目标规划问题
8.1. 概念
形式:,即满足多个约束条件下求最值,此时约束不严格。
有效解:若为解,若不存在其他解使得所有目标函数都有,并且其中至少有一个严格不等式,则是原问题的有效解。(类似普通规划的最优解)
弱有效解:不存在另一个解严格优于该解。
与单目标规划问题的区别:
- 目标函数有多个,且互相冲突,需要决策者进行权衡。
- 不存在唯一最优解,而是一个解集(帕累托最优解集),解集中不存在严格的优劣关系。
- 求解方式不同。
8.2. 评价函数法
理想点法
对于的多目标规划问题,规范化决策矩阵为,其中等于初上对应列的模长。
构造加权规范阵,设各属性的权值向量,则
确定正理想解和负理想解,设正理想解第个属性值为,其中
即最少的成本,最大的收益,而负理想解则是上述的反内容。
备选方案到理想解的距离分别为
计算各方案的排序指标值(综合评价指数),即
按照从大到小排优劣次序。
线性加权和法
对应解,直接计算得到评价值。
平方和加权法
对应解,直接计算得到评价值。
极大极小法
在不利的情况找到一个最有利的解,