最优化方法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目标函数是多个决策变 量的线性函数,通常是 求最大值或最小值
max(min)z =c1x1+c2x2+…+cnxn; 约束条件 a11x1+a12x2+…+a1nxn≤=≥b1,
a21x1+a22x2+…+a2nxn≤=≥b2,
………………………………………… am1x1+am2x2+…+amnxn≤=≥bm;
则称向量 p是点x处关于X的可行方向。
当 x 位于X内部时,任一个方向都是可 行方向。当 x 位于X边界上时,有一部 分是可行方向,一部分是不可行方向。
注:解非线性规划问题,关键在于找到某个方向,使得在此方 向上,目标函数得到下降,同时还是可行方向。这样的方向称 为可行下降方向。
下降迭代算法步骤
k0 ; k (2)按照某种规则确定下降搜索方向 d
*
T ( 1 , 2 , , m )
*
*
*
和
T * (1 ,2 , ,l )
*
*
*
,使下述条
m l * * * * * f ( x ) g ( x ) i i j hj (x ) 0, i 1 j 1 * * 1, 2, , m , i g i(x ) 0,i ` * 1, 2, , m . i 0,i `
特点:
近年来发展较快,不断提出各种算法。 应用范围越来越广,如管理科学、最优设计、质量控制等。 求解较为困难,不像线性规划有统一的数学模型和通用解法。它 的各种算法都有特定的局限性,还没有一般的求解算法。
非线性问题举例
(pj ,qj ) ,它对某种货物的需要量 设有n个市场,第 j个市场位置为 2, ,n ) 。现计划建立 m个仓库,第 i个仓库的存储容量为 为 bj(j 1,
2
解:设所求的K-T点为x*=(x1,x2)T ,有
4x 1 2x 2 10 f (x * ) 2x 2x 10 , 1 2 2x 1 3 * g 1(x ) , g ( x ) 2 1 2x 2
称 k 为最优步长,且有对关于 k 的函数f 的梯度
f ( x k k d k )T d k 0
约束问题的最优化方法
大多数实际问题都是约束问题,且求解约束问题比无约束问题困 难得多。
min f(x ) s.t. g i(x ) 0, i 1, , p
假定X0 是上面问题的一个可行解,对于约束条件 g i(x ) 0 来说, X0满足它有两种情况:
求解一般的 LP问题: ①图解法 ②单纯形法
4x1
≤16
4x2 ≤12
x1, x2 ≥0
因为x1、x2均为整数,故采用列举法可得到解。
非线性规划(Nonlinear Programming)
定义:
若一个规划问题的目标函数和约束条件中,至少有一个方程是 决策变量的非线性函数,将该类问题称为非线性规划。
ai(i 1, 2, ,m ). 试确定仓库的位置,使各仓库对各市场的运输量
与路程乘积之和为最小。
2, ,m , 解:设第 i 个仓库的位置为 (xi ,y i ), i 1,
2, ,m , j 1, 2, ,n ). 第 i 个仓库到第 j 个市场的货物供应量为 zij(i 1, 则第 i 个仓库到第 j 个市场的距离为
min s.t. 库恩-塔克(K-T)条件
f(x) g( i x) 0 h( j x) 0
i 1, , p j 1, ,q
II. 同时含有等式与不等式约束
设S={x|gi(x) ≤0},x*∈S,I为x*点处的起作用集,设f(x), gi(x) ,i ∈I在x*点 可微,gi(x) ,i I在x*点连续, hj(x)(j=1,2,…,)在点x* 处连续可微。向量 集{▽gi(x*), ▽hj(x*), i ∈I, j=1,2,…}线性无关。如果x*是局部最优解, 那么存在 向量 件成立:
(1)每个仓库向各市场提供的货物量之和不能超过它的存储容量。 n zij ai , i 1,2,, m
j 1
m
(2)每个市场从各仓库得到的货物量之和应等于它的需要量。
z
i 1
ij
b j , j 1,2,, n
(3)运输量不能为负数
zij 0, i 1,2,, m, j 1,2,, n
库恩-塔克(K-T)条件
I. 只含有不等式约束
若X*是局部最优解, 则必有 f(x * ) 与g 1(x * ) 在 一条直线上且方向相反, 即 f(x * ) 1g1(x * ) 0, 1 0
(1)X*位于一个约束条件形成的边界上,故有g1(x*)=0.
库恩-塔克(K-T)条件
I. 只含有不等式约束
* (x * )与g 2(x ) 所形成的夹角内,否则X*点必可 f(x * ) 必位于 g 1
(2)X*同时位于两个约束条件形成的边界上,即g1(x*)=0, g2(x*)=0.
找到一个可行下降方向。即必存在 1 0, 2 0 使
f(x * ) 1g1(x * ) 2g 2(x * ) 0
非线性规划的数学模型
数学模型的一般形式:
min s.t.
f(x ) g i(x ) 0, hj(x ) 0,
可行域和可行解
g i ( x ) 0, i 1, , p n i 1, , p X x R h ( x ) 0 , j 1 , , q i j 1, ,q
最优化方法
简介
最优化问题:
给定一个函数,寻找一个满足约束条件的解使该函数取得最大 值或者最小值。
许多实际问题或理论问题都可以建模成最优化问题来求解。
常用的最优化方法:
线性规划、非线性规划、整数规划 、目标规划、动态规划……
线性规划问题的数学模型
目标函数
线性规划(Linear Programming)
若f(x )在x 可导,则 - f(x )就是
f(x )在x处下降最快的方向。
函数在一点的下降方向,就是使函数值减小的方向。一般 f(x)在点 x 的下降方向不止一个,可能有无穷多个。
特殊搜索方向—可行下降方向
设X R n ,x X ,p R n ,p 0,若存在t 0,使得x tp X
约束条件是一组多个决策 变量的线性不等式或等式。
x1 , x2 , … , xn ≥0.
Q: 如何判断一个问题是否是线性规划问题?
线性规划问题举例
某工厂在计划期内安排生产两种产品,已知生产单位产 品所需的设备台时、A、B两种原材料的消耗及两种产品每件 可获利润如下表所示。问如何安排计划使该工厂获利最多?
库恩-塔克(K-T)条件
由以上分析归纳出下述定理(最优性必要条件)
设S={x|gi(x) ≤0},x*∈S,I为x*点处的起作用集,设f, gi(x) ,i ∈I在x* 点可微,gi(x) ,iI在x*点连续。向量组{▽gi(x*), i ∈I}线性无关。如 果x*是局部最优解,那么存在 ui≥0, i ∈I使
凸函数: 设S R n 是非空凸集, f : S R 1,若对 (0, 1 )有
f(x 1 (1 ) x 2 ) f(x 1 ) (1 ) f(x 2 ),x 1,x 2 S 则称f是S上的凸函数,或 f在S上是凸的。
凸规划
定义:目标函数是凸函数,可行域是凸集的规划问题。
*
K-T条件求解举例
将定理中的向量方程拆分成分量形式,有:
4x 1 2x 2 10 2 1x 1 3 2 0 2x 1 2x 2 10 2 1x 2 2 0 2 2 1(5 x 1 x2 ) 0 2(6 3x 1 x 2 ) 0 1 0 2 0
K-T条件求解举例
2
m l * * * * * f (x ) i g i(x ) j hj(x ) 0, i 1 j 1 * * 1, 2, , m , i g i(x ) 0,i ` * 1, 2, , m . i 0,i `
利用K-T条件求解下列非线性问题。
min Biblioteka Baidu(x1,x 2 ) 2x1 2x1x 2 x 2 10x1 10x 2
2 2 g 1(x 1 ,x 2 ) x 1 x 2 5 0 s. t g 2(x 1 ,x 2 ) 3x 1 x 2 6 0
T x (x1,x 2 , ,x n ) ,f(x ) 、gi(x ) 、hj(x ) 至少一个为非线性函数。 其中,
对于非线性规划,若没有 gi ( x ), h j ( x ) ,即X=Rn, 称为无约束非线性规 划 ,否则称为约束非线性规划。
凸集与凸函数
一个点集(或区域),如果连接其中任意两点x1,x2的线段全 都包含在该集合内,就称该点集为凸集。
对于非线性规划(NP), min s.t.
f(x) g( i x) 0 h( j x) 0
i 1, , p j 1, ,q
若gi(x ) 皆为R n 上的凸函数 ,hj(x ) 皆为线性函数, 并且f (x ) 是X上的凸函数,则 NP是凸规划。
注:凸规划的局部最优解即全局最优解,且全局最优解连成一片构成凸集。 若目标函数是严格凸函数,又存在极小点,此时全局最优解唯一。
(1)给出初始点 x
0
,令
;
(3)按照某种规则确定搜索步长 f ( xk kd k ) f ( xk ) ;
k
,使得
(4)令
, x k 1 x k k d k k : k 1 ;
(5)判断
x k 是否满足停止条件。 满足则停止,否则转第2步。
搜索步长确定方法:
f ( x k k d k ) min f ( x k d k )
1. g i(x 0) 0 ,这时 X0 不在由该约束条件形成的可行域边界上, 称这一约束条件为X0 点的不起作用约束;
2. g i(x 0) 0 , 此时X0 处于由该约束条件形成的可行域边界上, 这一约束对 X0 点的进一步摄动起到某种限制作用,称它为 X0 点的 起作用约束。等式约束条件对所有可行解都是起作用约束。
d ij (x i p j )2 (y i q j )2 ,
市场
仓库
非线性问题举例
目标函数为
仓库
m n
市场
min
约束条件为
zijd ij
i 1 j 1
m
n
2 2 z ( x p ) ( y q ) , ij i j i j
i 1 j 1
非线性
非线性问题的一般求解方法– 迭代法
给定初始点x0 根据x0,依次迭代产生点列{xk}
{xk}有限
{xk}无限
{xk}的最后一点为最优解
{xk}收敛于最优解
特殊搜索方向—下降方向
设f : R n R 1,x R n ,p R n ,p 0,若存在 0,使
f(x tp ) f(x ), t (0, ) 则称向量 p是函数f(x ) 在点 x处的下降方向。
Ⅰ 设备 原材料A 原材料B 利润 1台时 4公斤 0公斤 2元/件 Ⅱ 2台时 0公斤 4公斤 3元/件 资源总量 8台时 16公斤 12公斤
假设x1、x2分别表示在计划期内生产产品Ⅰ、Ⅱ的数量,则该计划问 题可用如下数学模型表示: 目标函数: max Z= 2x1+3x2 约束条件 x1+2x2 ≤8
求解上述方程组,即可求出 1, 2 ,x1,x 2,则可得到满足K-T条件的解。 求解非线性方程组时一般要用松紧条件(即上述第3、第4个方 程), 实质是分析x*点处,哪些是不起作用约束,以便得到 i 0 。 下面分情况讨论:
max(min)z =c1x1+c2x2+…+cnxn; 约束条件 a11x1+a12x2+…+a1nxn≤=≥b1,
a21x1+a22x2+…+a2nxn≤=≥b2,
………………………………………… am1x1+am2x2+…+amnxn≤=≥bm;
则称向量 p是点x处关于X的可行方向。
当 x 位于X内部时,任一个方向都是可 行方向。当 x 位于X边界上时,有一部 分是可行方向,一部分是不可行方向。
注:解非线性规划问题,关键在于找到某个方向,使得在此方 向上,目标函数得到下降,同时还是可行方向。这样的方向称 为可行下降方向。
下降迭代算法步骤
k0 ; k (2)按照某种规则确定下降搜索方向 d
*
T ( 1 , 2 , , m )
*
*
*
和
T * (1 ,2 , ,l )
*
*
*
,使下述条
m l * * * * * f ( x ) g ( x ) i i j hj (x ) 0, i 1 j 1 * * 1, 2, , m , i g i(x ) 0,i ` * 1, 2, , m . i 0,i `
特点:
近年来发展较快,不断提出各种算法。 应用范围越来越广,如管理科学、最优设计、质量控制等。 求解较为困难,不像线性规划有统一的数学模型和通用解法。它 的各种算法都有特定的局限性,还没有一般的求解算法。
非线性问题举例
(pj ,qj ) ,它对某种货物的需要量 设有n个市场,第 j个市场位置为 2, ,n ) 。现计划建立 m个仓库,第 i个仓库的存储容量为 为 bj(j 1,
2
解:设所求的K-T点为x*=(x1,x2)T ,有
4x 1 2x 2 10 f (x * ) 2x 2x 10 , 1 2 2x 1 3 * g 1(x ) , g ( x ) 2 1 2x 2
称 k 为最优步长,且有对关于 k 的函数f 的梯度
f ( x k k d k )T d k 0
约束问题的最优化方法
大多数实际问题都是约束问题,且求解约束问题比无约束问题困 难得多。
min f(x ) s.t. g i(x ) 0, i 1, , p
假定X0 是上面问题的一个可行解,对于约束条件 g i(x ) 0 来说, X0满足它有两种情况:
求解一般的 LP问题: ①图解法 ②单纯形法
4x1
≤16
4x2 ≤12
x1, x2 ≥0
因为x1、x2均为整数,故采用列举法可得到解。
非线性规划(Nonlinear Programming)
定义:
若一个规划问题的目标函数和约束条件中,至少有一个方程是 决策变量的非线性函数,将该类问题称为非线性规划。
ai(i 1, 2, ,m ). 试确定仓库的位置,使各仓库对各市场的运输量
与路程乘积之和为最小。
2, ,m , 解:设第 i 个仓库的位置为 (xi ,y i ), i 1,
2, ,m , j 1, 2, ,n ). 第 i 个仓库到第 j 个市场的货物供应量为 zij(i 1, 则第 i 个仓库到第 j 个市场的距离为
min s.t. 库恩-塔克(K-T)条件
f(x) g( i x) 0 h( j x) 0
i 1, , p j 1, ,q
II. 同时含有等式与不等式约束
设S={x|gi(x) ≤0},x*∈S,I为x*点处的起作用集,设f(x), gi(x) ,i ∈I在x*点 可微,gi(x) ,i I在x*点连续, hj(x)(j=1,2,…,)在点x* 处连续可微。向量 集{▽gi(x*), ▽hj(x*), i ∈I, j=1,2,…}线性无关。如果x*是局部最优解, 那么存在 向量 件成立:
(1)每个仓库向各市场提供的货物量之和不能超过它的存储容量。 n zij ai , i 1,2,, m
j 1
m
(2)每个市场从各仓库得到的货物量之和应等于它的需要量。
z
i 1
ij
b j , j 1,2,, n
(3)运输量不能为负数
zij 0, i 1,2,, m, j 1,2,, n
库恩-塔克(K-T)条件
I. 只含有不等式约束
若X*是局部最优解, 则必有 f(x * ) 与g 1(x * ) 在 一条直线上且方向相反, 即 f(x * ) 1g1(x * ) 0, 1 0
(1)X*位于一个约束条件形成的边界上,故有g1(x*)=0.
库恩-塔克(K-T)条件
I. 只含有不等式约束
* (x * )与g 2(x ) 所形成的夹角内,否则X*点必可 f(x * ) 必位于 g 1
(2)X*同时位于两个约束条件形成的边界上,即g1(x*)=0, g2(x*)=0.
找到一个可行下降方向。即必存在 1 0, 2 0 使
f(x * ) 1g1(x * ) 2g 2(x * ) 0
非线性规划的数学模型
数学模型的一般形式:
min s.t.
f(x ) g i(x ) 0, hj(x ) 0,
可行域和可行解
g i ( x ) 0, i 1, , p n i 1, , p X x R h ( x ) 0 , j 1 , , q i j 1, ,q
最优化方法
简介
最优化问题:
给定一个函数,寻找一个满足约束条件的解使该函数取得最大 值或者最小值。
许多实际问题或理论问题都可以建模成最优化问题来求解。
常用的最优化方法:
线性规划、非线性规划、整数规划 、目标规划、动态规划……
线性规划问题的数学模型
目标函数
线性规划(Linear Programming)
若f(x )在x 可导,则 - f(x )就是
f(x )在x处下降最快的方向。
函数在一点的下降方向,就是使函数值减小的方向。一般 f(x)在点 x 的下降方向不止一个,可能有无穷多个。
特殊搜索方向—可行下降方向
设X R n ,x X ,p R n ,p 0,若存在t 0,使得x tp X
约束条件是一组多个决策 变量的线性不等式或等式。
x1 , x2 , … , xn ≥0.
Q: 如何判断一个问题是否是线性规划问题?
线性规划问题举例
某工厂在计划期内安排生产两种产品,已知生产单位产 品所需的设备台时、A、B两种原材料的消耗及两种产品每件 可获利润如下表所示。问如何安排计划使该工厂获利最多?
库恩-塔克(K-T)条件
由以上分析归纳出下述定理(最优性必要条件)
设S={x|gi(x) ≤0},x*∈S,I为x*点处的起作用集,设f, gi(x) ,i ∈I在x* 点可微,gi(x) ,iI在x*点连续。向量组{▽gi(x*), i ∈I}线性无关。如 果x*是局部最优解,那么存在 ui≥0, i ∈I使
凸函数: 设S R n 是非空凸集, f : S R 1,若对 (0, 1 )有
f(x 1 (1 ) x 2 ) f(x 1 ) (1 ) f(x 2 ),x 1,x 2 S 则称f是S上的凸函数,或 f在S上是凸的。
凸规划
定义:目标函数是凸函数,可行域是凸集的规划问题。
*
K-T条件求解举例
将定理中的向量方程拆分成分量形式,有:
4x 1 2x 2 10 2 1x 1 3 2 0 2x 1 2x 2 10 2 1x 2 2 0 2 2 1(5 x 1 x2 ) 0 2(6 3x 1 x 2 ) 0 1 0 2 0
K-T条件求解举例
2
m l * * * * * f (x ) i g i(x ) j hj(x ) 0, i 1 j 1 * * 1, 2, , m , i g i(x ) 0,i ` * 1, 2, , m . i 0,i `
利用K-T条件求解下列非线性问题。
min Biblioteka Baidu(x1,x 2 ) 2x1 2x1x 2 x 2 10x1 10x 2
2 2 g 1(x 1 ,x 2 ) x 1 x 2 5 0 s. t g 2(x 1 ,x 2 ) 3x 1 x 2 6 0
T x (x1,x 2 , ,x n ) ,f(x ) 、gi(x ) 、hj(x ) 至少一个为非线性函数。 其中,
对于非线性规划,若没有 gi ( x ), h j ( x ) ,即X=Rn, 称为无约束非线性规 划 ,否则称为约束非线性规划。
凸集与凸函数
一个点集(或区域),如果连接其中任意两点x1,x2的线段全 都包含在该集合内,就称该点集为凸集。
对于非线性规划(NP), min s.t.
f(x) g( i x) 0 h( j x) 0
i 1, , p j 1, ,q
若gi(x ) 皆为R n 上的凸函数 ,hj(x ) 皆为线性函数, 并且f (x ) 是X上的凸函数,则 NP是凸规划。
注:凸规划的局部最优解即全局最优解,且全局最优解连成一片构成凸集。 若目标函数是严格凸函数,又存在极小点,此时全局最优解唯一。
(1)给出初始点 x
0
,令
;
(3)按照某种规则确定搜索步长 f ( xk kd k ) f ( xk ) ;
k
,使得
(4)令
, x k 1 x k k d k k : k 1 ;
(5)判断
x k 是否满足停止条件。 满足则停止,否则转第2步。
搜索步长确定方法:
f ( x k k d k ) min f ( x k d k )
1. g i(x 0) 0 ,这时 X0 不在由该约束条件形成的可行域边界上, 称这一约束条件为X0 点的不起作用约束;
2. g i(x 0) 0 , 此时X0 处于由该约束条件形成的可行域边界上, 这一约束对 X0 点的进一步摄动起到某种限制作用,称它为 X0 点的 起作用约束。等式约束条件对所有可行解都是起作用约束。
d ij (x i p j )2 (y i q j )2 ,
市场
仓库
非线性问题举例
目标函数为
仓库
m n
市场
min
约束条件为
zijd ij
i 1 j 1
m
n
2 2 z ( x p ) ( y q ) , ij i j i j
i 1 j 1
非线性
非线性问题的一般求解方法– 迭代法
给定初始点x0 根据x0,依次迭代产生点列{xk}
{xk}有限
{xk}无限
{xk}的最后一点为最优解
{xk}收敛于最优解
特殊搜索方向—下降方向
设f : R n R 1,x R n ,p R n ,p 0,若存在 0,使
f(x tp ) f(x ), t (0, ) 则称向量 p是函数f(x ) 在点 x处的下降方向。
Ⅰ 设备 原材料A 原材料B 利润 1台时 4公斤 0公斤 2元/件 Ⅱ 2台时 0公斤 4公斤 3元/件 资源总量 8台时 16公斤 12公斤
假设x1、x2分别表示在计划期内生产产品Ⅰ、Ⅱ的数量,则该计划问 题可用如下数学模型表示: 目标函数: max Z= 2x1+3x2 约束条件 x1+2x2 ≤8
求解上述方程组,即可求出 1, 2 ,x1,x 2,则可得到满足K-T条件的解。 求解非线性方程组时一般要用松紧条件(即上述第3、第4个方 程), 实质是分析x*点处,哪些是不起作用约束,以便得到 i 0 。 下面分情况讨论: