matlab求解考虑碳排放的路径优化问题

Posted 张叔zhangshu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab求解考虑碳排放的路径优化问题相关的知识,希望对你有一定的参考价值。

前述

在全球经济化和电子商务的发展推动下,人们的生活水平和生活质量都在不断提高,人们对生鲜产品的需求量也日益增长,给冷链物流的发展创造了一个良好的市场环境,从而带动了冷链物流的发展进步。但在冷链物流进入迅速发展阶段的同时,也带来了很多的环境问题,因为冷链物流的配送具有较高的能源消耗以及较高的碳排放。在这样的压力下,绿色物流成为一个重要话题,逐渐引起人们的重视,也成为研究者的研究重点,人们对于低碳经济的呼声越来越高,社会更加提倡发展低碳经济。为了协调两者的矛盾,就必须在发展生鲜冷链物流的同时,考虑到它的经济效益和碳排放,在生鲜产品的配送过程中,可以通过合理的路径优化和资源的分配调度来有效降低冷链物流的成本以及碳排放量。所以,对于考虑碳排放的冷链物流配送路径优化问题对于社会经济的发展以及环境的节能减排有着重大的现实意义和应用价值。
本文在分析冷链物流配送特点以及低碳物流特点的基础上,从绿色环保的理念出发,将运输配送过程中的碳排放量考虑到研究模型中;根据Weibull分布的变质率来分析、衡量生鲜产品的变质特点和情况,从而计算产品的货损成本;将碳排放量进行货币化、成本化,将碳排放成本加入到总的目标函数中,综合考虑冷链物流配送过程中产生的油耗成本、制冷成本、货损成本、碳排放成本、时间窗惩罚成本,建立考虑碳排放的生鲜产品的配送路径优化模型,然后对模型进行分析求解,最后针对模型和本文研究的实际问题采用遗传算法进行分析,运用 Matlab对算法进行编程最后得出结论,验证了算法和研究的合理性以及有效性。

考虑碳排放的冷链物流配送车辆路径优化建模

(一)模型描述
本文考虑碳排放的生鲜农产品冷链物流配送路径优化问题的模型,不同于传统的只考虑车辆运输成本的车辆配送路径优化问题。冷链物流需要使生鲜产品在整个配送过程中都处于低温控制条件下,这样才能保证产品的质量和品质,如果配送过程所用的时间越短,对于整个冷链货物的质量就越有利,也更加有利于确保生鲜产品的质量和品质,因此在本文的研究中,需要将时间窗约束条件以及运输车辆的温度控制和制冷设备成本考虑到运输车辆在整个配送环节中。时间窗分为硬时间窗和软时间窗,在传统的车辆路径问题中,一般考虑到的是硬时间窗,它要求交付的产品必须在消费者指定的时间范围内到达,但是在现实条件下,对运输车辆的调度会存在很多的限制和约束,而且车辆数量和承载量也是有限的,所以车辆往往不能在客户要求的严格的时间范围内配送到,对于硬时间窗的问题也就很难找到可行解。因此在本文研究中,对时间窗的约束条件会考虑软时间窗。软时间窗是基于硬时间窗问题,增加了超时惩罚成本的因素,这意味着,如果运输车辆未能在客户指定的时间内完成交付的话,将会产生一定的惩罚成本。
在本文的研究中,模型可以具体描述为:服务于n个客户点的一个冷链物流配送中心,配备制冷设备的同类型冷链运输车辆以恒定速度运行,从配送中心出发,为特定的客户提供生鲜产品配送服务,完成货物交付之后再返回到物流配送中心。在这个模型中,物流配送中心的位置以及需求点的坐标都是已知的,每一个顾客需要的产品数量、客户对货物交付的时间范围要求也是已知的。在对客户进行产品配送时,将车辆从配送中心出发的时间设为0,在配送的过程中冷链产品会有一定程度的损耗,考虑这种变质情况,变质率以Weibull分布函数表示,在冷链物流运输的过程中,以既定的约束和限制条件为基础,将运输车辆的碳排放成本、冷链产品的货损成本、配送车辆的制冷成本、时间窗惩罚成本等进行综合考虑,然后建立新的低碳环境中的冷链物流车辆配送路线问题模型。进而选择合理的配送方案,减少车辆配送服务的路程,提高配送效率,使得物流系统中的总成本最小。
(二)假设条件
在研究中,为了方便问题的分析和求解,根据现实情况下生鲜产品的配送情况,将现实问题进行抽象化处理,建立具有一定约束和限制条件的数学模型并用合适的算法进行分析、求解。由于本文的研究针对的是碳排放环境下冷链物流配送路径问题的最优模型,也就是要使得配送路径问题的总目标成本最小。所以在最优化问题的分析求解上,只考虑可变成本而不考虑车辆行驶过程中的折旧费用和车辆驾驶人员的工资等固定成本。为了降低整个冷链物流的成本和碳排放量,使得生鲜冷链产品的配送满足客户的时间和质量要求,做出如下假设:
1 本文研究的是针对多个客户配送且只有一个配送中心的车辆路径优化问题。
2 对于冷链物品的变质率是一定的、相同的。
3 配送车辆均为配有冷冻冷藏设备的货车,数量一定,而且车辆的容量大于单个客户点要求的需求量。
4 配送车辆的数量一定,规格型号相同。本文研究中不考虑车辆的故障和交通拥堵情况,假设车辆行驶速度是匀速的。
5 所有客户点的需求量位置和时间窗的要求都是已知的。
6 对于产品的腐烂变质的碳排放,本文研究中不予考虑。
7 一辆冷藏车可以为多个零售商进行服务,但每个零售商在一个配送周期只能被一辆冷藏车服务。
8 每个需求点对车辆配送都有时间范围要求,当配送车辆在客户要求的时间范围之前到达会产生机会成本,如果延迟到达则会产生惩罚成本。
9 不考虑车辆在配送过程中客户需求的变化。


成本测算
物流的配送环节会产生大量的碳排放,从碳排放量的自身意义上来说,它只是一个非特定的数字,但是当我们将碳排放加入到车辆路径优化问题的模型中的时候,碳排放量就具有了具体意义,这个时候就需要将碳排放货币化,转换为成本并计入到成本函数中,在这个基础上再来研究目标函数。对于生鲜冷链产品的配送车辆,在从配送中心到需求点运输的途中会产生大量的碳排放,配送环节的碳排放量与配送车辆的油耗量相关且成正比例的关系。
目前文献中对于碳排放量的测算,通常采用间接的方法,本文的研究中是通过燃油的消耗量来计算碳排放量。车辆的燃油消耗量与车辆本身发动机型号、行驶的速度、载重量、行驶距离等相关。通过查阅文献,本文参考 Bekta等提出的综合排放模型计算车辆的碳排放量。



式(1)表示冷藏车运输的货物量不大于运输车辆的最大承载量
式(2)表示车辆载重约束
式(3)表示运输车辆的数量限制条件
式(4)表示每个客户只能被一辆车提供配送服务;
式(5)表示每个需求点都会被服务到,
式(6)表示所有的运输配送车辆完成服务后都会返回到原来的配送中心.式
式(7)表示从配送中心出发时,每辆运输车辆的货物装载量和该车辆要提供配送服务的客户的需求量总和是相等的。

P1 =

 0

P2 =

7.7324e+03

P7 =

1.9818e+03

P3 =

891.5000

P5 =

    1812

P6 =

521.8750

最优路径:0 1 5 0 0 0 11 10 8 0 7 9 0 0 6 12 3 0 4 2 0
最小费用:12939.6409
计算时间69.3525秒.
更多的信息可以从进化图窗口中获取

%主运行程序
clear all;close all;clc
%function VRPTWga(tspdist,temrops,popsize,pm,alpha)
%tspdist:
%temrops:
termops=2000;%迭代次数
%popsize:
popsize=200;%种群规模
%pm:
pm=0.15;%变异概率
%alPha:
alpha=0.1;
%bestpop:
%reeordeost:
pcrossover=0.9;%交叉概率
load('tspdist.mat');%两地之间的距离加载
load('Time.mat');%两地之间的行驶时间
warning('off');
citynum=size(tspdist,2);
J=8;%8辆五桥品牌的标准集装箱配送车辆
C=12;%客户的总量
% n=nargin;
% if n<2
% termops=60;
% popsize=100;
% pm=0.2;
% alpha=0.1;
% elseif n<3
% popsize=100;
% pm=0.2;
% alpha=0.1;
% elseif n<4
% pm=0.2;
% alpha=0.1;
% elseif n<5
% alpha=0.1;
% end
disp('开始计算VRPTW问题,请稍后...........');
gt=initializega(popsize,C,J);%初始化染色体库(也叫原始种群)
tic;
for i=1:termops
    %i%显示进化代数,如果想运行时观察当前在进化哪一代,则请把i前的“%”去掉。
 rawcost=fitness(gt,tspdist,Time);%(rawcost是行向量)计算目标函数
 [x,y]=find(rawcost==min(rawcost));%找最优
 recordcost(i)=rawcost(y(1));
 bestpop=gt(y(1),:);%当代最优染色体
 gt=select(gt,rawcost,alpha);%按alpha选择和复制染色体
 for j=1:2:(popsize-1)
 p1=rand;
 if p1>=pcrossover
 [gt(j,:),gt(j+1,:)]=crossover(gt(j,:),gt(j+1,:),tspdist,Time);%交叉
 end
 end
 gt=mutation(gt,pm);%按变异概率pm均匀变异
end
runtime=toc;
rawcost=fitness(gt,tspdist,Time);%(行向量)计算目标函数
[x,y]=find(rawcost==min(rawcost));%找最优
%%
[P1,P2,P3,P5,P6,P7]=fitness1(gt(y,:),tspdist,Time);
%%
% [P1,P2,P3,P4,P5,P6,P7]=fitness(gt,tspdist,Time)
%%
recordcost(termops+1)=rawcost(y(1));
bestpop=[gt(y(1),:)];%当代最优染色体
plot(0:termops,recordcost,'.-');%画种群进化图
set(gca,'xlim',[0 termops]);
set(gcf,'NumberTitle','off','Name','Evolution Graph');
grid on;
xlabel('染色体种群进化代数');
ylabel('每一代种群的最优值');
legend(strcat('种群代数:',num2str(termops)),strcat('染色体的个数:',num2str(popsize)));
title('染色体种群进化过程');
disp(['最优路径:',num2str(bestpop)]);%显示结果
disp(['最小费用:',num2str(recordcost(i))]);
disp(['计算时间',num2str(runtime),'秒.']);
disp('更多的信息可以从进化图窗口中获取');
disp('帮助+zhangshu2274');

以上是关于matlab求解考虑碳排放的路径优化问题的主要内容,如果未能解决你的问题,请参考以下文章

matlab求解考虑碳排放的路径优化问题

matlab求解考虑碳排放的路径优化问题

matlab求解考虑碳排放的路径优化问题

优化求解基于matlab粒子群与遗传算法混合算法求解切削参数优化问题(以成本和碳排放量为目标函数)含Matlab源码 1619期

物流选址基于matlab节约算法求解考虑碳排放及带时间窗的物流选址问题含Matlab源码 1589期

车辆监控技术助力车队管理,减少碳排放