gusucode.com > matlab编程DPSO离散二进制粒子群算法编程以及实现源码程序 > code3/matlab编程DPSO离散二进制粒子群算法编程以及实现源码程序/code/BF.m
% 穷举法解决二进制问题 % 使用平台:Matlab7.0 % 作者:胡健,哈尔滨工业大学大学 %--------------------------------------------------- clear all close all clc a=[0 0 0 0 0 0 0 0 0 0 0 0]; b=[1 0 0 0 0 0 0 0 0 0 0 0]; n=12; m=pow2(12)-1; f=zeros(1,m); globe=zeros(1,n); z=zeros(m,n); G_g=zeros(m,n); %--------------------------------------------------- % 穷举问题的所有解 for k=1:m a=a+b; for i=1:n if(a(i)==2) a(i)=0; a(i+1)=a(i+1)+1; end end f(k)=swarmeval(a); %disp(a); z(k,:)=a; end %--------------------------------------------------- % 计算每个解的适应值,输出最优解 [G_g,I]=min(f); globe=z(I,:); disp(globe); disp(min(f));