min1.06x1+0.076x1*x1+0.1x2+0.118x2*x2
其中x1+x1=10 0.75
不等式约束我已经加入,等式约束怎么办呢,求解
付程序如下:
function ysw13_6
%% PSO
%%清空环境
clc
clear all;
close all;
warning off
%%参数初始化
%粒子群算法中的两个参数
c1 = 1.49445;
c2 = 1.49445;
maxgen = 300; %进化次数
sizepop = 20; %种群规模
%粒子更新速度
Vmax = 0.5;
Vmin = -0.5;
%种群
popmax = 10;
popmin = -10;
%%产生初始粒子和速度
for i = 1:sizepop
%随机产生一个种群
pop(i,:)=0.75+5.25.*rand(1,2); %初始种群
V(i,:)=rand(1,2); %初始化速度
%计算适应度
fitness(i) = fun2(pop(i,:)); %染色体的适应度
end
%找最好的适应度值
[bestfitness bestindex] = min(fitness);
zbest = pop(bestindex,:);