violent.m

来自「一种新型带有约束条件的标准粒子群算法」· M 代码 · 共 17 行

M
17
字号
%名称:粒子违反约束程度函数
%输入:粒子位置x,搜索空间维数D
%输出:粒子违反约束条件的程度(若违反输出大于,不违反输出等于零)
%形式:保存为M文件被调用
function result=violent(x,D)
sum1=1;
sum2=0;
for i=1:D
    sum1=sum1*x(i);
    sum2=sum2+x(i);
end
part1=max(0,0.75-sum1);
part2=max(0,sum2-7.5*D);
part3=max(0,-x(i));
part4=max(0,x(i)-10);
result=part1+part2+part3+part4;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?