关于低碳物流中心选址问题的MATLAB遗传算法

目录

1、物流中心选址问题说明

2、模型构建

3、遗传算法

 3.1、染色体编码方式

 3.2、选择算子

 3.3、交叉算子和变异算子

 4、部分代码展示


1、物流中心选址问题说明

        如图所示,物流网络主要由生产制造商集合、配送中心集合、销售点集合、客户集合四个集合所构成。本文主要关注的问题如下:

        1、主要关注物流网络节点的选择和网络连接方式的确定,物流网络节点的选择主要包括销售中心的选择;网络连接方式的确定包括厂商与运输中心之间的连接、运输中心与销售中心的连接,目前假设生产制造厂商只有1个。

        2、考虑的碳排放只考虑二氧化碳的排放在内,且只考虑运输过程中的排放,配送中心和销售中心的建立或其他方式所产生的二氧化碳不计算在内。

        3、在运输线上运用到了更加贴近现实的方案:生产厂商和配送中心之间的运输可以选择公路、铁路和水路三种运输方式,而配送中心与销售中心之间只允许采用公路运输方式完成配送;且一个销售中心的货物只能由一个配送中心提供。

2、模型构建

k:交通运输方式,1为公路运输,2为铁路运输,3为水路运输, k={1,2,3}。

i: 开设第i个配送中心,i={1,2,3,...,n}

j:开设第j个销售中心,j={1,2,3,...,m}

:第j个销售中心的需求量 ​​​​

:第i个配送中心最低设立货物数量下限

:从生产厂运输到第i个运输中心货物采用第k种运输中心的比率

:从生产厂运输到第i个运输中心货物采用第k种运输中心的运输距离

:从生产厂运输到第i个运输中心货物采用第k种运输中心的运输费率

:第k种运输方式的单位碳排量

:开设第i个运输中心的固定费用

:第i个运输中心的是否开启的01变量

:第j个销售中心是否由第i个运输中心供货的01决策变量

:采用公路运输方式的第i个运输中心和第j个销售中心之间的距离

:采用公路运输方式的第i个运输中心和第j个销售中心之间的运输费率

 目标构建和限制条件:

利用模糊隶属度的方法将多目标转换为单目标再求解,这里的Z1和Z2的模糊隶属度都取0.5。

3、遗传算法

        遗传算法(Genetic Algorithm),又称为进化算法,于20世纪70年代由美国学者约翰.霍华德教授提出的,是一种根据达尔文自然选择模拟计划而得的计算模型,原理是通过模拟自然界生物进化规律的方式来寻求最优解。具体运行方式如下图所示。

         

 3.1、染色体编码方式

        这里染色体编码方式为对销售中心进行自然数编码。具体解码方式为编号为销售中心的号码,例如X=(1 2 2 2 2 2 2 2 2 2 2 2 2 3)解码方式如下图所示。

 3.2、选择算子

        本文在初始化种群后,将会进行选择操作;经过多次实验,常用的轮盘赌方法结果收敛效果很差(见左下图),通过采用锦标赛的方法,大约只需要不到200次迭代即可(见右下图),使得结果收敛。其具体方法是在所有的染色体中随机选取若干个个体,如果这若干个染色体的适应度大于父代染色体适应度,则会存放到父代染色体中,进行下一次繁殖,这样就可以达到父代染色体中的值达到最优,直至收敛。

 3.3、交叉算子和变异算子

 

 4、部分代码展示

%问题:找到成本和碳排放最低的网络运行方案
%编码:自然数编码
%选择:锦标赛
%交叉:顺序交叉
%变异:两个随机位置互换

clear;
clc;
close all;
tic;
%% Ⅰ通过data将数据导入,并设置相关参数
[N,D,Iter,Pc,Pm,d1,d2,q,c1,t,e,g,cIndex,mIndex] = data;

[A,B] = size(q);

[R,C] = size(d2);
[~,K] = size(e);

GA = zeros(N,D+1); %前D位置为销售中心对应的运输中心位置  D+1 位置为总费用
%%  Ⅱ 初始化
[GA] = initialization(d2,N,D,GA,c1,t,d1,q,g,e,R,K,cIndex,mIndex);
%%  Ⅲ 迭代
[GA,Gbest,fitnesses] = iteration(N,D,Iter,Pc,Pm,d2,GA,c1,t,d1,q,g,e,R,K,cIndex,mIndex);
%% Ⅳ命令行显示,并画图
[value,row] = min(GA(:,D+1));
disp(['最优方案出现在第',num2str(row),'代']);
disp(['最优方案为:',num2str(GA(row,1:D))]);
disp(['minL为:',num2str(min(GA(:,D+3)))]);
disp(['其中成本为:',num2str(GA(row,D+1)/cIndex)]);
disp(['碳排放为:',num2str(GA(row,D+2)/mIndex)]);

subplot(1,2,1)
plot(Gbest);
title("仿真结果")
xlabel("迭代次数")
ylabel("费用")

subplot(1,2,2)
plot(fitnesses);
title("适应度迭代过程")
xlabel("迭代次数")
ylabel("适应度")
toc

        不好意思,近期本人网上冲浪的时间较少,没有回到大家信息。代码是本人本科毕业时所编写,如有问题请随时咨询我。下面有给到算法的链接,如有需要可以随时获取。

GitHub - MajesticSpume/GA_Logistic: 这是一个利用Matalab设计关于物流网络选址的遗传算法这是一个利用Matalab设计关于物流网络选址的遗传算法. Contribute to MajesticSpume/GA_Logistic development by creating an account on GitHub.https://github.com/MajesticSpume/GA_Logistic

  • 10
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 本文介绍了一种基于多目标遗传算法的IEEE14节点系统分布式电源选址定容Matlab程序。该程序旨在解决在电力系统中分布式电源选址和定容问题。多目标遗传算法是本程序的核心部分,它能够同时考虑多个目标,并通过调节参数,优化方案,实现更好的性能。该算法具有全局搜索能力,因此可以找到更优的解决方案。与传统的优化算法相比,多目标遗传算法更为高效和精准,能够在较短的时间内得到更好的结果。该程序支持IEEE14节点系统,并且可以根据用户的需求进行参数设置。该程序具有可视化界面,方便用户进行操作和观察结果。通过该程序,用户可以得到一个较为稳定,高效的分布式电源选址和定容方案。 综上所述,该基于多目标遗传算法的IEEE14节点系统分布式电源选址定容Matlab程序能够有效地解决电力系统中分布式电源选址和定容问题,具有高效,精确,可视化等优点,可以为用户提供高质量的选址和定容方案。 ### 回答2: 这个题目是关于一种基于多目标遗传算法的电力系统分布式电源选址定容的Matlab程序。本程序主要是解决电力系统中电源的选址定容问题,对于IEEE14节点系统进行分析。基于遗传算法是为了解决目标冲突问题。所谓目标冲突,就是多个目标之间互相矛盾,优化一个目标会导致其他目标不断恶化。多目标遗传算法旨在解决这种目标冲突问题,它能够在多个目标之间达到一个平衡,从而得到更多的有效解。 本程序采用Matlab语言实现,主要涉及到多个方面的知识,比如电力系统的分布式电源选址定容技术、遗传算法的基本原理和应用、Matlab语言的编程等。运用遗传算法方法可以使得选址定容更加科学、高效,从而改善电力系统的能源分布状况,提高电力系统的可靠性和稳定性。通过对IEEE14节点系统的实际运算分析,得到了比较理想的结果。 这个程序具有相当重要的意义,它可以为电力系统的发展提供优化解决方案,为建设高效节能、低碳环保的电力系统奠定了坚实基础。同时,该程序图像呈现,更加直观,直观界面使得人们能够快速了解整个系统的运作过程,从而更好地理解和应用。 ### 回答3: IEEE14节点系统是电力系统中的一个标准测试系统,在该系统中,多个节点之间有不同的负荷和出力。为了优化该系统的供电效率,需要在其中选址定容分布式电源。本文提出了一种基于多目标遗传算法选址定容方法,并使用MATLAB编写了相应程序。 多目标遗传算法是一种优化算法,可以在多个目标之间进行权衡和优化。在本文中,我们将选址定容问题建模为一个多目标问题,包括最小化线路损耗、最小化发电成本和最小化重载度等目标。通过多目标遗传算法的优化求解,可以得到一组最优解,其中每个解都能够满足上述多个目标的优化要求。 我们使用MATLAB编写了相应的程序,该程序实现了多目标遗传算法的优化求解,并在选址定容问题中得到最优的解。具体实现过程中,我们首先建立了IEEE14节点系统的电力模型,然后采用市场化发电定价模型计算分布式电源的成本,然后将分布式电源逐一添加到系统中,在每次添加后都记录相关的线路损耗、重载度等信息,并将其作为待优化目标,对多目标遗传算法进行迭代求解,直至得到最优解。 该程序可以为电力系统的设计和运行提供一定支持,能够较为精确地确定分布式电源的选址和容量,从而提高整个系统的供电效率和稳定性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值