首页 > 编程语言 >【智能算法应用】遗传算法求解车间布局优化问题

【智能算法应用】遗传算法求解车间布局优化问题

时间:2024-05-24 23:00:29浏览次数:13  
标签:求解 作业 sum tag ij C2 遗传算法 智能算法 1m

目录


1.问题背景

工厂设施布置的规划一直是工业工程领域不断研究和探索的内容, 其中最具代表性之一的是系统布置设计( system layout planning, SLP) 方法。作为一种经典且有效的方法, 其为设施布置提供了很好的改善思路, 但在长期的发展中也存在一些不可避免的缺点, 如计算结果不够精确, 很难确保计算结果较优且受人员主观因素的影响较大等。

2.车间布局数学模型

生产车间布局优化的主要目标是实现作业单位间非物流关系的最大化和物料搬运成本的最小化,假设:

  • 所有作业单位所在平面为共平面
  • 各单位形状均为矩形, 忽略形状细节, 且各个矩形边与 X 轴、Y 轴平行
  • 不同作业单位间单位运输成本一致

在这里插入图片描述
假设布置方案为 X, i 和 j 为该方案的作业单位, 两者距离用 dij 表示, 搬运量用 fij 表示, 可得距离矩阵及物流量矩阵,物料搬运成本:
C 1 = ∑ i = 1 m ∑ j = 1 m c i j f i j d i j (1) C_1=\sum_{i=1}^m\sum_{j=1}^mc_{ij}f_{ij}d_{ij}\tag{1} C1​=i=1∑m​j=1∑m​cij​fij​dij​(1)
其中,C1 为总搬运成本,cij 为各单位之间的搬运成本。非物流关系:
C 2 = ∑ i = 1 m ∑ j = 1 m T i j b i j (2) C_2=\sum_{i=1}^m\sum_{j=1}^mT_{ij}b_{ij}\tag{2} C2​=i=1∑m​j=1∑m​Tij​bij​(2)
其中,C2 为非物流关系总和,Tij 为作业单位之间非物流关系的紧密程度。bij 为非物流关系等级与距离的关联因子,设 dmax 为任意两个设施之间的最大距离,关联因子量化:

在这里插入图片描述
问题目标 C1 的最小化及 C2的最大化, 从而构建双目标函数:
m i n C 1 = ∑ i = 1 m ∑ j = 1 m c i j f i j d i j m a x C 2 = ∑ i = 1 m ∑ j = 1 m T i j b i j (3) \mathrm{min}C_1 = \sum_{i = 1}^m \sum_{j = 1}^mc_{ij}f_{ij}d_{ij}\\\mathrm{max}C_2 = \sum_{i = 1}^m \sum_{j = 1}^m T_{ij}b_{ij}\tag{3} minC1​=i=1∑m​j=1∑m​cij​fij​dij​maxC2​=i=1∑m​j=1∑m​Tij​bij​(3)
将双目标优化转为单目标优化:
m i n C = ∑ i = 1 m ∑ j = 1 m c i j f i j d i j − ∑ i = 1 m ∑ j = 1 m T i j b i j (4) \mathrm{min}C = \sum_{i = 1}^{m} \sum_{j = 1}^{m} c_{ij}f_{ij}d_{ij} - \sum_{i = 1}^{m} \sum_{j = 1}^{m} T_{ij}b_{ij}\tag{4} minC=i=1∑m​j=1∑m​cij​fij​dij​−i=1∑m​j=1∑m​Tij​bij​(4)
由于两者量纲不同, 需要对函数 C1 和 C2 做标准化处理:
C 1 ′ = ∑ i = 1 m ∑ j = 1 m c i j f i j d i j ∑ i = 1 m ∑ j = 1 m c i j f i j d max ⁡ C 2 ′ = ∑ i = 1 m ∑ j = 1 m T i j b i j ∑ i = 1 m ∑ j = 1 m T i j (5) C_1^{\prime}=\frac{\sum_{i=1}^m\sum_{j=1}^mc_{ij}f_{ij}d_{ij}}{\sum_{i=1}^m\sum_{j=1}^mc_{ij}f_{ij}d_{\max}}\\C_2^{\prime}=\frac{\sum_{i=1}^m\sum_{j=1}^mT_{ij}b_{ij}}{\sum_{i=1}^m\sum_{j=1}^mT_{ij}}\tag{5} C1′​=∑i=1m​∑j=1m​cij​fij​dmax​∑i=1m​∑j=1m​cij​fij​dij​​C2′​=∑i=1m​∑j=1m​Tij​∑i=1m​∑j=1m​Tij​bij​​(5)
目标为:
m i n C = C 1 ′ − C 2 ′ (6) \mathrm{min}C=C_1^{\prime}-C_2^{\prime}\tag{6} minC=C1′​−C2′​(6)
作业单位不重叠约束:
∣ x i − x j ∣ ⩾ L i + L j 2 + Δ x i j ∣ y i − y j ∣ ⩾ W i + W j 2 + Δ y i j (7) \begin{aligned}&|x_{i}-x_{j}|\geqslant\frac{L_{i}+L_{j}}{2}+\Delta x_{ij}\\&|y_{i}-y_{j}|\geqslant\frac{W_{i}+W_{j}}{2}+\Delta y_{ij}\end{aligned}\tag{7} ​∣xi​−xj​∣⩾2Li​+Lj​​+Δxij​∣yi​−yj​∣⩾2Wi​+Wj​​+Δyij​​(7)
边界约束:
∣ x i − x j ∣ ⩾ L i + L j 2 ⩽ L ∣ y i − y j ∣ ⩾ W i + W j 2 ⩽ W (8) \begin{aligned}&\mid x_{i}-x_{j}\mid\geqslant\frac{L_{i}+L_{j}}{2}\leqslant L\\&\mid y_{i}-y_{j}\mid\geqslant\frac{W_{i}+W_{j}}{2}\leqslant W\end{aligned}\tag{8} ​∣xi​−xj​∣⩾2Li​+Lj​​⩽L∣yi​−yj​∣⩾2Wi​+Wj​​⩽W​(8)
其中,xi, xj 为作业单位的 X 轴中心坐标; yi, yj 为作业单位的 Y 轴中心坐标; L, W 分别为车间的长与宽; Li, Lj 与 Wi, Wj 分别为作业单位 i, j 的长与宽;Δxij 与 Δyij 分别为作业单位 i 与 j 之间的横向及纵向距离。

3.算法过程

编码方式

矩形中心坐标采用实数编码,方向采用二进制编码

交叉方式

实数编码部分选择洗牌交叉,二元编码部分两点交叉

变异方式

实数编码部分采用连续变异,二元编码部分二进制变异

4.结果展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.参考文献

[1] 闫向彤,张永鑫,李佩泽,等.基于遗传算法的车间布局优化研究[J].机械设计与制造工程,2021,50(09):88-92.

6.代码获取

资源清单

标签:求解,作业,sum,tag,ij,C2,遗传算法,智能算法,1m
From: https://blog.csdn.net/Logic_9527/article/details/139159595

相关文章

  • 【智能算法应用】白鲸优化算法求解二维路径规划问题
    目录1.算法原理2.路径规划数学模型3.结果展示4.参考文献5.代码获取1.算法原理【智能算法】白鲸优化算法(BWO)原理及实现2.路径规划数学模型优化目标路径规划问题需要考虑三点:全局总路径最优避免碰撞到障碍物路径平滑性全局总路径最优考虑路径规划问题的全局最......
  • 不闭合三维TSP:蜣螂优化算法DBO求解不闭合三维TSP(起点固定,终点不定,可以更改数据集),MATLA
    一、旅行商问题旅行商问题(Travelingsalesmanproblem,TSP)是一个经典的组合优化问题,它可以描述为一个商品推销员去若干城市推销商品,要求遍历所有城市后回到出发地,目的是选择一个最短的路线。当城市数目较少时,可以使用穷举法求解。而随着城市数增多,求解空间比较复杂,无法使......
  • 《分数背包问题》快速求解(贪心法)
    目录前言一、贪心策略二、具体步骤实例如下:三、代码实现伪代码:C++代码:     总结前言分数背包问题:在分数背包问题中,物品可以被分割成更小的部分,可以部分装入背包,而不是只能选择整个物品装入或不装入背包。一、贪心策略贪心法在解决分数背包问题时......
  • 多目标应用:基于NSGA2求解柔性作业车间调度问题(FJSP),MATLAB代码
    一、柔性作业车间调度问题柔性作业车间调度问题(FlexibleJobSchedulingProblem,FJSP)的描述如下:n个工件{J,J......
  • 不闭合三维TSP:成长优化算法GO求解不闭合三维TSP(起点固定,终点不定,可以更改数据集),MATLAB
    一、旅行商问题旅行商问题(Travelingsalesmanproblem,TSP)是一个经典的组合优化问题,它可以描述为一个商品推销员去若干城市推销商品,要求遍历所有城市后回到出发地,目的是选择一个最短的路线。当城市数目较少时,可以使用穷举法求解。而随着城市数增多,求解空间比较复杂,无法使......
  • 不闭合三维TSP:蛇优化算法SO求解不闭合三维TSP(起点固定,终点不定,可以更改数据集),MATLAB代
    一、旅行商问题旅行商问题(Travelingsalesmanproblem,TSP)是一个经典的组合优化问题,它可以描述为一个商品推销员去若干城市推销商品,要求遍历所有城市后回到出发地,目的是选择一个最短的路线。当城市数目较少时,可以使用穷举法求解。而随着城市数增多,求解空间比较复杂,无法使......
  • 2022-06-28-零和收益ZSG-DEA模型的求解程序
    今天要向大家推介的是DEA中的ZSG模型。Lins和Gomes等人提出了零和收益DEA模型(ZSG-DEA),该模型可以根据决策单元的DEA效率值对非期望产出的分配方案进行调整,给出改进的分配方案,该模型多用于CO2的分配问题的研究上,通过对整体中各个区域的碳减排责任进行分析,同时按照ZSG模型进行迭......
  • 数据结构学习笔记-递归求解森林高度
    森林的高度递归求解问题描述:设计算法求解森林的高度【算法设计思想】两个函数,一个用于计算单个二叉树的高度,另一个用于计算二叉树森林(即一组二叉树)的最大高度。下面是对两个函数的详细解释:1.treeHeight函数这个函数用于计算单个二叉树的高度。二叉树的高度定义为从根节点到......
  • 遗传算法求解经典车间调度问题(JSP)
    车间调度问题Job-Shopschedulingproblem(JSP)车间调度问题(NP-hard问题):​ n个工件在m台机器上加工,每个工件有特定的加工工艺,每个工件加工的顺序及每道工序所花时间给定,安排工件在每台机器上工件的加工顺序,使得某种指标最优。题设为:1)不同工件的工序之间无顺序约束;2)工序开始则......
  • 跨域请求解决办法(Django)
    跨域请求解决办法(Django)1.安装第三方扩展:pipinstalldjango-cors-headerssettings.py里面操作2.添加应用:INSTALLED_APPS=(...'corsheaders',...)3.第三步,添加中间件,注意放在第一条,第一时间进行处理:MIDDLEWARE=['corsheaders.middleware.......