高级优化理论与方法(十五)

2024-06-18 08:30

本文主要是介绍高级优化理论与方法(十五),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

高级优化理论与方法(十五)

  • Algorithms for Constrained Optimization
    • Projection
      • Idea
      • Example
      • Method
      • Problem
      • Solution
        • Orthogonal Projector
          • Definition
          • Remark
          • Lemma
          • Theorem
        • Projection
          • Projected steepest descent
          • Properties
          • Theorem
          • Properties
        • Lagrange's Algorithm
          • Theorem
          • Theorem
    • Penalty Function
      • Definition
      • Example
  • Multi-objective Optimization
    • Pareto-optimal
    • Multi to Single
  • 总结
  • 课程考察重点

Algorithms for Constrained Optimization

基本思路:沿用无约束优化问题中的迭代方法: x k + 1 = x k + α k d k x^{k+1}=x^k+\alpha^k d^k xk+1=xk+αkdk。但是问题在于如何使得迭代满足约束条件。

Projection

Idea

If x k + α k d k ∈ Ω x^k+\alpha^k d^k\in\Omega xk+αkdkΩ, then x k + 1 = x k + α k d k x^{k+1}=x^k+\alpha^k d^k xk+1=xk+αkdk
else $x^{k+1}=“project” on Ω \Omega Ω.

Example

Ω = { x : l i ≤ x i ≤ u i , ∀ i } , l i , u i ∈ Ω \Omega=\{x:l_i\leq x_i\leq u_i,\forall i\},l_i,u_i\in\Omega Ω={x:lixiui,i},li,uiΩ
y i = { u i , x i ≥ u i x i , l i < x i < u i l i , x i ≤ l i y_i=\begin{cases} u_i,x_i\geq u_i\\ x_i,l_i<x_i<u_i\\ l_i,x_i\leq l_i \end{cases} yi= ui,xiuixi,li<xi<uili,xili

Method

“Projection of x x x on Ω \Omega Ω”: π [ x ] : = \pi[x]:= π[x]:= the closest point of Ω \Omega Ω to x x x.
π [ x k + α k d k ] = a r g m i n z ∈ Ω ∣ ∣ z − ( x k + α k d k ) ∣ ∣ \pi[x^k+\alpha^k d^k]=argmin_{z\in\Omega}||z-(x^k+\alpha^k d^k)|| π[xk+αkdk]=argminzΩ∣∣z(xk+αkdk)∣∣

Project gradient method: x k + 1 = π [ x k − α k ∇ f ( x k ) ] x^{k+1}=\pi[x^k-\alpha^k \nabla f(x^k)] xk+1=π[xkαkf(xk)], where α k = a r g m i n α ≥ 0 f ( x k − α ∇ f ( x k ) ) \alpha^k=argmin_{\alpha\geq 0} f(x^k-\alpha \nabla f(x^k)) αk=argminα0f(xkαf(xk))

Problem

min ∣ ∣ z − ( x k + α k d k ) ∣ ∣ ||z-(x^k+\alpha^k d^k)|| ∣∣z(xk+αkdk)∣∣ s.t. z ∈ Ω z\in\Omega zΩ is difficult to solve.

Solution

Orthogonal Projector

min f ( x ) f(x) f(x)
s.t. A x = b Ax=b Ax=b

A ∈ R m × n , m ≤ n , r a n k A = m A\in \mathbb{R}^{m\times n},m\leq n,rank A=m ARm×n,mn,rankA=m

Definition

Def: Orthogonal Projector: P = I n − A T ( A A T ) − 1 A P=I_n-A^T(AA^T)^{-1}A P=InAT(AAT)1A

Remark

P = P T , P 2 = P × P = P P=P^T,P^2=P\times P=P P=PT,P2=P×P=P

Lemma

v ∈ R n v\in \mathbb{R}^n vRn. Then, P v = 0 ⇔ v ∈ { x : x = A T y } P_v=0\Leftrightarrow v\in\{x:x=A^Ty\} Pv=0v{x:x=ATy}

Theorem

x ∗ ∈ R n x^*\in\mathbb{R}^n xRn is a feasible solution. P ∇ f ( x ∗ ) = 0 ⇔ x ∗ P\nabla f(x^*)=0\Leftrightarrow x^* Pf(x)=0x satisfies the Lagrange’s condition.

Projection

x k + 1 = π [ x k − α k ∇ f ( x k ) ] x^{k+1}=\pi[x^k-\alpha^k\nabla f(x^k)] xk+1=π[xkαkf(xk)]
= x k − α k P ∇ f ( x ) =x^k-\alpha^kP\nabla f(x) =xkαkPf(x)

Projected steepest descent

α k = a r g m i n α > 0 f ( x k − α ∇ f ( x k ) ) \alpha^k=argmin_{\alpha>0} f(x^k-\alpha\nabla f(x^k)) αk=argminα>0f(xkαf(xk))

Properties

If x 0 x^0 x0 is feasible, then ∀ k : x k \forall k: x^k k:xk is feasible.

Theorem

x k x^k xk: generated by “projected steepest descent”. If P ∇ f ( x k ) ≠ 0 P\nabla f(x^k)\neq 0 Pf(xk)=0, then f ( x k + 1 ) < f ( x k ) f(x^{k+1})<f(x^k) f(xk+1)<f(xk).

Properties

x ∗ x^* x is a global minimizer of a convex function f f f over { x : A x = b } ⇔ P ∇ f ( x ∗ ) = 0 \{x:Ax=b\}\Leftrightarrow P\nabla f(x^*)=0 {x:Ax=b}Pf(x)=0

Lagrange’s Algorithm

min f ( x ) f(x) f(x)
s.t. h ( x ) = 0 h(x)=0 h(x)=0

h : R n → R m , l ( x , λ ) = f ( x ) + λ T h ( x ) h: \mathbb{R}^n\rightarrow \mathbb{R}^m, l(x,\lambda)=f(x)+\lambda^T h(x) h:RnRm,l(x,λ)=f(x)+λTh(x)

Lagrange’s Algorithm: { x k + 1 = x k − α k ( ∇ f ( x k ) + D h ( x k ) T λ k ) λ k + 1 = λ k + β k h ( x k ) \begin{cases} x^{k+1}=x^k-\alpha^k(\nabla f(x^k)+Dh(x^k)^T\lambda^k)\\ \lambda^{k+1}=\lambda^k+\beta^k h(x^k) \end{cases} {xk+1=xkαk(f(xk)+Dh(xk)Tλk)λk+1=λk+βkh(xk)

Theorem

Provided α , β \alpha,\beta α,β sufficiently small. ∃ \exist a neighborhood of ( x ∗ , λ ∗ ) (x^*,\lambda^*) (x,λ) ( ( x ∗ , λ ∗ ) ((x^*,\lambda^*) ((x,λ) satisfies ∇ f ( x ∗ ) + D h ( x ∗ ) T λ ∗ = 0 , L ( x ∗ , λ ∗ ) ≥ 0 ) \nabla f(x^*)+Dh(x^*)^T\lambda^*=0,L(x^*,\lambda^*)\geq 0) f(x)+Dh(x)Tλ=0,L(x,λ)0) such that if ( x ∗ , λ ∗ ) (x^*,\lambda^*) (x,λ) is in this neighborhood, the algorithm converges to ( x ∗ , λ ∗ ) (x^*,\lambda^*) (x,λ) with at least a linear order.

min f ( x ) f(x) f(x)
s.t. g ( x ) ≤ 0 g(x)\leq 0 g(x)0

l ( x , μ ) = f ( x ) + μ T g ( x ) l(x,\mu)=f(x)+\mu^T g(x) l(x,μ)=f(x)+μTg(x)
x k + 1 = x k − α k ( ∇ f ( x k ) + D g ( x k ) T μ k ) x^{k+1}=x^k-\alpha^k(\nabla f(x^k)+Dg(x^k)^T\mu^k) xk+1=xkαk(f(xk)+Dg(xk)Tμk)
μ k + 1 = [ μ k + β k g ( x k ) ] + = m a x { μ k + β k g ( x k ) , 0 } \mu^{k+1}=[\mu^k+\beta^kg(x^k)]_+=max\{\mu^k+\beta^kg(x^k),0\} μk+1=[μk+βkg(xk)]+=max{μk+βkg(xk),0}

Theorem

( x ∗ , μ ∗ ) (x^*,\mu^*) (x,μ) satisfies the KKT-conditions. L ( x ∗ , μ ) ≥ 0 L(x^*,\mu)\geq 0 L(x,μ)0. Provided α , β \alpha,\beta α,β sufficiently small, ∃ \exist a neighborhood, then the algorithm converges to ( x ∗ , μ ∗ ) (x^*,\mu^*) (x,μ) with at least a linear order.

Penalty Function

min f ( x ) f(x) f(x)
s.t. x ∈ Ω x\in\Omega xΩ

⇒ \Rightarrow min f ( x ) + r P ( x ) f(x)+rP(x) f(x)+rP(x)
r ∈ R + : r\in \mathbb{R}^+: rR+: penalty parameter.
P ( x ) : R n → R P(x):\mathbb{R}^n\rightarrow \mathbb{R} P(x):RnR: penalty function

Definition

P P P is a penalty function, if
(1) P P P is continuous
(2) P ( x ) ≥ 0 , ∀ x ∈ R n P(x)\geq 0,\forall x\in\mathbb{R}^n P(x)0,xRn
(3) P ( x ) = 0 ⇔ x ∈ Ω P(x)=0\Leftrightarrow x\in\Omega P(x)=0xΩ

min f ( x ) f(x) f(x)
s.t. g i ( x ) ≤ 0 g_i(x)\leq 0 gi(x)0
⇒ p ( x ) = ∑ i g i + ( x ) \Rightarrow p(x)=\sum\limits_i g_i^+(x) p(x)=igi+(x)
where g i + ( x ) = m a x { 0 , g i ( x ) } g_i^+(x)=max\{0,g_i(x)\} gi+(x)=max{0,gi(x)}

Example

g 1 ( x ) = x − 2 g_1(x)=x-2 g1(x)=x2
g 2 ( x ) = − ( x + 1 ) 3 g_2(x)=-(x+1)^3 g2(x)=(x+1)3
g 1 + ( x ) = { 0 , x ≤ 2 x − 2 , otherwise g_1^+(x)=\begin{cases} 0,x\leq 2\\ x-2,\text{otherwise} \end{cases} g1+(x)={0,x2x2,otherwise
g 2 + ( x ) = { 0 , x ≥ − 1 − ( x + 1 ) 3 , otherwise g_2^+(x)=\begin{cases} 0,x\geq -1\\ -(x+1)^3,\text{otherwise} \end{cases} g2+(x)={0,x1(x+1)3,otherwise
P ( x ) = { x − 2 , x > 2 0 , − 1 ≤ x ≤ 2 − ( x + 1 ) 3 , x < − 1 P(x)=\begin{cases} x-2,x>2\\ 0,-1\leq x \leq 2\\ -(x+1)^3,x<-1 \end{cases} P(x)= x2,x>20,1x2(x+1)3,x<1

Def: Courant-Beltrami-Penalty: P ( x ) = ∑ i = 1 p ( g i + ( x ) ) 2 P(x)=\sum_{i=1}^p (g_i^+(x))^2 P(x)=i=1p(gi+(x))2

Multi-objective Optimization

min f ( x ) = [ f 1 ( x ) f 2 ( x ) ⋯ f l ( x ) ] f(x)=\begin{bmatrix} f_1(x)\\ f_2(x)\\ \cdots \\ f_l(x) \end{bmatrix} f(x)= f1(x)f2(x)fl(x)
s.t. x ∈ Ω x\in\Omega xΩ

Pareto-optimal

Pareto-optimal: x ∗ ∈ Ω x^*\in\Omega xΩ. If ∄ x ∈ Ω \not \exist x\in\Omega xΩ s.t. for i = 1 , ⋯ , l : f i ( x ) ≤ f i ( x ∗ ) i=1,\cdots,l:f_i(x)\leq f_i(x^*) i=1,,l:fi(x)fi(x) and ∃ i : f i ( x ) ≤ f i ( x ∗ ) \exist i:f_i(x)\leq f_i(x^*) i:fi(x)fi(x)

Multi to Single

①Weighted sum: f ( x ) = ∑ w i f i ( x ) f(x)=\sum w_i f_i(x) f(x)=wifi(x)
②MiniMax: f ( x ) = max ⁡ i { f i ( x ) } f(x)=\max\limits_i\{f_i(x)\} f(x)=imax{fi(x)}
③p-norm: f ( x ) = ∣ ∣ f i ( x ) ∣ ∣ p = f 1 p ( x ) + ⋯ + f l p ( x ) f(x)=||f_i(x)||_p=f_1^p(x)+\cdots+f_l^p(x) f(x)=∣∣fi(x)p=f1p(x)++flp(x)
④satisfactory: min f 1 ( x ) f_1(x) f1(x)
s.t. f 2 ( x ) ≤ b 2 , ⋯ , f l ( x ) ≤ b l f_2(x)\leq b_2,\cdots,f_l(x)\leq b_l f2(x)b2,,fl(x)bl

总结

这节课主要介绍了约束优化问题的算法,分为投影法和惩罚函数法。在投影法中,为了解决迭代方法中难以求得满足限制条件的最小值问题,引入了正交投影算子。在惩罚函数法中,引入了惩罚函数,对落在约束区域外的点进行惩罚。最后简单介绍了多目标优化问题。多目标优化问题较难,现有的理论较少,只简单介绍了帕累托最优,以及将多目标优化问题转换成单目标优化问题的几种方法。至此,优化理论与优化方法的内容就全部结束啦。

课程考察重点

FONC,SONC,SOSC的应用。
Gradient method, Newton method, Conjugate method等优化方法的应用。
单纯形法,拉格朗日条件,KKT条件。
纯应用,没有证明。五道大题。
重点考察对方法是否熟悉,侧重过程,不侧重计算。

这篇关于高级优化理论与方法(十五)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1071770

相关文章

Python中使用defaultdict和Counter的方法

《Python中使用defaultdict和Counter的方法》本文深入探讨了Python中的两个强大工具——defaultdict和Counter,并详细介绍了它们的工作原理、应用场景以及在实际编... 目录引言defaultdict的深入应用什么是defaultdictdefaultdict的工作原理

使用Python进行文件读写操作的基本方法

《使用Python进行文件读写操作的基本方法》今天的内容来介绍Python中进行文件读写操作的方法,这在学习Python时是必不可少的技术点,希望可以帮助到正在学习python的小伙伴,以下是Pyth... 目录一、文件读取:二、文件写入:三、文件追加:四、文件读写的二进制模式:五、使用 json 模块读写

Oracle数据库使用 listagg去重删除重复数据的方法汇总

《Oracle数据库使用listagg去重删除重复数据的方法汇总》文章介绍了在Oracle数据库中使用LISTAGG和XMLAGG函数进行字符串聚合并去重的方法,包括去重聚合、使用XML解析和CLO... 目录案例表第一种:使用wm_concat() + distinct去重聚合第二种:使用listagg,

Java后端接口中提取请求头中的Cookie和Token的方法

《Java后端接口中提取请求头中的Cookie和Token的方法》在现代Web开发中,HTTP请求头(Header)是客户端与服务器之间传递信息的重要方式之一,本文将详细介绍如何在Java后端(以Sp... 目录引言1. 背景1.1 什么是 HTTP 请求头?1.2 为什么需要提取请求头?2. 使用 Spr

Java如何通过反射机制获取数据类对象的属性及方法

《Java如何通过反射机制获取数据类对象的属性及方法》文章介绍了如何使用Java反射机制获取类对象的所有属性及其对应的get、set方法,以及如何通过反射机制实现类对象的实例化,感兴趣的朋友跟随小编一... 目录一、通过反射机制获取类对象的所有属性以及相应的get、set方法1.遍历类对象的所有属性2.获取

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

Ubuntu系统怎么安装Warp? 新一代AI 终端神器安装使用方法

《Ubuntu系统怎么安装Warp?新一代AI终端神器安装使用方法》Warp是一款使用Rust开发的现代化AI终端工具,该怎么再Ubuntu系统中安装使用呢?下面我们就来看看详细教程... Warp Terminal 是一款使用 Rust 开发的现代化「AI 终端」工具。最初它只支持 MACOS,但在 20

Python实现数据清洗的18种方法

《Python实现数据清洗的18种方法》本文主要介绍了Python实现数据清洗的18种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录1. 去除字符串两边空格2. 转换数据类型3. 大小写转换4. 移除列表中的重复元素5. 快速统

Debian如何查看系统版本? 7种轻松查看Debian版本信息的实用方法

《Debian如何查看系统版本?7种轻松查看Debian版本信息的实用方法》Debian是一个广泛使用的Linux发行版,用户有时需要查看其版本信息以进行系统管理、故障排除或兼容性检查,在Debia... 作为最受欢迎的 linux 发行版之一,Debian 的版本信息在日常使用和系统维护中起着至关重要的作

Python中lambda排序的六种方法

《Python中lambda排序的六种方法》本文主要介绍了Python中使用lambda函数进行排序的六种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录1.对单个变量进行排序2. 对多个变量进行排序3. 降序排列4. 单独降序1.对单个变量进行排序