理论教育 有约束的多元函数最小值

有约束的多元函数最小值

时间:2023-11-17 理论教育 版权反馈
【摘要】:非线性有约束的多元函数的标准形式为:其中,x,b,beq,lb,ub是向量;A,Aeq为矩阵;C,Ceq是返回向量的函数;f为目标函数。在MATLAB中,它的求解由函数constr实现。例5.16求下面问题在初始值点(0,1)处的最优解。解约束条件的标准形式为先在MATLAB编辑器中建立非线性约束函数文件:然后在命令窗口键入如下命令或建立m文件:结果为:例5.17求最优值。

有约束的多元函数最小值

线性有约束的多元函数的标准形式为:

其中,x,b,beq,lb,ub是向量;A,Aeq矩阵;C(x),Ceq(x)是返回向量的函数;f(x)为目标函数。f(x),C(x),Ceq(x)可以是非线性函数。

在MATLAB中,它的求解由函数constr实现。

函数fmincon格式:

参数说明:

fun为目标函数,它可用前面的方法定义;

x0为初始值;

A,b满足线性不等式约束A·x≤b,若没有不等式约束,则取A=[ ],b=[ ];

Aeq,beq满足等式约束Aeq·x=beq,若没有等式约束,则取Aeq=[ ],beq=[ ];

lb,ub满足lb≤x≤ub,若没有界,可设lb=[ ],ub=[ ]。

lambda是拉格朗日乘子,它体现哪一个约束有效;

output为输出优化信息;

grad表示目标函数在x处的梯度;(www.daowen.com)

hessen表示目标函数在x处的Hessen值;

nonlcon的作用是通过接受的向量x来计算非线性不等式约束C(x)≤0和等式约束Ceq(x)=0分别在x处的估计C和Ceq,通过指定函数柄来使用,如>>x=fmincon(@myfun,x0,A,b,Aeq,lb,ub,@myfun),先建立非线性约束函数,并保存为

myfun.m:function[C,Ceq]=mycon(x)

C为x处的非线性不等约束C(x)≤0的函数值;

Ceq为x处的非线性等式约束Ceq(x)=0的函数值。

例5.16 求下面问题在初始值点(0,1)处的最优解。

解约束条件的标准形式为

先在MATLAB编辑器中建立非线性约束函数文件:

然后在命令窗口键入如下命令或建立m文件:

结果为:

例5.17 求最优值。

结果为:

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

我要反馈