首页 理论教育 无约束规划的数学实验:MATLAB软件实现

无约束规划的数学实验:MATLAB软件实现

时间:2023-11-23 理论教育 版权反馈
【摘要】:实际中许多较复杂的问题都可归结为一个非线性规划问题,即如果目标函数和约束条件中包含非线性函数,则这样的规划问题称为非线性规划问题.解决这类问题要用非线性的方法,但一般说来,解决非线性的问题要比解决线性的问题困难得多,不像线性规划有适用于一般情况的单纯形法.线性规划的可行域一般是一个凸集,如果线性规划存在最优解,则其最优解一定在可行域的边界上达到(特别是在可行域的顶点上达到).而对于非线性规划,即便

无约束规划的数学实验:MATLAB软件实现

实际中许多较复杂的问题都可归结为一个非线性规划问题,即如果目标函数和约束条件中包含非线性函数,则这样的规划问题称为非线性规划问题.解决这类问题要用非线性的方法,但一般说来,解决非线性的问题要比解决线性的问题困难得多,不像线性规划有适用于一般情况的单纯形法.线性规划的可行域一般是一个凸集,如果线性规划存在最优解,则其最优解一定在可行域的边界上达到(特别是在可行域的顶点上达到).而对于非线性规划,即便存在最优解,也可以在其可行域的任何点达到.因此,对于非线性规划问题,到目前为止还没有一种适用于一般情况的求解方法,现有各种方法都有各自特定的适用范围,为此,这也是一个正处于研究发展中的学科领域.

当问题无约束条件时,称为无约束的非线性规划问题,即为求多元函数的极值问题,一般模型为

它的最优解都是局部最优解,全局最优解只能从局部最优解的比较中得到.

MATLAB优化工具箱函数命令:

x=fminbnd(fun,x0,x1):用于求解一元函数在区间(x0,x1)的无约束极小化问题,fun为函数形式的M-文件(fun.m)的文件名命令.

x=fminunc(fun,x0)或x=fminsearch(fun,x0):求解多元函数的无约束极小化问题,x0为迭代的初值.(www.xing528.com)

x=fminunc(fun,x0,options)或x=fminsearch(fun,x0,options):求解多元函数的无约束极小化问题.

fminbnd和fminsearch也可直接定义函数,或用匿名函数方式直接调用,如:@(x)sin(x);.fminsearch用单纯形法求解,fminunc的求解方法由options(6)(方向)和options(7)(步长)指定.options(6)=0为拟牛顿法(BFGS公式);options(6)=1为拟牛顿法(DFP公式);options(6)=2为最速下降法;options(7)=0为混合的二次和三次多项式插值;options(7)=1为三次多项式插值.

例4.23 求f=2e-xsin x在(0,8)上的最大值和最小值.

解:

即最小值f(3.927 0)=-0.027 9,最大值f(0.785 4)=0.644 8.

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

我要反馈