1. 什么是JobShop问题

  1. Job,中文翻译成工件。一个工件又由若干道工序加工完成。
  2. resource, 资源。在本文的车间调度中资源指的是机器,每道工序要在某个特定机器上加工。
  3. Constraint, 约束。在车间调度中约束主要有以下两种:
    1. 同一个工件包含的工序有先后顺序。
    2. 每个机器不能同时处理两道工序,因此这台机器上完成工序时要串行,不能并行。
  4. Objective,目标。JobShop问题的一个常见目标是使所有工件完成的总时间最小,这个总时间英语叫做Makespan。

一个JobShop问题可以用一个表格来刻画,例如下面的表格:

   θ(1,1) θ(1,2)  θ(2,1)   θ(2,2)
 r (i,j)  1  2  2  1
 D (i,j)  3  2  5  1

θ表示工序,例如, θ(1,1)就表示第1个工件的第1道工序。

r (i,j)表示机器编号,例如,r(1,1)=1,表示第一个工件的第一道工序的加工机器号为1。

D (i,j) 表示加工时间,例如,D(1,1)=3,表示第一个工件的第一道工序的加工需要3个单位的时间。

JobShop问题的一个解可以用一个加权有向无环图来表示,请看下面的一个有向无环图:

这个加权有向无环图就代表上述JobShop问题的一个解,我们可以看到每个工序作为图中的一个节点出现,权重就是这个节点对应的加工时间。工序之间的先后顺序用箭头表示,在这里需要注意的是:除了同一个工件下面的工序之间有先后顺序外,同一台机器上加工的工序也要串行。另外,我们增加了两个虚节点,分别为 θI 和 θF,表示开始和结束。从θI有箭头指向每个工件的第一道工序,从每个工件的最后一道工序出发用箭头指向 θF。虚节点的加工时间为0。

一个有向无环图中有若干条从θI到θF的路径,在这些路径中我们找出那条路径上所有节点的权重相加最大的那一条,这个最大的权重和就是这个解对应的makespan,即所有工件加工完毕所需的时间。

注意:所有工件都完成的总时间(Makespan)不是3+2+5+1=11,而是上面那个有向完全图中所有能从开始节点到达结束节点的全体路径中那条所需时间最长的路径花费的时间,即7.下面是另外两个有向图,即另外两个解的例子:

2. 遗传算法与JobShop

遗传算法是一种随机搜索算法,它主要分为六大功能模块:编码、交叉、变异、解码、评价、选择。整个算法的流程如下:

  1. 编码:

我们利用工件号的排列来表示工序的先后顺序,例如:1212这个排列中第一个1代表第一个工件的第一道工序,第二个1代表第一个工件的第二道工序,第一个2代表第二个工件的第一道工序,第二个2代表第2个工件的第二道工序。可见,1212这个排列可以完全体现出上面的有向无环图中体现的节点先后顺序。

需要说明的是一个有向无环图可能对应多个工件号的排列方式,例如,1212,2121,1221,2112都对应上面的有向无环图。

在遗传算法中首先做的就是编码,即随机生成若干个工件号的排列,这些个随机生成的排列构成的集合被称为种群,每个排列被称为染色体。

如图所示,种群大小为4,该种群中包含4条染色体,分别为2211,1212,1122,2121。请思考为什么1111为非法染色体?

转载于:https://www.cnblogs.com/zhaogeatdlnu/p/5668271.html

遗传算法在JobShop中的应用研究(part1: 绪论)相关推荐

  1. 机器学习在本体中的应用研究文献综述

    机器学习在本体标注中的应用研究文献综述<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office& ...

  2. 计算机在多媒体技术中的应用研究,计算机技术在图形图像处理中的应用研究

    计算机技术在图形图像处理中的应用研究 随着信息技术的发展,图像处理技术在日常生活中的应用越来越普遍,下面是小编搜集整理的一篇探究计算机技术在图形图像处理应用的论文范文,供大家阅读参考. 摘要:随着计算 ...

  3. ae制h5文字动画_AE动画在H5设计中的应用研究

    龙源期刊网 http://www.qikan.com.cn AE 动画在 H5 设计中的应用研究 作者:刘洁羽 来源:<大观> 2018 年第 12 期 摘 要:伴随智能手机和互联网移动终 ...

  4. 当代计算机技术在建筑设备中的应用,智能化建筑中计算机技术应用研究原稿(样例3)...

    <智能化建筑中计算机技术应用研究(原稿).doc>由会员分享,可免费在线阅读全文,更多与<智能化建筑中计算机技术应用研究(原稿)>相关文档资源请在帮帮文库(www.woc88. ...

  5. 用计算机模拟物理学,计算机模拟技术在医学物理学教学中的应用研究.pdf

    计算机模拟技术在医学物理学教学中的应用研究.pdf _135 2009年 7月 中国医学物理学杂志 Jll1.,2009 第26卷第4期 ChineseJournalofM edicalPhysics ...

  6. 计算机教学辅助在教学中的应用研究,云计算辅助教学在高职计算机教学中的应用研究.doc...

    云计算辅助教学在高职计算机教学中的应用研究 云计算辅助教学在高职计算机教学中的应用研究 雷鸣 永州职业技术学院 X 关注成功! 加关注后您将方便地在 我的关注中得到本文献的被引频次变化的通知! 新浪微 ...

  7. WEB服务在单点登录系统中的应用研究

    WEB服务在单点登录系统中的应用研究 转载于:https://blog.51cto.com/hnoas/105573

  8. c语言的舞蹈机器人开题报告范文,现代舞编创手法在拉丁表演舞中的应用研究—本科开题报告...

    现代舞编创手法在拉丁表演舞中的应用研究-本科开题报告 选题依据:(包括目的.意义.国内外研究的有关情况) 选题目的与意义: 选题目的: 现代舞是新舞蹈,是与传统舞蹈的思维方式完全不同的新式舞蹈.简而言 ...

  9. 计算机在输电线路设计中的应用研究,计算机在输电线路基础设计中的应用原稿(备份存档)...

    <计算机在输电线路基础设计中的应用(原稿).doc>由会员分享,可免费在线阅读全文,更多与<计算机在输电线路基础设计中的应用(原稿)>相关文档资源请在帮帮文库(www.woc8 ...

最新文章

  1. 华为机考HJ2计算字符个数
  2. 从零开始一起学习SLAM | 不推公式,如何真正理解对极约束?
  3. 自动化运维平台OMserver部署过程中解决的问题1
  4. C++语言标准库functional中的函数对象,绝对是装B神器~
  5. DayDayUp:朋友圈有趣的职场跳槽微小说《华为跳阿里→阿里跳腾讯→腾讯跳百度→百度跳华为》
  6. 嵩天-Python语言程序设计程序题--第二周:基本图形绘制
  7. java system.setproperties_在JAVA中 System.getProperty 和 System.setProperty 方法.
  8. [原]简述Field,Attribute,Property的区别
  9. bzoj1296 [SCOI2009]粉刷匠 区间dp+背包
  10. Django APIView源码解析
  11. Julia 创始人访谈:简单机器学习任务可与 Python 媲美,复杂任务胜过 Python
  12. 银行家算法的数组方式实现
  13. java二手书交易系统_基于Java的二手图书交易系统后台设计与实现.doc
  14. H5基础阶段二(表格、表单)
  15. 山东大学高频电子线路实验三 正弦波振荡器实验详解
  16. Python软件无线电(1):概述
  17. 企业级POS收银系统源码(客户端+后台)
  18. css中设置字体下划线,css如何设置字体下划线
  19. P1107 [BJWC2008]雷涛的小猫
  20. hdu 6863 Isomorphic Strings

热门文章

  1. ue4 怎么传递变量到另一个蓝图_资深建模教你放置UE4蓝图节点,所以你就不要偷懒啦,认真点学...
  2. MYSQL专题-绝对实用的MYSQL优化总结
  3. 网关流控利器:结合 AHAS 实现 Ingress/Nginx 流量控制
  4. 从 “香农熵” 到 “告警降噪” ,如何提升告警精度?
  5. Go 开发关键技术指南 | Go 面向失败编程 (内含超全知识大图)
  6. (一)机器学习数据处理
  7. python leetcode_LeetCode刷题——第8天(python)
  8. android adapter 按钮隐藏 第一个无效_Android开发规范
  9. 创建QT项目时只有.pro文件,源文件和头文件
  10. 【图像分类】基于Pascal VOC2012增强数据的多标签图像分类实战