• 大小: 256KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-08
  • 语言: Matlab
  • 标签: PSO  算法  VRP  

资源简介

最近,我正在学习如何解决 TSP (或 VPR) 与群算法,特别利用粒子群优化算法。这是为粒子群优化算法的 matlab 程序代码,我们可以找到它如何由它解决的问题。

资源截图

代码片段和文件信息

function [AgentValueAgentPositionAgentVechleLocalAgentHaveVechleAgentVechleCarry] = CalculateAgent(AgentVechleLocalAgentVechleCarryDistancesAgentPositionCarCanNeedN)
%% 计算用车量和每辆车的载重率
AgentHaveVechle = 1; % 从第一个车开始
AgentVechleLocal(AgentHaveVechle) = 2; % 第一辆车的访问的第一个节点
AgentVechleCarry(AgentHaveVechle) = 0; % 第一辆车初始什么都没有装
for j = 1:N-1
    AgentVechleCarry(AgentHaveVechle) = AgentVechleCarry(AgentHaveVechle)+Need(AgentPosition(j)); % 尝试装入车中
    if AgentVechleCarry(AgentHaveVechle) >  CarCan % 如果超过容量 
        AgentVechleCarry(AgentHaveVechle) = AgentVechleCarry(AgentHaveVechle)-Need(AgentPosition(j)); % 取出
        AgentHaveVechle = AgentHaveVechle + 1;  %  增加一辆车
        AgentVechleLocal(AgentHaveVechle) = j; %  新加车辆的第一个服务节点
        AgentVechleCarry(AgentHaveVechle) = Need(AgentPosition(j)); % 新车的第一个装载货物
    elseif AgentVechleCarry(AgentHaveVechle) ==  CarCan
        AgentHaveVechle = AgentHaveVechle + 1;  %  增加一辆车
        AgentVechleLocal(AgentHaveVechle) = j+1; %  新家车辆的第一个服务节点
        AgentVechleCarry(AgentHaveVechle) = 0; % 新车的第一个装载货物
    end
end
AgentVechleCarry(AgentHaveVechle) = AgentVechleCarry(AgentHaveVechle)+Need(AgentPosition(N)); % 尝试装入车中
if AgentVechleCarry(AgentHaveVechle) >  CarCan % 如果超过容量
    AgentVechleCarry(AgentHaveVechle) = AgentVechleCarry(AgentHaveVechle)-Need(AgentPosition(N)); % 取出
    AgentHaveVechle = AgentHaveVechle + 1;  %  增加一辆车
    AgentVechleLocal(AgentHaveVechle) = N; %  新加车辆的第一个服务节点
    AgentVechleCarry(AgentHaveVechle) = Need(AgentPosition(N)); % 新车的第一个装载货物
end
AgentVechleLocal(AgentHaveVechle+1) = N+1;
%% 2-opt优化子路径
AgentValue = 0;
for j = 1:AgentHaveVechle
    SubRout = [1;AgentPosition(AgentVechleLocal(j):AgentVechleLocal(j+1)-1)];
    SubLen = AgentVechleLocal(j+1) - AgentVechleLocal(j)+1;
    if SubLen > 3 
        SubDis = Distances(SubRoutSubRout);
        SubRout(:) =  Opt(SubLen[1:SubLen 1:SubLen]SubDisSubRout);
        AgentPosition(AgentVechleLocal(j):AgentVechleLocal(j+1)-1) = SubRout(2:end);
    end
    % 计算子路径长度
    AgentValue = AgentValue + total_length_of_cycle(DistancesSubRout);
end
end
%%

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

    .......      5861  2008-04-12 17:40  PSO算法求解CVRP“车辆路径问题”\PSO算法求解CVRP“车辆路径问题”\CVRP-N\A-n32-k5.mat

    .......      6028  2009-07-15 00:30  PSO算法求解CVRP“车辆路径问题”\PSO算法求解CVRP“车辆路径问题”\CVRP-N\A-n33-k5.mat

    .......      9257  2008-04-12 17:40  PSO算法求解CVRP“车辆路径问题”\PSO算法求解CVRP“车辆路径问题”\CVRP-N\A-n45-k7.mat

    .......      9934  2009-07-15 00:48  PSO算法求解CVRP“车辆路径问题”\PSO算法求解CVRP“车辆路径问题”\CVRP-N\A-n46-k7.mat

    .......      4302  2008-04-12 17:40  PSO算法求解CVRP“车辆路径问题”\PSO算法求解CVRP“车辆路径问题”\CVRP-N\B-n31-k5.mat

    .......      6941  2009-07-15 00:45  PSO算法求解CVRP“车辆路径问题”\PSO算法求解CVRP“车辆路径问题”\CVRP-N\B-n35-k5.mat

    .......     11546  2009-07-15 00:53  PSO算法求解CVRP“车辆路径问题”\PSO算法求解CVRP“车辆路径问题”\CVRP-N\B-n45-k5.mat

    .......      9972  2008-04-12 17:40  PSO算法求解CVRP“车辆路径问题”\PSO算法求解CVRP“车辆路径问题”\CVRP-N\B-n45-k6.mat

    .......      2294  2008-05-04 15:46  PSO算法求解CVRP“车辆路径问题”\PSO算法求解CVRP“车辆路径问题”\CVRP-N\CalculateAgent.m

    .......     51099  2008-04-12 17:40  PSO算法求解CVRP“车辆路径问题”\PSO算法求解CVRP“车辆路径问题”\CVRP-N\E-n101-k14.mat

    .......     49987  2008-04-12 17:40  PSO算法求解CVRP“车辆路径问题”\PSO算法求解CVRP“车辆路径问题”\CVRP-N\E-n101-k8.mat

    .......      2889  2008-04-12 17:40  PSO算法求解CVRP“车辆路径问题”\PSO算法求解CVRP“车辆路径问题”\CVRP-N\E-n22-k4.mat

    .......      4694  2009-07-15 01:02  PSO算法求解CVRP“车辆路径问题”\PSO算法求解CVRP“车辆路径问题”\CVRP-N\E-n30-k3.mat

    .......      5988  2008-04-12 17:40  PSO算法求解CVRP“车辆路径问题”\PSO算法求解CVRP“车辆路径问题”\CVRP-N\E-n33-k4.mat

    .......     12908  2008-04-12 17:40  PSO算法求解CVRP“车辆路径问题”\PSO算法求解CVRP“车辆路径问题”\CVRP-N\E-n51-k5.mat

    .......     28494  2008-04-12 17:40  PSO算法求解CVRP“车辆路径问题”\PSO算法求解CVRP“车辆路径问题”\CVRP-N\E-n76-k7.mat

    .......     28647  2008-04-12 17:40  PSO算法求解CVRP“车辆路径问题”\PSO算法求解CVRP“车辆路径问题”\CVRP-N\E-n76-k8.mat

     文件      18373  2009-08-11 21:31  PSO算法求解CVRP“车辆路径问题”\PSO算法求解CVRP“车辆路径问题”\CVRP-N\GPSOoption.m

     文件       4499  2009-08-11 21:33  PSO算法求解CVRP“车辆路径问题”\PSO算法求解CVRP“车辆路径问题”\CVRP-N\GTSPN.m

     文件        880  2009-08-11 21:33  PSO算法求解CVRP“车辆路径问题”\PSO算法求解CVRP“车辆路径问题”\CVRP-N\GTSPN.p

     文件       1196  2009-08-13 09:12  PSO算法求解CVRP“车辆路径问题”\PSO算法求解CVRP“车辆路径问题”\CVRP-N\Main.m

    .......       451  2008-04-12 17:40  PSO算法求解CVRP“车辆路径问题”\PSO算法求解CVRP“车辆路径问题”\CVRP-N\MakeNodeDate.m

    .......       547  2009-07-15 14:14  PSO算法求解CVRP“车辆路径问题”\PSO算法求解CVRP“车辆路径问题”\CVRP-N\MultiOX.m

    .......       308  2008-04-12 17:40  PSO算法求解CVRP“车辆路径问题”\PSO算法求解CVRP“车辆路径问题”\CVRP-N\MyExchange.m

    .......       174  2008-04-12 17:40  PSO算法求解CVRP“车辆路径问题”\PSO算法求解CVRP“车辆路径问题”\CVRP-N\MyInsert.m

    .......       212  2008-04-12 17:40  PSO算法求解CVRP“车辆路径问题”\PSO算法求解CVRP“车辆路径问题”\CVRP-N\Mysel.m

    .......       749  2009-07-15 06:33  PSO算法求解CVRP“车辆路径问题”\PSO算法求解CVRP“车辆路径问题”\CVRP-N\Opt.m

    .......       205  2008-04-12 17:40  PSO算法求解CVRP“车辆路径问题”\PSO算法求解CVRP“车辆路径问题”\CVRP-N\total_length_of_cycle.m

     目录          0  2009-08-13 09:13  PSO算法求解CVRP“车辆路径问题”\PSO算法求解CVRP“车辆路径问题”\CVRP-N

     目录          0  2011-12-10 17:24  PSO算法求解CVRP“车辆路径问题”\PSO算法求解CVRP“车辆路径问题”

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

评论

共有 条评论