对偶

本文深入探讨了Lagrange对偶函数及其在优化问题中的应用。从原问题到对偶问题的转换,旨在利用对偶函数作为原问题最优值的下界,并讨论了弱对偶性和强对偶性的概念及成立条件。通过对几何、鞍点和最优性条件的解释,阐述了解决复杂优化问题的策略,包括如何通过解对偶问题找到原问题的最优解。
摘要由CSDN通过智能技术生成

1.Lagrange对偶函数

[1]Lagrange函数、对偶函数、最优值的下界

原问题:

事实上

原问题并没有假设是一个凸优化问题

Lagrange函数:


对偶函数:

                                    这里注意x的在定义域里取

对偶函数的一个重要性质,


我们首先由在R^n空间中的原问题的目标函数、等式约束、不等约束构造了一个在R^n*R^m*R^p空间中的Lagrange函数,再由Lagrange函数构造出了在R^m*R^p空间中的对偶函数。由对偶函数的性质,对偶函数值一定小于原问题的最优值,于是将原优化问题转变为先优化对偶问题,再根据参数x,得到原问题最优解。

[2]通过线性逼近来理解Lagrange函数



[3]几个算对偶函数的例子

(1)线性方程组的最小二乘解


(2)标准形式的线性规划


(3)双向划分问题



[4]Lagrange对偶函数和共轭函数


下面三个例子是上面这个例子的特例,

(1)


(2)


(3)


一般损失函数的定义是第1,2个例子,第三个例子是一个几何问题。

-------------------------------------------------------------------------------------------------------

2.Lagrange对偶问题

[1]对偶问题

对偶函数给了原问题最优值一个下界,我们自然是想得到最好的下界,也就是最贴近原问题最优值的下界,即对偶函数的最大值。从原问题到对偶问题,绕这个弯子的原因是原问题关于x的函数很难求解或因不是凸函数易于陷进局部最优,但对偶问题却一定是一个凸优化问题,易于求解不会陷于局部最优,缺点是对偶问题只是提供一个下界,可能和原问题最优值由一定距离,这可能背离我们的初衷。

对偶问题表述:


[2]弱对偶性和强对偶性

强弱对偶性讨论是对偶问题最优值和原问题最优值的关系。

(1)定义


(2)如果原问题很难求解,那么我们根据弱对偶性总成立,不求原问题的最优值,而是求对偶问题,然后给出原问题最优值的一个下界。当然我们更希望强对偶性成立,这样两个问题的最优值就相等,我们就可以放心地求相对简单的对偶问题的最优值即可。下面就是强对偶性成立的条件。

原问题为凸问题时,


原问题为凸问题时的例子


原问题不为凸问题时强对偶性也可能成立,

实际上如果Slater条件成立,对于具有二次目标函数和一个二次不等约束的优化问题,强对偶性总成立。(具体看附录B.1)

-----------------------------------------------------------------------------------------------------------

3.几何解释

这里通过函数值集合来理解强弱对偶性。看起来有泛函的感觉。

[1]基本设定


分析





图1


图2



[2]强对偶性对大部分凸问题成立




[3]在Slater准则保证强对偶性成立


--------------------------------------------------------------------------------------------------------

4.鞍点解释

这里用鞍点来理解强弱对偶性。

[1]Lagrange函数的鞍点


[2]极大极小不等式


----------------------------------------------------------------------------------------------------------

5.最优性条件

[1]次优解认证和终止准则

[2]互补松弛性

[3]KKT条件



[4]通过解对偶问题来解原问题

强对偶性成立时,Lagrange函数的鞍点,是原问题的最优解也是对偶问题的最优解。于是我们可以先求相对简单的对偶问题的最优解,再求Lagrange函数的鞍点,于是得到原问题最优解。以下是一个例子,


----------------------------------------------------------------------------------------------------------

6.扰动及灵敏度分析

[1]扰动的问题


[2]一个全局不等式


[3]局部灵敏度分析



--------------------------------------------------------------------------------------------------------

7.例子


--------------------------------------------------------------------------------------------------------

8.择一定理

择一定理用来讨论原问题中不等约束和等式约束的可行性,即可行集中是否有点。

[1]弱择一



[2]强择一

两个不等式系统中恰有一个系统可行,称为强择一的。即必有一个成立,且其中一个成立,则另一个不成立。


------------------------------------------------------------------------------------------------------------------

9.广义不等式




对偶四元数是一种扩展了传统四元数的数学概念,它在机器人学和刚体运动学中有广泛的应用。对偶四元数可以用来表示刚体的位姿和运动,同时还可以进行刚体的运动组合和变换计算。 在Matlab中,可以使用Quaternion库来进行对偶四元数的计算和操作。Quaternion库提供了一系列函数来创建、操作和转换对偶四元数。 以下是对偶四元数的一些基本操作和函数: 1. 创建对偶四元数:可以使用quaternion函数来创建对偶四元数,例如: dq = quaternion(w, x, y, z) % 创建一个对偶四元数,其中w、x、y、z分别表示实部和虚部的四个分量 2. 对偶四元数的运算:可以使用+、-、*、/等运算符进行对偶四元数的加减乘除运算,例如: dq1 + dq2 % 对偶四元数的加法 dq1 * dq2 % 对偶四元数的乘法 3. 对偶四元数的共轭:可以使用conj函数来计算对偶四元数的共轭,例如: dq_conj = conj(dq) % 计算对偶四元数的共轭 4. 对偶四元数的单位化:可以使用normalize函数对偶四元数单位化,例如: dq_normalized = normalize(dq) % 对偶四元数的单位化 5. 对偶四元数的旋转:可以使用rotate函数将一个向量绕某个轴旋转,例如: rotated_vector = rotate(dq, vector) % 将向量vector绕对偶四元数dq表示的轴旋转 6. 对偶四元数的插值:可以使用slerp函数进行对偶四元数的插值,例如: interpolated_dq = slerp(dq1, dq2, t) % 对偶四元数dq1和dq2之间按照参数t进行插值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值