声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 3549|回复: 2

[其他相关] 罚函数法有没有Matlab

[复制链接]
发表于 2009-10-2 09:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
罚函数法谁有用Matlab编写的程序?
回复
分享到:

使用道具 举报

发表于 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'
[k]
disp '  惩罚因子 r'
[r]
disp '  极小点列 x*'
[x]
disp '  目标函数 f*'
[f]
disp '  惩罚函数 p*'
[p]
发表于 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'
[k]
disp '  惩罚因子 r'
[r]
disp '  极小点列 x*'
[x]
disp '  目标函数 f*'
[f]
disp '  惩罚函数 p*'
[p]
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-25 14:12 , Processed in 0.054932 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表