• 大小:
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2022-12-01
  • 语言: Matlab
  • 标签: matlab  算法  代码  

资源简介

MATLAB智能算法30个案例课本PDF及分析代码

资源截图

代码片段和文件信息

%% 该函数演示多目标perota优化问题
%清空环境
clc
clear

load data


%% 初始参数
objnum=size(P1); %类中物品个数
weight=92;        %总重量限制

%初始化程序
Dim=5;     %粒子维数
xSize=50;  %种群个数
MaxIt=200; %迭代次数
c1=0.8;    %算法参数
c2=0.8;    %算法参数 
wmax=1.2;  %惯性因子
wmin=0.1;  %惯性因子

x=unidrnd(4xSizeDim);  %粒子初始化
v=zeros(xSizeDim);      %速度初始化

xbest=x;           %个体最佳值
gbest=x(1:);      %粒子群最佳位置

% 粒子适应度值 
px=zeros(1xSize);   %粒子价值目标
rx=zeros(1xSize);   %粒子体积目标
cx=zeros(1xSize);   %重量约束

% 最优值初始化
pxbest=zeros(1xSize); %粒子最优价值目标
rxbest=zeros(1xSize); %粒子最优体积目标
cxbest=zeros(1xSize);  %记录重量,以求约束

% 上一次的值
pxPrior=zeros(1xSize);%粒子价值目标
rxPrior=zeros(1xSize);%粒子体积目标
cxPrior=zeros(1xSize);%记录重量,以求约束

%计算初始目标向量
for i=1:xSize
    for j=1:Dim %控制类别
        px(i) = px(i)+P(x(ij)j);  %粒子价值
        rx(i) = rx(i)+R(x(ij)j);  %粒子体积
        cx(i) = cx(i)+C(x(ij)j);  %粒子重量
    end
end
% 粒子最优位置
pxbest=px;rxbest=rx;cxbest=cx;

%% 初始筛选非劣解
flj=[];
fljx=[];
fljNum=0;
%两个实数相等精度
tol=1e-7;
for i=1:xSize
    flag=0;  %支配标志
    for j=1:xSize  
        if j~=i
            if ((px(i)rx(j))) ||((abs(px(i)-px(j))                    &&  (rx(i)>rx(j)))||((px(i)weight) 
                flag=1;
                break;
            end
        end
    end
    
    %判断有无被支配
    if flag==0
        fljNum=fljNum+1;
        % 记录非劣解
        flj(fljNum1)=px(i);flj(fljNum2)=rx(i);flj(fljNum3)=cx(i);
        % 非劣解位置
        fljx(fljNum:)=x(i:); 
    end
end

%% 循环迭代
for iter=1:MaxIt
    
    % 权值更新
    w=wmax-(wmax-wmin)*iter/MaxIt;
     
    %从非劣解中选择粒子作为全局最优解
    s=size(fljx1);       
    index=randi(s11);  
    gbest=fljx(index:);

    %% 群体更新
    for i=1:xSize
        %速度更新
        v(i:)=w*v(i:)+c1*rand(11)*(xbest(i:)-x(i:))+c2*rand(11)*(gbest-x(i:));
        
        %位置更新
        x(i:)=x(i:)+v(i:);
        x(i:) = rem(x(i:)objnum)/double(objnum);
        index1=find(x(i:)<=0);
        if ~isempty(index1)
            x(iindex1)=rand(size(index1));
        end
        x(i:)=ceil(4*x(i:));        
    end
    
    %% 计算个体适应度
    pxPrior(:)=0;
    rxPrior(:)=0;
    cxPrior(:)=0;
    for i=1:xSize
        for j=1:Dim %控制类别
            pxPrior(i) = pxPrior(i)+P(x(ij)j);  %计算粒子i 价值
            rxPrior(i) = rxPrior(i)+R(x(ij)j);  %计算粒子i 体积
            cxPrior(i) = cxPrior(i)+C(x(ij)j);  %计算粒子i 重量
        end
    end
    
    %% 更新粒子历史最佳
    for i=1:xSize
        %现在的支配原有的,替代原有的
         if ((px(i)rxPrior(i))) ||((abs(px(i)-pxPrior(i))                 &&  (rx(i)>rxPrior(i)))||((px(i)weight) 
                xbest(i:)=x(i:);%没有记录目标值
                pxbest(i)=pxPrior(i);rxbest(i)=rxPrior(i);cxbest(i)=cxPrior(i);
          end
        
        %彼此不受支配,随机决定
        if ~( ((px(i)rxP

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        422  2010-12-28 22:11  MATLAB智能算法30个案例分析代码\chapter10基于粒子群算法的多目标搜索算法\chapter10\data.mat

     文件       6048  2010-12-28 22:11  MATLAB智能算法30个案例分析代码\chapter10基于粒子群算法的多目标搜索算法\chapter10\main.m

     文件       1067  2007-09-24 14:52  MATLAB智能算法30个案例分析代码\chapter11基于多层编码遗传算法的车间调度算法\chapter11\aberranceJm.m

     文件       2329  2007-09-17 16:11  MATLAB智能算法30个案例分析代码\chapter11基于多层编码遗传算法的车间调度算法\chapter11\across.m

     文件       1325  2007-09-17 16:05  MATLAB智能算法30个案例分析代码\chapter11基于多层编码遗传算法的车间调度算法\chapter11\cal.m

     文件        555  2007-09-17 16:01  MATLAB智能算法30个案例分析代码\chapter11基于多层编码遗传算法的车间调度算法\chapter11\calP.m

     文件       1276  2007-09-17 16:05  MATLAB智能算法30个案例分析代码\chapter11基于多层编码遗传算法的车间调度算法\chapter11\caltime.m

     文件        178  2007-08-22 15:17  MATLAB智能算法30个案例分析代码\chapter11基于多层编码遗传算法的车间调度算法\chapter11\Find.m

     文件       2816  2010-10-04 15:20  MATLAB智能算法30个案例分析代码\chapter11基于多层编码遗传算法的车间调度算法\chapter11\main.m

     文件        487  2007-07-14 14:48  MATLAB智能算法30个案例分析代码\chapter11基于多层编码遗传算法的车间调度算法\chapter11\plotRec.m

     文件       4708  2010-12-23 16:38  MATLAB智能算法30个案例分析代码\chapter11基于多层编码遗传算法的车间调度算法\chapter11\ranking.M

     文件       5574  1998-04-22 10:44  MATLAB智能算法30个案例分析代码\chapter11基于多层编码遗传算法的车间调度算法\chapter11\REINS.M

     文件       1090  1998-04-22 10:44  MATLAB智能算法30个案例分析代码\chapter11基于多层编码遗传算法的车间调度算法\chapter11\RWS.M

     文件        527  2010-12-23 16:31  MATLAB智能算法30个案例分析代码\chapter11基于多层编码遗传算法的车间调度算法\chapter11\scheduleData.mat

     文件       2401  1998-04-22 10:44  MATLAB智能算法30个案例分析代码\chapter11基于多层编码遗传算法的车间调度算法\chapter11\SELECT.M

     文件        398  2007-09-24 14:03  MATLAB智能算法30个案例分析代码\chapter11基于多层编码遗传算法的车间调度算法\chapter11\selectJm.m

     文件       1669  2010-09-06 09:12  MATLAB智能算法30个案例分析代码\chapter12免疫优化算法在物流配送中心选址中的应用\chapter12\bestselect.m

     文件       7910  2010-09-07 10:22  MATLAB智能算法30个案例分析代码\chapter12免疫优化算法在物流配送中心选址中的应用\chapter12\centre.fig

     文件        479  2010-09-06 09:46  MATLAB智能算法30个案例分析代码\chapter12免疫优化算法在物流配送中心选址中的应用\chapter12\concentration.m

     文件       1294  2010-09-06 14:49  MATLAB智能算法30个案例分析代码\chapter12免疫优化算法在物流配送中心选址中的应用\chapter12\Cross.m

     文件       1046  2010-09-06 09:35  MATLAB智能算法30个案例分析代码\chapter12免疫优化算法在物流配送中心选址中的应用\chapter12\draw.m

     文件        400  2010-09-06 09:41  MATLAB智能算法30个案例分析代码\chapter12免疫优化算法在物流配送中心选址中的应用\chapter12\excellence.m

     文件       9007  2010-09-07 10:22  MATLAB智能算法30个案例分析代码\chapter12免疫优化算法在物流配送中心选址中的应用\chapter12\figure.fig

     文件        901  2010-09-07 22:59  MATLAB智能算法30个案例分析代码\chapter12免疫优化算法在物流配送中心选址中的应用\chapter12\fitness.m

     文件       4838  2010-09-07 10:24  MATLAB智能算法30个案例分析代码\chapter12免疫优化算法在物流配送中心选址中的应用\chapter12\IAdata.mat

     文件       1102  2010-09-06 09:45  MATLAB智能算法30个案例分析代码\chapter12免疫优化算法在物流配送中心选址中的应用\chapter12\incorporate.m

     文件       3676  2010-12-28 22:13  MATLAB智能算法30个案例分析代码\chapter12免疫优化算法在物流配送中心选址中的应用\chapter12\main.m

     文件       1001  2010-09-06 15:40  MATLAB智能算法30个案例分析代码\chapter12免疫优化算法在物流配送中心选址中的应用\chapter12\Mutation.m

     文件        319  2010-09-06 09:39  MATLAB智能算法30个案例分析代码\chapter12免疫优化算法在物流配送中心选址中的应用\chapter12\popinit.m

     文件        912  2010-09-06 09:18  MATLAB智能算法30个案例分析代码\chapter12免疫优化算法在物流配送中心选址中的应用\chapter12\Select.m

............此处省略301个文件信息

评论

共有 条评论