最优化理论与算法:算法概述
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一般地,求解非线性规划问题 min f ( x) s.t. x S 时,通常取 f ( x) 或f ( x)为下降函数。
闭映射(closed mapping)
定义: 给定两个非空闭集X E m和Y E n,以及一个集值映射
A : X 2Y ,假设点列{x ( k ) }和{ y ( k ) }满足x ( k ) X ,y ( k ) A( x ( k ) )。 若x ( k ) x,y ( k ) y (k )蕴涵着y A( x),则称映射A在点 x X 处是闭的。若映射A在集合S X 上每一点是闭的,则称 A在集合S 上是闭映射。
称集值映射A : X 2 X 为一个算法映射(algorithm mapping).
考虑标准形式的线性规划 例: ( LP) min cx | Ax b, x 0 , 令X {x n | x为LP的基本可行解},若定义算法映射 A( x) { y n | y为LP的基本可行解,并且y和x的基矩阵是相邻的}, 那么对于任意一个基本可行解x (0) X ,迭代格式x ( k 1) A( x k )就生 成一个相邻的基本可行解序列。
下降迭代算法的步骤:
1.选定某一初始点 x ,置k 0。
( 0)
2.确定搜索方向 d ( k )。
3.从x ( k )出发,沿方向 d ( k )求步长k,以产生下一个 迭代点x ( k 1)。
4.检查x ( k 1)是否为极小点或近似极 小点,若是,则停 止迭代;否则,令 k : k 1,返回2。
定义: 给定集合X E n , 记其幂集(即所有子集构成的集合)为2 X ,
例:
考虑下列非线性规划: min x s.t. x 1.
2
y
y=(x+1)/2 A(x(1,k))
定义算法映射: 1 1, ( x 1) 2 A( x) 1 ( x 1), 1 2
选取搜索方向是最关键的一步,各种算法的区别, 主要在于确定搜索方向的方法不同。
确定步长 k的主要方法:
1.令它等于某一常数。 2.可接受点算法,即只要 能使目标函数值下降, 可任意选取步长 k。
3.基于沿搜索方向使目标函数值下降最多,即沿射线 x x(k ) d (k ) 求目标函数f ( x)的极小 f ( x ( k ) k d ( k ) ) min f ( x ( k ) d ( k ) ). 由于这项工作是求以为变量的一元函数的极小点,故 常称这一过程为(最优)一维搜索,这样确定的步长为 最佳步长。
定理: 设目标函数f ( x)具有一阶偏导数, x ( k 1)由下列规则产生:
(k ) k (k ) k f ( x d ) min f ( x d ) k ( k 1) (k ) k x x d k 则有f ( x ( k 1) )T d k 0。
算法
算法概念
一.下降迭代算法
迭代: 从一点x ( k )出发,按照某种规则A,求出后继点x ( k 1),
用k 1代替k,重复以上过程,得到一个解的序列{x ( k ) }, 若该序列有极限点x *,即 lim x ( k ) x * 0
k
则称它收敛于x *。 下降: 在每次迭代中,后继点处的函数值要有所减少。
考虑下列非线性规划: min x s.t. x 1.
2
y
y=(x+1)/2
A(x(1,k))
A(x(2,k))
定义算法映射: 1 1, 2 ( x 1) A( x) 1 ( x 1), 1 2
对于序列x
(1, k )
x | f ( x ) 0 x | x为KKT点 x | x S , f ( x ) b , 其中b是某个可接受的目标函数值。
ຫໍສະໝຸດ Baidu
下降函数
设 X 为解集合,A为X 上的一个算法, ( x)是定义 定义: 在X 上的连续实函数,若满足 1.当x 且y A( x)时, ( y ) ( x) 2. 当x 且y A( x)时, ( y ) ( x) 则称 是关于解集合和算法A的下降函数。
证明: 记 ( ) f ( x
(k )
d )
k
若k 是最优步长,则 k 为 ( )的驻点。 (k ) 0 而 (k ) f ( x ( k ) k d k )T d k f ( x ( k ) k d k )T d k 0
二.算法映射
1
x
x 1; x 1.
当x (i ,k ) x (0)
1 (2,k ) 1 1 , x 1 , 任取y (i ,k ) A( x (i ,k ) )(i 1, 2), k k 1时,y (i ,k ) y (0) 1(k ), 并且y (0) A( x (0) ) {1}.
该算法在每一点x R1都是闭的。
考虑下列非线性规划: min x 2 s.t. x 1.
定义算法映射:
y=(2x+1)/3
y
y=(2x+3)/3
3 3
y=(x+1)/3
x
1 1 ( x 3), (2 x 3) x 3; 2 3 B( x) 1 (2 x 1) x 3. 3 1 (k ) 7 2 (k ) 取点列x 3 , y B( x ( k ) ), 当x ( k ) x 3 k 3 3k 7 (k ) 时,y y B ( x ) B (3), 所以B ( x)在x 3处非闭。 3 当B( x)用于迭代过程时,对于任意初始点x (1),按照
A(x(2,k))
x 1; x 1.
1
x
利用算法A可以产生不同的点列: 3 5 3 9 33 5 7 25 3, 2, , , , 3, , , , , 3, , , , 2 4 2 8 32 3 6 24
解集合
把满足某些条件的点集定义为解集合.当迭代点属 于该集合时,停止迭代. 常用的解集合: