首页 > 其他分享 >m基于GA遗传优化的生产工艺设备布置优化matlab仿真

m基于GA遗传优化的生产工艺设备布置优化matlab仿真

时间:2022-12-14 22:32:01浏览次数:47  
标签:10 布置 ... matlab GA 遗传算法 优化 设备

1.算法概述 在设备布置的问题上,本文将作业车间设备布置这个多目标优化问题看成是包含布局面积,物流成本和生产工艺的连续优化的多行设备布置问题,使之更具有实际意义,在标准遗传算法的基础上,通过在染色体编码,约束处理,选择算子和变异算子设计,适应值计算等方面进行优化改进,提出一种多目标作业车间设备布局优化算法,以此金矿浮选厂为实例基础,通过Matlab仿真实验验证该方法的有效性,最后为低品位金矿浮选厂推荐出合理,实用的生产工艺流程及设备布置方案,论文研究的工作主要分以下几部分进行:

(1) 工艺研究:对金矿浮选工艺进行研究,产品,产量,产品加工的工艺路线,工序工时定额等基本因素是影响工厂生产组织方式和布局的主要因素,确定生产组织方式,制定与生产组织方式相适应的产品工艺路线,应用成组技术划分作业单元,确定工序工时,计算工厂设备需求数量,对影响工厂布局的主要因素进行了详细的分析与设计。

(2) 设备选型:对浮选厂使用的各种机械设备有充分的了解,了解各机械设备的型号及产量等,以期通过合理进行设备的选择和布置提高工作效率。浮选工艺由颚式破碎机、球磨机、分级机、磁选机、浮选机、浓缩机和烘干机等主要设备,配合给矿机、提升机、传送机可组成完整的选矿生产线。为达到具有高效、低能、处理量高、经济合理等优点的目标。并结合设备布置的相关理论,对选金工艺流程进行优化。

(3) 设备布置:针对案例车间的实际情况,将布局问题可视为连续优化的多行设备布局问题。根据以往车间布局问题相关文献所提供的方式,同时考虑本课题的研究对象,建立基于改进遗传算法的设备布置数学模型,并运用Matlab软件对其进行求解,通过分析仿真结果的分析,来对规划方案进行评估,找到一些尚不完善的地方,达到优化方案的目的。

1.目标函数的设计:

    首先,我们这里目标函数的设计如下所示:

1.png

    这里,对第一个目标函数需要修改,结合上次和你说的几个点,成本除了和距离,评论,单位成本之外,还和每个设备之间的流量有关系,这里C为单位时间单位物体的物流成本,所以上面的公式需要修改为:  

2.png

目标函数总物流成本; 3.png

目标函数的布局面积;

4.png

布局在同一行的ij设备之间的最小横向跨度;

5.png

   然后,还需要加入一个约束条件,即每个设备之间的最小间隔,因为,设备之间不能无限制的接近,否则就没有意义了,直接挨一起就可以了,这样就没有实际意义了。实际中每个设备之间有其合理的有效工作区域。   

2.仿真效果预览 matlab2022a仿真结果如下:

7.png6.png

3.核心MATLAB程序

clear;
close all;
warning off;
addpath 'func\'
addpath 'GA_toolbox\'
 RandStream.setDefaultStream(RandStream('mt19937ar','seed',1));
%参数设置
%设备长度
Li  = [8; 8;24; 8; 8;10; 8;12;12; 8; 8; 8]/2;
%设备宽度
Wi  = [8; 8;24; 8; 8;10; 8;12;12; 8; 8; 8]/4;
 
% 单位物流成本
c=[0,3,0,0,0,0,0,0,0,0,0,0;
   0,0,3,0,0,0,0,0,0,0,0,0;
   0,0,0,2,0,0,0,0,0,0,0,0;
   0,0,2,0,1,0,0,0,0,0,0,0;
   0,0,0,0,0,3,0,0,0,0,0,0;
   0,0,0,0,2,0,2,0,0,0,0,0;
   0,0,0,0,0,0,0,3,0,0,0,0;
   0,0,0,0,0,0,0,0,3,0,0,0;
   0,0,0,0,0,0,0,0,0,1,0,0;
   0,0,0,0,0,0,0,0,0,0,1,0;
   0,0,0,0,0,0,0,0,0,0,0,1;
   0,0,0,0,0,0,0,0,0,0,0,0];
 
% 物料搬运的频率
f=[0,2,0,0,0,0,0,0,0,0,0,0;
   0,0,2,0,0,0,0,0,0,0,0,0;
   0,0,0,3,0,0,0,0,0,0,0,0;
   0,0,3,0,2,0,0,0,0,0,0,0;
   0,0,0,0,0,2,0,0,0,0,0,0;
   0,0,0,0,3,0,1,0,0,0,0,0;
   0,0,0,0,0,0,0,4,0,0,0,0;
   0,0,0,0,0,0,0,0,3,0,0,0;
   0,0,0,0,0,0,0,0,0,1,0,0;
   0,0,0,0,0,0,0,0,0,0,1,0;
   0,0,0,0,0,0,0,0,0,0,0,1;
   0,0,0,0,0,0,0,0,0,0,0,0];
 
% 流量
Q=[0,3,0,0,0,0,0,0,0,0,0,0;
   0,0,3,0,0,0,0,0,0,0,0,0;
   0,0,0,3,0,0,0,0,0,0,0,0;
   0,0,2,0,3,0,0,0,0,0,0,0;
   0,0,0,0,0,3,0,0,0,0,0,0;
   0,0,0,0,2,0,3,0,0,0,0,0;
   0,0,0,0,0,0,0,1,0,0,0,0;
   0,0,0,0,0,0,0,0,1,0,0,0;
   0,0,0,0,0,0,0,0,0,1,0,0;
   0,0,0,0,0,0,0,0,0,0,1,0;
   0,0,0,0,0,0,0,0,0,0,0,1;
   0,0,0,0,0,0,0,0,0,0,0,0];
 
 
 
 
 
 
 
%设备之间的最小间隔
JGX=[0,10,10,10,10,10,10,10,10,10,10,10;
    10, 0,10,10,10,10,10,10,10,10,10,10;
    10,10,0, 10,10,10,10,10,10,10,10,10;
    10,10,10, 0,10,10,10,10,10,10,10,10;
    10,10,10,10, 0,10,10,10,10,10,10,10;
    10,10,10,10,10,0 ,10,10,10,10,10,10;
    10,10,10,10,10,10, 0,10,10,10,10,10;
    10,10,10,10,10,10,10, 0,10,10,10,10;
    10,10,10,10,10,10,10,10, 0,10,10,10;
    10,10,10,10,10,10,10,10,10, 0,10,10;
    10,10,10,10,10,10,10,10,10,10, 0,10;
    10,10,10,10,10,10,10,10,10,10,10, 0;
    ]/5;
 
 
JGY=[0,10,10,10,10,10,10,10,10,10,10,10;
    10, 0,10,10,10,10,10,10,10,10,10,10;
    10,10,0, 10,10,10,10,10,10,10,10,10;
    10,10,10, 0,10,10,10,10,10,10,10,10;
    10,10,10,10, 0,10,10,10,10,10,10,10;
    10,10,10,10,10,0 ,10,10,10,10,10,10;
    10,10,10,10,10,10, 0,10,10,10,10,10;
    10,10,10,10,10,10,10, 0,10,10,10,10;
    10,10,10,10,10,10,10,10, 0,10,10,10;
    10,10,10,10,10,10,10,10,10, 0,10,10;
    10,10,10,10,10,10,10,10,10,10, 0,10;
    10,10,10,10,10,10,10,10,10,10,10, 0;
    ]/5;
 
 
 
%设备之间的间距
%d,变量d为优化后的值,通过优化后,获得各个设备的坐标位置,从而计算各个设备之间的距离,从得到C;
%同时,需要使得区域面积S最小
 
%矩形区域的长度,x轴
Len      = 100;  
%矩形区域的宽度,y轴
Wid      = 100;  
%各设备的最小水平间距
mindx    = 5;
%各设备的最小垂直间距
mindy    = 5;
%各设备到区域边界的最小距离
minds    = 5;
 
%遗传算法参数
%面积或者成本权值
alpha    = 0.5;
%种群规模
pop_size = 200;
%迭代次数
max_gen  = 400;
%变异概率
Pm       = 0.2;
n        = size(c,1);
%产生各个设备的区域限制范围
[Low_limit,Up_limit] = func_limit(Li,Len,Wi,Wid,minds,n);
 
%遗传算法优化
[BextXY,BextFit,ALLXY,ALLFit]=func_GA(   max_gen,...
                                         pop_size,...
                                         Pm,...
                                         Low_limit,...
                                         Up_limit,...
                                         Len,...
                                         Wid,...
                                         Li,...
                                         Wi,...
                                         c,...
                                         f,...
                                         Q,...
                                         JGX,...
                                         JGY,...
                                         mindx,...
                                         mindy,...
                                         alpha);
                             
X=BextXY{max_gen};
 
disp('遗传算法输出的最优结果为');
Xp = X(1:2:end)'
Yp = X(2:2:end)'
figure(4);
for i = 1:n
    func_positon(Xp(i),Yp(i),Li(i),Wi(i));
    hold on;
end
 
02_014m

标签:10,布置,...,matlab,GA,遗传算法,优化,设备
From: https://blog.51cto.com/matworld/5938431

相关文章

  • 基于GRNN网络和小波变换的ECG信号睡眠监测matlab仿真
    目录​​一、理论基础​​​​二、核心程序​​​​三、仿真测试结果​​作者ID:fpga和matlab擅长技术:1.无线基带,无线图传,编解码2.机器视觉,图像处理,三维重建3.人工智......
  • Chapter 13 Pygame flappybird
    importpygameimportsysimportrandomclassBird(object):"""定义一个鸟类"""def__init__(self):"""定义初始化方法"""self.birdRect=......
  • 31-WebAPP服务器TomCat及优化
    Tomcat基础功能Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,Tomcat具有处理HTML静态......
  • k8s部署konga
    1、创建pg---apiVersion:apps/v1kind:StatefulSetmetadata:name:postgresnamespace:kongspec:selector:matchLabels:app:postgresserv......
  • 【matlab基础】使用simulink同步CAN数据
    前言最近分析CAN报文数据,不同CAN通道的数据时间和size不一致,使用matlab中的simulink工具实现不同时间戳周期数据的对齐和同步。平常用得少,担心自己忘记了用的时候麻烦别人......
  • 【matlab工具箱使用】matlab工具箱标定相机
    前言印象中之前使用python和matlab都做过相机标定工作,只是没有记录,最近使用matlab工具箱记录下操作步骤。操作步骤1.打印一张棋盘格,把它贴在一个平面上,作为标定物,同时......
  • 504 gateway timeout 两种 情况与解决方案
    HttpClient 客户端访问服务器,产生的超时现象clientHttpClient(connectionTimeout,socketTimeout)->server若socketTimeout<server响应时间,则报异常Readtimedout(java.......
  • gameboy GB 第二次机器人大战G 金手指 VBA
    ------------------------------------------------------------------------------------------------------------------------------------------------------------......
  • gateway动态路由实现 mysql+redis 实现
    前言大家都知道咱们在通常是使用配置文件来实现配置,但是这样就有一个弊端,就是每次修改的时候都要去重启来实现,并且管理起来非常麻烦,所有就有了这种实现方式。现在的实现方式......
  • Gateway服务网关的介绍与使用
    什么是服务网关传统的单体架构中只需要开放一个服务给客户端调用,但是微服务架构中是将一个系统拆分成多个微服务,如果没有网关,客户端只能在本地记录每个微服务的调用地址,当需......