粒子群算法中的罚函数matlab,58-带罚函数的自适应粒子群算法

% 改进的快速粒子群优化算法 (APSO):

function apso

Lb=[0.1 0.1  0.1  0.1]; %下边界

Ub=[2.0 10.0 10.0 2.0]; %上边界

% 默认参数

para=[25 150 0.95]; %[粒子数,迭代次数,gama参数]

% APSO 优化求解函数

[gbest,fmin]=pso_mincon(@cost,@constraint,Lb,Ub,para);

% 输出结果

Bestsolution=gbest % 全局最优个体

fmin

%% 目标函数

function f=cost(x)

f=1.10471*x(1)^2*x(2)+0.04811*x(3)*x(4)*(14.0+x(2));

% 非线性约束

function [g,geq]=constraint(x)

% 不等式限制条件

Q=6000*(14+x(2)/2);

D=sqrt(x(2)^2/4+(x(1)+x(3))^2/4);

J=2*(x(1)*x(2)*sqrt(2)*(x(2)^2/12+(x(1)+x(3))^2/4));

alpha=6000/(sqrt(2)*x(1)*x(2));

beta=Q*D/J;

tau=sqrt(alpha^2+2*alpha*beta*x(2)/(2*D)+beta^2);

sigma=504000/(x(4)*x(3)^2);

delta=65856000/(30*

  • 1
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值