非线性规划模型

  • 格式:docx
  • 大小:153.64 KB
  • 文档页数:9

非线性规划模型

非线性规划模型

在上一次作业中,我们对线性规划模型进行了相应的介绍及优缺点,然而在实际问题中并不是所有的问题都可以利用线性规划模型求解。实际问题中许多都可以归结为一个非线性规划问题,即如果目标函数和约束条件中包含有非线性函数,则这样的问题称为非线性规划问题。一般来说,解决非线性的问题要比线性的问题难得多,不像线性规划有适用于一般情况的单纯形法。对于线性规划来说,其可行域一般是一个凸集,只要存在最优解,则其最优解一定在可行域的边界上达到;对于非线性规划,即使是存在最优解,却是可以在可行域的任一点达到,因此,对于非线性规划模型,迄今为止还没有一种适用于一般情况的求解方法,我们在本文中也只是介绍了几个比较常用的几个求解方法。

一、非线性规划的分类

1无约束的非线性规划

当问题没有约束条件时,即求多元函数的极值问题,一般模型为

min0xRfXX

此类问题即为无约束的非线性规划问题

1.1无约束非线性规划的解法

1.1.1一般迭代法

即为可行方向法。对于问题min0xRfXX

给出)(xf的极小点的初始值)0(X,按某种规律计算出一系列的),2,1()(kXk,希望点阵}{)(kX的极限X就是)(xf的一个极小点。

由一个解向量)(kX求出另一个新的解向量)1(kX

向量是由方向和长度确定的,所以),2,1()1(kPXXkkkk

即求解k和kP,选择k和kP的原则是使目标函数在点阵上的值逐步减小,即

.)()()(10kXfXfXf

检验}{)(kX是否收敛与最优解,及对于给定的精度0,是否||)(||1kXf。

1.1.2一维搜索法

当用迭代法求函数的极小点时,常常用到一维搜索,即沿某一已知方向求目标函数的极小点。一维搜索的方法很多,常用的有:

(1)试探法(“成功—失败”,斐波那契法,0.618法等);

(2)插值法(抛物线插值法,三次插值法等);

(3)微积分中的求根法(切线法,二分法等)。

考虑一维极小化问题

)(mintfbta

若)(tf是],[ba区间上的下单峰函数,我们介绍通过不断地缩短],[ba的长度,来搜索得)(mintfbta的近似最优解的两个方法。通过缩短区间],[ba,逐步搜索得)(mintfbta的最优解*t的近似值

2.1.3梯度法

选择一个使函数值下降速度最快的的方向。把)(xf在)(kX点的方向导数最小的方向作为搜索方向,即令)(kkXfP.

计算步骤:

(1)选定初始点0X和给定的要求0,0k;

(2)若||)(||kXf,则停止计算,kXX*,否则)()(kkXfP;

(3)在)(kX处沿方向)(kP做一维搜索得1,)1(kkPXXkkkk令,返回第二步,直到求得最优解为止.可以求得:

.)()()()()()()()()()(kkTkkTkkXfXHXfXfXf•••

,))(,,)(,)(()()(2)(1)()(TnkkkkxXfxXfxXfXf

nnknknknkkknkkkkxxXfxxXfxxXfxxXfxxXfxxXfxXfxXfxXfXH)(,,)(,)()(,,)(,)()(,,)(,)()()(2)(1)(2)(22)(12)()(2)(1)()(

2.1.4共轭梯度法

又称共轭斜量法,仅适用于正定二次函数的极小值问题:

cXBAXXXfTT21)(min

A为nn阶实对称正定阵为常数cEBXn,,

从任意初始点)1(X和向量)()1()1(XfP出发,由

)()()()()()()1()())(()(min,kTkkTkkkkkkkkkAPPPXfPXfPXX

和)1,,2,1()()()(,)()()()()1()()1()1(nkAPPPAXfPXfPkTkTkkkkkkk

可以得到——能够证明向量——是线性无关的,且关于A是两两共轭的。从而可得到——,则——为——的极小点。

计算步骤:

(1)对任意初始点nEX)1(和向量)()1()1(XfP,取;1k

(2)若0)()(kXf,即得到最优解,停止计算,否则求

)()()()()()()1()())(()(min,kTkkTkkkkkkkkkAPPPXfPXfPXX

)1,,2,1()()()(,)()()()()1()()1()1(nkAPPPAXfPXfPkTkTkkkkkkk

(3)令1kk;返回(2)

2.1.5牛顿法

对于问题:

cXBAXXXfTT21)(min

由,0)(BAXXf则由最优条件,0)(Xf当A为正定时,1A存在,于是有BAX1*为最优解

2.1.6拟牛顿法

对于一般的二阶可微函数)(Xf,在)(kX点的局部有

))(()(21)()()()()()(2)()()()(kkTkkTkkXXXfXXXXXfXfXf

当)()(2kXf正定时,也可用上面的牛顿法,这就是拟牛顿法。

计算步骤:

(1)任取nEX)1(,;1k

(2)计算)()(kkXfg,若0kg,则停止计算,否则计算)()()(2kkXfXH,令kkkkgXHXX1)1())((;

(3)令1kk;返回(2)

2有约束的非线性规划

2.1非线性规划的最优性条件

若*X是非线性问题中的极小点,且对点*X有效约束的梯度线性无关,则必存在向量****12,,,TmL使下述条件成立:

***1***00,1,2,,m0,1,2,,mmjjjjjjfXgXgXjjLL

此条件为库恩-塔克条件(K-T条件),满足K-T条件的点也称为K-T点。

K-T条件是非线性规划最重要的理论基础,是确定某点是否为最优解的必要条件,但不一定是充要条件。对于凸规划它一定是充要条件。

2.2非线性规划的可行方向法

由于线性规划的目标函数为线性函数,可行域为凸集,因而求出的最优解就是整个可行域上的全局最优解。非线性规划却不然,有时求出的某个解虽是一部分可行域上的极值点,但并不一定是整个可行域上的全局最优解。

假设kX非线性规划问题中的一个可行解,但不是最优解,为了进一步寻找最优解在它的可行下降方向中选取其中一个方向kD,并确定最佳步长k,使得

11,0,1,2,.kkkkkkXXDRkfXfXL

反复进行这一过程,直到得到满足精度要求为止,这种方法称为可行方向法,也称迭代法。

2.3有约束非线性规划的解法

2.3.1外点法

(1)对于等式约束问题

,,2,1,0)(),(minmixhXfi

做辅助函数

)()(),(121XhMXfMXPmjj

如果最优解X满足或近似满足,),,2,1(0)(*mjXhi则X就是问题的最优解或近似解

(2)对于不等式约束问题

做辅助函数

mjjXgMXfMXP122)}](,0[min{)(),(

求),(min2MXPX.

(3)对于一般问题

做辅助函数

)()(),(3XMPXfMXP

mjjmjjXgMXhMXP12212)}](,0[min{|)(|)(

求解),(min3MXPX

2.3.2内点法

内点法是在可行域内进行得,并一直保持在可行域内进行搜索,只适用于不等式约束的问题

辅助函数:

)()(),(XrBXfrXQ

X趋于R的边界时,使)(XB趋向于正无穷,)(XB的常用形式

mjjmjjXgXBXgXB11)]([ln-)()(1)(和

求解},,2,1,0)(|{),(min00mjXgXRrXQjRX

二.非线性规划的缺陷不足

算法 优点 缺点

梯度法 计算量小,存储变量较少,初始点要求不高 初值依赖,收敛慢,最速下降法适用于寻优过程的前期迭代或作为间插步骤,越接近极值点时,收敛熟读越慢,后期宜选用收敛快的算法

牛顿法 收敛速度很快 当维数较高时,计算的工作量很大,初值依赖,当初值选择不好时,有可能计算出现异常,导致迭代无法进行,该法需要修正

拟牛顿法 收敛速度快,避免牛顿矩阵求逆运算,算法更稳定 初值依赖程度相对牛顿法减弱,但仍然存在