heijian20 发表于 2009-10-2 09:15

罚函数法有没有Matlab

罚函数法谁有用Matlab编写的程序?

paradiseboy 发表于 2009-11-8 19:55

一本书上的例子
% 惩罚函数--外点法(例6-4)
% 数学模型
syms x
f=x;g=x-1;
% 惩罚因子初值、递增系数、迭代次数
r0 = 0.25;c = 2; km = 7;
k = 1:km;            % 迭代计数
r=r0*c.^(k-1);         % 惩罚因子递增数列
x=1-1./(2.*r);         % 点列x*(k)
g=x-1;               % 约束函数g
f=x;                   % 目标函数f
p=x+r.*g.^2;         % 惩罚函数p
disp '               ******    计算结果    ******'
disp '迭代次数 k'

disp '惩罚因子 r'

disp '极小点列 x*'

disp '目标函数 f*'

disp '惩罚函数 p*'

paradiseboy 发表于 2009-11-8 20:00

% 惩罚函数--内点法(例6-5)
% 数学模型
syms x
f=x;g=x-1;
% 惩罚因子初值、递减系数、迭代次数
r0 = 1;c = 0.1; km = 7;
k = 1:km;            % 迭代计数
r=r0*c.^(k-1);         % 惩罚因子递减数列
x=1+sqrt(r);         % 点列x*(k)
g=x-1;               % 约束函数g
f=x;                   % 目标函数f
p=x+r./g;            % 惩罚函数p
disp '               ******    计算结果    ******'
disp '迭代次数 k'

disp '惩罚因子 r'

disp '极小点列 x*'

disp '目标函数 f*'

disp '惩罚函数 p*'
页: [1]
查看完整版本: 罚函数法有没有Matlab