求解约束非线性规划问题的MATLAB函数是fmincon,它要求目标函数、约束函数和函数梯度都是连续的,而且该函数是根据给出的初始值来进行梯度步长收敛的,一般只能搜索到局部最优解。约束非线性规划问题的数学模型表示为
函数fmincon的调用格式是:
其中,输出参数有:
● xopt是返回目标函数的最优解。
● fopt是返回目标函数在最优解x点的函数值。
● exitflag是返回算法的终止标志。
● hessian是返回目标函数在最优解x点的Hessian矩阵值。
输入参数有:
● fun是调用目标函数的函数文件名。
● x0是初始点。
● 线性不等式约束条件的系数矩阵A和常数向量b。
● 线性等式约束条件的系数矩阵Aeq和常数向量beq。
● ‘Nlc’是定义非线性约束条件的函数名。(www.xing528.com)
● options是设置优化选项参数,见表8-1。
● P1、P2等是传递给fun的附加参数。
参数A,b,Aeq,beq,Lb,Ub,options如果没有定义,可用空矩阵符号“[]”代替。
例8-11 求解约束非线性规划问题
在该约束非线性规划问题的数学模型中,g1(X)≤0和g2(X)≤0是非线性不等式约束,g3(X)≤0是线性不等式约束,g4(X)≤0、g5(X)≤0、g6(X)≤0和g7(X)≤0是设计变量的边界条件。
说明:在优化函数fmincon的输入参数“options”命令中各个选项的意义是:
●′ largescale′,′off′表示关闭了大规模方式。
●′ display′用来控制计算过程的显示。
●′ iter′表示显示优化过程的每次计算结果(′off′不显示所有输出,′final′仅输出最后结果)。
M文件运行结果:
说明:M文件运行的输出信息表明,使用拟牛顿线搜索算法,经过8次迭代,得到目标函数的极小点和最优函数值由于10-1和非常接近零,可见约束最优解X*位于两个非线性不等式约束的交集上。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。