首页 理论教育 无约束非线性规划模型应用指南

无约束非线性规划模型应用指南

时间:2023-11-17 理论教育 版权反馈
【摘要】:非线性规划一般分为两大类:有约束的非线性规划。无约束的非线性规划。没有约束条件,只求目标函数的最值,也即2. 无约束非线性规划的解法高等数学中讨论了求二元函数极值的方法,此方法可以推广到无约束非线性规划问题中。

无约束非线性规划模型应用指南

1. 非线性规划模型

与线性规划不同,非线性规划的目标函数或约束条件至少有一个非线性函数,我们可以概括为如下形式:

满足约束条件的x的取值范围称为可行域。我们知道线性规划的可行解如果存在,则其最优解一定在可行域的边界达到(可行域的顶点达到),但非线性规划与线性规划不同,非线性规划的最优解如果存在,它可能在可行域的任意一点达到。非线性规划一般分为两大类:

(1)有约束的非线性规划。

(2)无约束的非线性规划。没有约束条件,只求目标函数的最值,也即

2. 无约束非线性规划的解法

高等数学中讨论了求二元函数极值的方法,此方法可以推广到无约束非线性规划问题中。

例1 求多元函数f (x ,y)=(6x -x2)(4y -y2)的极值。

解 解方程组

求得驻点(0, 0),(0, 4),(3, 2),(6, 0),(6, 4)。

求二阶偏导数

得Hessian矩阵

根据Hessian矩阵判断多元函数极值的方法:当A正定时,函数f(x,y)取得极小值;当A负定时,函数f(x,y)取得极大值;A不定时,函数f(x,y)未取得极值;当A半正定或半负定时,函数f(x,y)不能判断是否取得极值,可用其他方法判断。所以,点(0, 0),(0, 4),(3, 2),(6, 0),(6, 4)不是极值点;(3,2) 为极大值点,对应的极大值为f(3,2)=36。(www.xing528.com)

MATLAB程序如下:

3. 无约束非线性规划的数值解法

对于无约束非线性规划问题min()n f x(x∈R),MATLAB中函数fminunc和fminsearch也可以求解,其基本命令为

[x, fval]=fminunc(fun, x0, options)

其中:返回值x是所求得的极小值点;返回值fval是函数的极小值。fun是一个M函数,当fun只有一个返回值时,它的返回值是函数f(x);当fun有两个返回值时,它的第二个返回值是f(x)的梯度向量;当fun有三个返回值时,它的第三个返回值是f(x)的二阶导数Hessian阵。x0是x的初始值;options是优化参数,可以使用默认参数。

这个函数只能求给定的初始值x0附近的一个极小值点。

例2 求多元函数f (x ,y )=x 3-y3+2x2+2y2-8x的极值。

解 用函数fminunc和fminsearch来求数值解。

MATLAB程序如下:

求得(1.097 2, 0)为极小值点,对应的极小值为-5.049 0,(-2.430 5,1.333 3)为极大值点,对应的极小值为18.0861。

注:fminsearch只能求得给定的初始值附近的一个极值点。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈