罚函数法
考虑问题:
取一个充分大的数M>0,构造函数
增广目标函数P(x,M)为目标函数的无约束极值问题 min P(x,M)的最优解x 也是原问题的最优解。
例
求下列非线性规划
解
(i) 编写 M 文件 test.m
function
g=test(x);
%M为足够大的数
M=50000;
%f为目标函数
f=x(1)^2+x(2)^2+8;
%把约束条件写成标准形式
g=f-M*min(x(1),0)-M*min(x(2),0)-M*min(x(1)^2-x(2),0)+
M*abs(-x(1)-x(2)^2+2);
[x,y]=fminunc('test',rand(2,1))
即可求得问题的解。