不确定环境下的低碳多式联运路径优化研究

运输时间分析: 

集装箱多式联运的运输时间包括道路运输时间和节点转运时间。

(1)道路运输时间

:从节点到节点使用运输方式运输的道路运输时间;

:从节点到节点使用运输方式运输的距离;

:运输方式在行驶过程中的最大行驶速度;

:运输方式在运输过程中常规速度与最大速度的关系因子。

  1. 节点转运时间

包括集装箱在中转站的换装作业时间与在作业期间的换装等待时间。

:在节点处从运输方式转为运输方式的转运时间;

:单位货物由运输方式转为运输方式的换装时间;

:多式联运网络中的货运量(集装箱运输数量)(单位:TEU)

:在节点i处由运输方式转为运输方式的过程中由于班期限制产生的等待运输时间;

:货物到达节点i的时刻;

:第n种运输方式在节点i处的第D次出发班期;

:第n种运输方式在节点i处当日的最晚出发班期;

:货物在节点i处完成换装作业的当日时间。

至此,系统的总运输时间为道路运输时间与节点转运时间之和如下所示:

:系统总时间(单位:h);

:道路运输总时间(单位:h);

:节点转运总时间(单位:h)

运输费用分析:

(1)道路运输费用

1)公路集装箱运输

:公路集装箱的运输费用;

f公路:公路集装箱基本运价(运费率);

:公路集装箱运输距离;

:公路集装箱箱次费;

:多式联运网络运输货运量(集装箱运输数量)

2)铁路集装箱运输费用

:铁路集装箱的运输费用;

:铁路集装箱的运行基价(运费率);

:铁路集装箱的运输距离;

:铁路集装箱的发到基价;

3)水路集装箱运输费用

             

:水路集装箱的运输费用;

:海运包箱费率(运费率);

:海运集装箱的运输距离;

根据前文的分析,集装箱采取不同运输方式的在途运输费用计算公式可采取统一的表达形式如下所示:

:从节点到节点使用运输方式运输的道路运输成本;

:运输方式的单位运输价格(单位:元/);

:从节点到节点使用运输方式运输的距离;

:运输方式在运输过程中的其他费用;

(2)中转节点换装费用

集装箱多式联运总的运输费用包括道路运输费用和节点转运费用,计算公式如下所示:

运输货损率分析:

:采用运输方式运输货物每百公里的货损率;

:单位货物中转一次的货损率;

运输二氧化碳排放量分析:

(1)在途运输二氧化碳

使用第m种运输方式单位运输的二氧化碳排放量计算如下所示:

:运输方式单位货物运输产生的二氧化碳排放量;

:运输方式单位运输货物使用燃料的消耗量(消耗系数);

:运输方式所用燃料的排放系数,即单位该燃料消耗所产生的二氧化碳排放量;

因此,在途运输二氧化碳计算可表示为:

:从节点到节点使用运输方式运输产生的二氧化碳排放量;

运输方式

二氧化碳排放量(kg-CO2/t.km)

铁路

0.01236

公路

0.0486

水路

0.0254

(2)节点转运二氧化碳

:由运输方式转为运输方式所进行的单位换装作业产生的二氧化碳排放量;

模型建立:

假设条件:

  1. 将每一个运输节点看作一个质点,模糊各质点(运输起点、各中转节点、运输终点)与车站或码头的实际距离,理想化的认为所有运输方式的进出均在该质点完成;
  2. 考虑从运输起点至终点的单向整批货物运输,即货物在运输途中既不拆箱也不拼箱;
  3. 不同运输方式的货运装载能力总是能够满足企业的货运量要求;
  4. 不同运输方式的转运仅发生在节点,且在该节点最多发生一次运输方式的转换;
  5. 考虑集装箱道路运输和节点中转过程中造成的货损,运输全程总货损不能超过最大货损率要求;
  6. 考虑不可抗力(例如极端环境和换装设备短缺等原因)造成的道路运输和节点转运时间不确定,考虑政治、经济、环境等因素影响下不同运输方式单位运输价格(运费率)的不确定。

采用20ft(英寸)标准集装箱,标准集装箱限重17.5吨,加上集装箱自重约2.3吨,本文将20ft标准集装箱等效为20吨的货物来计算二氧化碳的排放量。

考虑货损率约束的鲁棒优化模型

(1)集合

用G=(N,A,M)表示多式联运网络

N:运输节点的集合:i,j∈N,其中为运输起点,为运输终点,

A:运输路径的集合:

M:运输方式的集合:

(2)中间变量

:系统总成本(单位:元);:道路运输成本(单位:元);:节点转运成本(单位:元)

:系统总时间(单位:h);:道路运输时间(单位:h);:节点转运时间(单位:h)

:系统碳排放总量(单位:kg);:道路运输碳排放量(单位:kg);:节点转运碳排放量(单位:kg)

: 系统碳排放限制总量(单位:kg)

:系统容许最大货损率;

:碳税税率。

(3)决策变量(0-1变量)

取值为1代表从节点到节点采用运输方式,否则取值为0;

:取值为1代表在节点处由运输方式转换为运输方式,否则取值为0。

(1)确定性模型

目标函数:

(4.1)

(4.2)

约束条件:

(4.3)

(4.4)

(4.5)

(4.6)

(4.7)

(4.8)

 (4.9) 

 (4-10)

上述模型中,(4-1)和(4-2)为目标函数,其中(4-1)表示系统总成本最低,包括各运输路径的运输成本和节点转运成本。(4-2)表示系统总时间最短,包括各运输路径的运输时间和节点转运时间。式(4-3)表示任意两节点间只能选择一种运输方式,式(4-4)表示任意一个运输节点最多发生一次运输方式的转换。式(4-5)表示决策变量之间的关系约束,保证运输方式的连续性。式(4-6)表示多式联运网络运输起点、中转节点、运输终点的进出流量平衡。式(4-7)表示在多式联运网络的运输起点和终点不发生运输方式的转换。式(4-8)表示在运输和货物中转过程中的累积货损率不能超过最大容许货损率。(4-9)和(4-10)表示2个决策变量属于0-1型整数变量。

本文建立的不确定环境下的多式联运路径优化模型中,不确定参数包括:运输时间、转运时间和不同运输方式的单位运输价格。拟采用Bertsimas和sim提出的基于集合的线性鲁棒优化方法来处理不确定参数。首先观察不确定参数出现的位置(目标函数或是约束条件中),然后根据目标函数或者约束条件的转换规则对鲁棒线性模型进行转化并考虑不确定参数集,最终得到相对应的鲁棒线性优化对等模型。

假设不确定的运输时间落在一个以为中心,以为半径的区间内,即。。并且分布信息未知,决策者仅知道不确定参数的上下界。其中为运输时间的均值或常规值,为运输时间的最大扰动量,即运输时间的最大绝对偏离值。运输时间可以取区间内的任意值。转运时间与不同运输方式的单位运输价格同理表示,为转运时间的均值或常规值,为转运时间的最大扰动量。为运输方式m的单位运输价格的均值或常规值,为运输方式m的单位运输价格的最大扰动量。因此运输时间、转运时间和不同运输方式的单位运输价格可以用下面3个区间集合来表示:

定义是取值范围在[0,1]且分布未知的3个随机变量分别作为运输时间、转运时间和单位运输价格的偏离值的系数。则重新刻画前文定义的3个不确定参数集合,形成3个盒子(box)如下所示:

将随机变量隶属的不确定集合可以分别表示如下:

引入不确定预算,在本文中分别代表运输时间、转运时间、单位运输价格的不确定预算,分别控制着各自不确定参数的偏离系数之和不能大于该值,即控制着各自不确定集合的不确定水平。决策者可以通过改变的取值灵活调节目标函数解的保守程度从而优化模型的鲁棒程度。它是一个正数,可以取整数也可以取非整数,取值范围是[0,Rx]。其中Rx代表运输网络中不确定参数的总个数。当时,假定所有路段上的运输时间、转运时间、不同运输方式的单位运输价格都保持不变,等于均值或常规值。此时模型退化为确定型模型,它的鲁棒性最差。但是在理想情况下可以获得较优的解。随着取值的增加,模型越来越保守,鲁棒性也越来越好,在最坏的情况下也可以取得比较满意的解。当取值为Rx时表明所有不确定变量都取得了变化最大的值,此时模型求解结果最保守,鲁棒性最强,是应对最坏情况也能取得满意结果的解,但同时解又过于保守,解的最优性最差。决策者可以根据自身偏好调整的取值,得到不同保守程度的决策,灵活平衡解的鲁棒性和最优性。这也是鲁棒优化理论的核心思想,面对所有可能的不确定量的变化,尽可能取得在最坏情况下的最优解,以此来降低最坏情况发生的风险,提高系统的稳定性。

以运输时间为例,当取整数时,表示刚好有个路段上的运输时间达到了最大偏离值,即。剩余()个运输路段上的运输时间都取均值。当取非整数时,表示个运输路段上的运输时间达到了最大偏离值,即,其中表示小于的最大整数。另有一个路段(小数部分代表的那个路段)的运输时间取值为。剩余个运输路段上的运输时间取值为均值或常规值。

通过观察不难发现在本文构建的模型中,不确定变量都出现在目标函数中,因此需要对两个原始目标函数进行转化,得到新的鲁棒目标函数,用不确定参数表示的原始目标函数如下所示:

根据Bertsimas和sim针对区间鲁棒优化提出的方法,上述2个目标函数可以表示为:

上式中为保护函数,具体内容如下所示:

取整数时,

同理可得另外两个属于转运时间和不同运输方式的单位运输价格的保护函数如下所示:

利用前文定义的随机变量(偏离值系数)作为辅助变量,保护函数可以分别改写为如下形式:

对于上述问题,来考虑两种极端情况,以运输时间为例:当时,所有路段上的运输时间都未改变,取值都是运输时间的均值或常规值,此时,则。该问题退化为运输时间确定性问题。当时,表示个路段上的运输时间都发生改变,且都达到了运输时间的最大绝对偏离值(扰动最大)。此时,即

根据前文定义的3个不确定集合(Box),将鲁棒目标函数中的不确定参数进行替换,调整上述模型的目标函数,如下所示:

由于上述2个目标函数内部均含有最大化子项,导致直接求解比较困难,需要做进一步处理。可借助线性规划的强对偶理论,通过引入对偶变量,将其转化为最小化问题,获得相对容易求解的鲁棒对等模型如下所示:

其中,为对偶变量。两个目标函数内部的“Min”符号可以忽略。由此将难以求解的模型转化为了相对易求解的鲁棒对等模型。

新转换的目标函数和约束条件再加上前文的基本约束即为本文构建的不确定环境下考虑货损率约束的多式联运路径鲁棒优化模型。

碳排放限制下的鲁棒优化模型:

多加一个二氧化碳碳排放限制

碳税机制下的鲁棒优化模型:

将二氧化碳排放量以碳税的形式加入到总成本中即可,其余不变。即改变第一个目标函数总成本变为综合物流成本(原成本+二氧化碳排放成本)

注意:文章总体模仿使用的是程兴群的论文,用的鲁棒线性优化方法,多式联运双目标优化。此方法在陈丹丹(单目标)、麻存瑞(双目标)、迟伊宁(单目标)论文均有介绍(均有借鉴)。

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
遗传算法多式联运路径优化是指利用遗传算法来优化多式联运路径路径选择问题。下面是一个用MATLAB编的完整代码示例: function [bestSolution, bestFitness] = geneticAlgorithm() % 遗传算法参数设置 populationSize = 50; % 种群大小 chromosomeLength = 10; % 染色体长度 crossoverRate = 0.8; % 交叉概率 mutationRate = 0.01; % 变异概率 tournamentSize = 5; % 锦标赛规 maxGenerations = 100; % 最大迭代次数 % 初始化种群 population = zeros(populationSize, chromosomeLength); for i = 1:populationSize population(i,:) = randperm(chromosomeLength); end % 迭代优化 for generation = 1:maxGenerations % 计算适应度 fitness = evaluateFitness(population); % 选择(锦标赛选择) tournamentPopulation = zeros(populationSize, chromosomeLength); for i = 1:populationSize tournamentIndices = randperm(populationSize, tournamentSize); [~, bestIndex] = max(fitness(tournamentIndices)); tournamentPopulation(i,:) = population(tournamentIndices(bestIndex),:); end % 交叉(单点交叉) offspringPopulation = zeros(size(population)); for i = 1:2:populationSize parentIndices = randperm(populationSize, 2); if rand() < crossoverRate crossoverPoint = randi(chromosomeLength-1); offspringPopulation(i,:) = [tournamentPopulation(parentIndices(1),1:crossoverPoint), ... tournamentPopulation(parentIndices(2),crossoverPoint+1:end)]; offspringPopulation(i+1,:) = [tournamentPopulation(parentIndices(2),1:crossoverPoint), ... tournamentPopulation(parentIndices(1),crossoverPoint+1:end)]; else offspringPopulation(i,:) = tournamentPopulation(parentIndices(1),:); offspringPopulation(i+1,:) = tournamentPopulation(parentIndices(2),:); end end % 变异(位反转变异) for i = 1:populationSize if rand() < mutationRate mutatePoint = randi(chromosomeLength); offspringPopulation(i,mutatePoint) = randperm(chromosomeLength, 1); end end % 更新种群 population = offspringPopulation; end % 计算最佳解 fitness = evaluateFitness(population); [bestFitness, bestIndex] = max(fitness); bestSolution = population(bestIndex,:); end function fitness = evaluateFitness(population) fitness = zeros(size(population,1), 1); for i = 1:size(population,1) % 计算路径的适应度,根据业务需求自行定义 fitness(i) = someFunction(population(i,:)); end end function value = someFunction(chromosome) % 自定义的路径适应度计算方法,根据实际情况进行编 end 在以上代码中,遗传算法的核心思路是首先初始化种群,并通过迭代不断优化种群,直到达到最大迭代次数。每一代中,首先根据适应度函数评估每个个体的适应度,然后通过锦标赛选择法选择优秀的个体,再使用单点交叉产生新的子代个体,并以一定概率进行位反转变异。最后,根据最大适应度值选择最佳解。适应度函数和路径适应度的具体计算方法应根据实际问题进行编
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值