当前位置: 首页 > news >正文

基于遗传算法的柔性生产调度研究(Matlab代码实现)

👨‍🎓个人主页:研学社的博客
💥💥💞💞欢迎来到本博客❤️❤️💥💥


🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。


座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁
目录
💥1 概述
📚2 运行结果
🎉3 参考文献
🌈4 Matlab代码实现

💥1 概述

摘要:针对传统作业车间调度存在加工设备功能单一、加工工序对应设备固定的问题,提出一种新型混合改进的遗传算法进行求解优化。首先,采用一种新的编码思想构建双层染色体编码结构,强化初始种群质量,提高种群的多样性;并给出相应的选择操作设计,交叉操作采用单段交叉、两段交叉和三段交叉机制,改善算法全局搜索能力,变异操作引入种群分割的思想,按照适应度将种群分割成两部分,并赋予不同的变异概率,实行两种变异机制,以提高算法的局部搜索能力;添加新的检查操作以增强优化过程的可行性。最后采用MATLAB编程,通过一个6个工件、每工件6道工序的应用实例进行测试,验证了该方法切实可行有效。

关键词:

遗传算法;柔性车间调度;优化;检查;

📚2 运行结果

部分代码:

%输入机器开始时间,结束时间,最大完工时间

%画出一个甘特图

function draw_gantt(code)

global mac_num;

global job;

[max_mac_time,mac_serial,mac_start,mac_end]=decode(code);

nb_mac=sum(mac_num);

axis([0,max_mac_time+5,0,nb_mac+0.5]);%x轴 y轴的范围

set(gca,'xtick',0:2:max_mac_time+5) ;%x轴的增长幅度

set(gca,'ytick',0:1:nb_mac+0.5) ;%y轴的增长幅度

xlabel('加工时间','FontName','微软雅黑','Color','b','FontSize',10)

ylabel('机器号','FontName','微软雅黑','Color','b','FontSize',10,'Rotation',90)

title('解码甘特图','fontname','微软雅黑','Color','b','FontSize',16);%图形的标题

color=rand(length(job),3);%生成随机的颜色,并使其方差和大于0.3,防止出现多个相似颜色

while sum(var(color))<0.26

color=rand(length(job),3);

end

for i=1:nb_mac

for j=1:length(mac_start{i})

rec=[mac_start{i}(j),i-0.3,mac_end{i}(j)-mac_start{i}(j),0.6];%设置矩形的位置,[矩形左下顶点的x坐标,y坐标,长度,高度]

txt=sprintf('p(%d,%d)=%3.1f',mac_serial{i}(j,1),mac_serial{i}(j,2),mac_end{i}(j)-mac_start{i}(j));%将工序号,加工时间连城字符串

rectangle('Position',rec,'LineWidth',0.5,'LineStyle','-','FaceColor',color(mac_serial{i}(j,1),:));%画每个矩形

text(mac_start{i}(j)+0.2,i,txt,'FontWeight','Bold','FontSize',10);%在矩形上标注工序号,加工时间

end

end

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]郭庆,张明路,孙立新等.基于遗传算法的柔性车间调度优化[J].科学技术与工程,2020,20(29):11931-11936.

🌈4 Matlab代码实现

相关文章:

基于遗传算法的柔性生产调度研究(Matlab代码实现)

&#x1f468;‍&#x1f393;个人主页&#xff1a;研学社的博客&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5;&#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密…...

Heroku的12条准则

I. Codebase One codebase tracked in revision control, many deploys 要有代码仓库&#xff0c;多版本控制&#xff0c;如使用git来管理代码仓库。 II. Dependencies Explicitly declare and isolate dependencies 明确声明依赖&#xff0c;隔离依赖。强依赖往往会导致连…...

Qt图片定时滚动

目录参考结构PicturePlay.promain.cpppictureplay.hpictureplay.cpppictureplay.ui效果参考 Qt图片浏览器 QT制作一个图片播放器 Qt中自适应的labelpixmap充满窗口后&#xff0c;无法缩小只能放大 可以显示jpg、jpeg、png、bmp。可以从电脑上拖动图到窗口并显示出来或者打开文件…...

深度学习引言

动手学深度学习pytorch版-笔记原文链接日常生活中的机器学习机器学习中的关键组件数据模型目标函数优化算法各种机器学习问题监督学习回归分类标记问题搜索推荐系统序列学习无监督学习与环境互动强化学习特点小结原文链接 动手学深度学习pytorch中文版 日常生活中的机器学习 …...

ESP32 WIFI使用介绍

ESP32 WIFI 概述 WIFI 库支持配置及监控 ESP32 WIFI 连网功能。支持配置 station 模式&#xff08;即 STA 模式或 WIFI 客户端模式&#xff09;&#xff0c;此时 ESP32 连接到接入点&#xff08;AP&#xff09;。AP 模式&#xff08;即 soft-AP 模式或接入点模式&#xff09;&…...

JavaEE简单实例——MyBatis的一对一映射的嵌套查询的简单介绍和基础配置

简单介绍&#xff1a; 在前一章我们介绍了关于MyBatis的多表查询的时候的对应关系&#xff0c;其中有三种对应关系&#xff0c;分别是一对一&#xff0c;一对多&#xff0c;多对多的关系。如果忘记了这三种方式的对应形式可以去前面看看&#xff0c;一定要记住这三种映射关系的…...

详解指针(进阶版)(1)

前言&#xff1a;总篇章分为&#xff08;1&#xff09;和&#xff08;2&#xff09;&#xff0c;本篇内容包括&#xff1a;指针数组&#xff0c;数组指针&#xff0c;&数组名与数组名的区分 数组传参 &#xff0c;函数指针&#xff0c;函数指针数组 part 1&#xff1a;指…...

【OJ】盐荒子孙

&#x1f4da;Description: 盐体图 盐是对人类生存具有重要意义的物质之一。当中国古人从肉食为主转向谷食为主的时候&#xff0c;吃盐的需求就发生了&#xff0c;因为动物血肉里面包含有足够人体所需的盐分&#xff0c;而谷 物本身不包含盐分。在长达几十万年的旧石器时代&…...

Java数据结构 —— 手写线性结构(稀疏数组、栈、队列、链表)

目录 稀疏数组 顺序表 链表 单向顺序链表 双向链表 双向循环链表求解约瑟夫环&#xff08;Joseph&#xff09; 栈 顺序栈 队列 顺序队列 顺序循环队列 稀疏数组 当一个数组中大部分值为0,或者相同时&#xff0c;可以采用稀疏数组的方式来保存&#xff0c;从而节约存储…...

docker部署gitlab过程中遇到的一些问题记录

文章目录用nginx代理docker部署的gitlab服务密码重置docker0网卡异常离线安装apt的包用nginx代理docker部署的gitlab服务 一般咱们不会去暴露很多端口给外面&#xff0c;所以部署完gitlab后&#xff0c;我希望能够用nginx来代理我们的gitlab服务。 gitlab的docker部署参考这个…...

数组的定义与使用

文章目录 数组的基本概念数组的基本用法数组与方法互操作一、数组的基本概念 数组&#xff1a;可以看成是相同类型元素的一个集合。在内存中是一段连续的空间。 注意&#xff1a;1. 数组中存放的元素其类型相同 2. 数组的空间是连在一起的 3. 每个空间有自己的编号&#xff0…...

SAP ABAP用程序删除开发KEY

在BASISI系统管理中&#xff0c;用户的开发Key存储在DEVACCESS表中&#xff0c;如果由于审计需要删除一些用户的开发Key&#xff0c;而系统有限制SM30, SE16 or SE16N 等事务码的使用&#xff0c;你就可以通过一个小程序去删除开发Key。 代码如下&#xff1a; REPORT ZBCDEV…...

安卓设备TF卡概率性无法识别问题

现象 使用t卡的设备出货前检测是正常的,放在仓库中或出货后再开机,有概率的机器无法识别,重新插拔或重启无效,拔下来放pc电脑上识别后再插回设备则恢复正常能识别。 设备信息 系统: Android 8.1.0 数量:抽检有12%的设备无法识别 TF卡:SanDisk Ultra 64GB 10 A1 microS…...

linux安装nodejs和微信小程序自动化部署操作

一.运行环境安装 Node.js 并且版本大于 8.0基础库版本为 2.7.3 及以上开发者工具版本为 1.02.1907232 及以上安装node.js(1).下载node包官网地址:https://nodejs.org/en/download/如果英文不好的,可以看中文网站:https://nodejs.org/zh-cn/download/点击上面的进行下载,当然,也…...

JavaScript高级 Proxy Reflect

1. Proxy 1. 监听对象的变化 有一个对象&#xff0c;我们希望监听这个对象中的属性被设置或获取的过程 我们可以通过 Object.defineProperty 来实现 const obj {name: "why",age: 18,height: 1.88 }// 需求: 监听对象属性的所有操作 // 监听属性的操作 // 1.针对…...

Eth-trunk :LACP模式链路聚合实战

Eth-trunk : LACP模式链路聚合实战 需求描述 PC1和PC3数据vlan10 &#xff0c;网段为192.168.10.0 /24PC2和PC4数据vlan20 &#xff0c;网段为192.168.20.0 /24确保设备之间互联互通&#xff0c;使用最大互联带宽并没有环路确保相同网段的PC可以互通判断交换机之间的每个端口…...

【第二章 - 线性表之顺序表】- 数据结构(八千字详解)

目录 一、线性表的定义和特点 二、线性表的顺序表示和实现 2.1 - 线性表的顺序存储表示 2.2 - 顺序表中基本操作的实现 三、练习 3.1 - 移除元素 3.2 - 删除有序数组中的重复项 3.3 - BC100 有序序列合并 3.4 - 88.合并两个有序数组 四、顺序表的问题及思考 线性表、…...

【史上最全面esp32教程】RGB彩灯篇

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录rgb彩灯的介绍使用方法连线库操作彩灯变换颜色实验彩灯呼吸灯效果总结提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 rgb彩灯的介绍 ESP32…...

大规模 IoT 边缘容器集群管理的几种架构-5-总结

前文回顾 大规模 IoT 边缘容器集群管理的几种架构-0-边缘容器及架构简介大规模 IoT 边缘容器集群管理的几种架构-1-RancherK3s大规模 IoT 边缘容器集群管理的几种架构-2-HashiCorp 解决方案 Nomad大规模 IoT 边缘容器集群管理的几种架构-3-Portainer大规模 IoT 边缘容器集群管…...

逆风翻盘拿下感知实习offer,机会总是留给有准备的人

个人背景211本&#xff0c;985硕&#xff0c;本科是计算机科学与技术专业&#xff0c;研究生是自学计算机视觉方向&#xff0c;本科主要做C和python程序设计开发&#xff0c;java安卓开发&#xff0c;研究生主要做目标检测&#xff0c;现在在入门目标跟踪和3d目标检测。无论文&…...

RocketMQ延迟消息机制

两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数&#xff0c;对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后&#xf…...

利用ngx_stream_return_module构建简易 TCP/UDP 响应网关

一、模块概述 ngx_stream_return_module 提供了一个极简的指令&#xff1a; return <value>;在收到客户端连接后&#xff0c;立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量&#xff08;如 $time_iso8601、$remote_addr 等&#xff09;&a…...

<6>-MySQL表的增删查改

目录 一&#xff0c;create&#xff08;创建表&#xff09; 二&#xff0c;retrieve&#xff08;查询表&#xff09; 1&#xff0c;select列 2&#xff0c;where条件 三&#xff0c;update&#xff08;更新表&#xff09; 四&#xff0c;delete&#xff08;删除表&#xf…...

抖音增长新引擎:品融电商,一站式全案代运营领跑者

抖音增长新引擎&#xff1a;品融电商&#xff0c;一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中&#xff0c;品牌如何破浪前行&#xff1f;自建团队成本高、效果难控&#xff1b;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...

TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案

一、TRS收益互换的本质与业务逻辑 &#xff08;一&#xff09;概念解析 TRS&#xff08;Total Return Swap&#xff09;收益互换是一种金融衍生工具&#xff0c;指交易双方约定在未来一定期限内&#xff0c;基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

基于Docker Compose部署Java微服务项目

一. 创建根项目 根项目&#xff08;父项目&#xff09;主要用于依赖管理 一些需要注意的点&#xff1a; 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件&#xff0c;否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...

C++.OpenGL (10/64)基础光照(Basic Lighting)

基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...

蓝桥杯 冶炼金属

原题目链接 &#x1f527; 冶炼金属转换率推测题解 &#x1f4dc; 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V&#xff0c;是一个正整数&#xff0c;表示每 V V V 个普通金属 O O O 可以冶炼出 …...

Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)

Aspose.PDF 限制绕过方案&#xff1a;Java 字节码技术实战分享&#xff08;仅供学习&#xff09; 一、Aspose.PDF 简介二、说明&#xff08;⚠️仅供学习与研究使用&#xff09;三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...

解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist

现象&#xff1a; android studio报错&#xff1a; [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决&#xff1a; 不要动CMakeLists.…...