APP下载

基于遗传算法的企业能源优化调度方法研究

2013-07-05吴辰超凌卫青戴毅茹

机电产品开发与创新 2013年1期
关键词:排程交叉染色体

吴辰超,凌卫青,戴毅茹

(同济大学CIMS研究中心,上海 201804)

0 引言

随着能源问题的日益加剧,企业迫切需要提高生产效率和资源利用率,达到交货期短、生产能耗小的生产要求,因此车间作业调度问题的研究显得尤为重要。本文以某重型装备企业生产流程作为模型,结合中心开发的企业生产与能耗耦合建模仿真软件对优化调度结果进行仿真。应用遗传算法,在机器准备时间、加工时间、单位时间能源消耗等初始参数不变的情况下,通过改变生产的投料顺序,达到总生产时间、总能源消耗最少的目标。

1 遗传算法与重型装备企业优化排程研究

1.1 重型装备企业特点

重型装备制造企业是典型的能耗大户,其消耗的能源介质包括电、煤、天然气、煤气、蒸汽、氧气、水等。重型装备制造企业能源管理普遍属于粗放型、分散化的模式,其热加工处理环节消耗能量巨大,热加工排程往往采用人工经验方式制定,没有考虑到能源约束,热加工环节往往不考虑到余热的回收利用,热能损失大,所以对重型的装备企业的能耗实行精细化管理、对企业的生产排程进行优化是企业节能减排与缓解企业能源约束矛盾的根本措施。

1.2 遗传算法优化调度应用

在国内企业对生产排程的调度由于技术上的制约,基本上是依靠技术人员的经验。随着智能算法尤其是遗传算法的研究越来越成熟,遗传算法在企业生产排程上的应用也越来越多。

基本遗传算法[6](简称SGA)是一种种群型操作,该操作以种群中的所有个体为对象,只使用基本遗传算子、选择算子、交叉算子和变异算子,其遗传进化操作过程简单,容易理解,是其他一些遗传算法的基础,不仅给各种遗传算法提供了一个基本框架,同时也具有一定的应用价值。选择、交叉和变异是遗传算法的三个主要操作算子,它们构成了所谓的遗传操作,使遗传算法有了其他传统方法没有的特点。

图1 遗传算法流程图Fig.1 Genetic algorithm flow chart

1.3 建模仿真工具介绍

优化结果的验证通过重型装备能耗耦合建模仿真软件来实现,该软件是用C#在.NET平台上开发的用来模拟企业生产过程中能源消耗过程。通过对重型装备企业生产流程的建模,能够清晰地反映出生产过程中的能源流、物料流、信息流和排放流。在设置完设备加工时间、设备能耗、加工订单数量、物料加工时间等参数后,通过对相应模型的仿真,能够得到一次加工过程所消耗的折标能源总量、单台设备所消耗的折标能源总量等数值,为验证优化结果是否正确提供了一条有效的途径。

2 遗传算法在生产调度中的应用

2.1 企业背景

某重型装备厂是一家典型的高能耗企业,该企业对于节能减排的需求相当迫切。近些年,企业结合自身情况逐步对一些耗能设备进行了节能改造。如锅炉加装分层燃烧装置,增设蒸汽蓄热器和引进天然气替代自制发生炉煤气及重油,但是随着公司热加工产品的比重上升,能耗呈加速上升趋势。

目前,比较常用的应用于企业节能减排的方法主要有以下几种方式。通过改变设备的工艺参数,在保证生产产品质量的情况下,减少工件加工时间、降低加工炉膛温度等。在生产过程中通过余热回收,提高燃油、煤炭等能源介质的热效率。改变生产排程,使工件间加工过程更加紧凑,从而提高了设备的利用率,减少了设备的开机总时间、启停次数、保温时间。本案例通过遗传算法对企业的生产排程及设备调度策略可行解进行快速搜索,找到最佳的生产排程及设备调度方案,实现企业节能减排的目标。

2.2 软件总体设计思想

遗传算法后台操作主要包含两个类:染色体类与遗传操作类。染色体类中包含了用来存储基本遗传信息的一些属性如染色体码、染色体适应值、染色体轮盘选择概率等。遗传操作类属性主要包含两部分数据,一部分是用来记录遗传操作控制信息如遗传代数、种群大小、交叉概率、变异概率等。另一部分用来记录每一代进化过程中的中间信息如染色体种群适应值的平均值、染色体种群中最优染色体、染色体种群中最差染色体等。

(1)编码设计。遗传算法编码采用整数编码,将一条染色体分成两部分,前半部分为企业生产计划信息,例如 [3142]编码方式表示企业先加工3号订单,其次是1号与4号订单,最后是2号订单。后半部分为设备调度策略信息,例如 [1132]编码方式表示1号设备使用第一种工件进入策略,第2台设备使用第一种工件进入策略,第三台设备使用第三种工件进入策略。设备的每种进入策略包含在建模信息中,只要在仿真过程中读取即可,如第一种工件进入策略为先到先加工(FIFO),第二种工件进入策略为最短加工时间优先(SPT),只需根据建模信息映射即可。在软件中,染色体编码信息以动态数组(List<>)的方式保存。

(2)适应度函数设计。针对优化目标为生产能耗最小的情况,选取电消耗、天然气消耗、煤气消耗折标求和后的值直接作为优化的适应度函数。由于本案例属于最小化优化问题,所以在做选择操作时必须以适应值最小作为最优条件。

(3)遗传操作设计思想:①初始化种群操作:主要根据优化操作的基本信息生成符合要求的初始种群;②选择操作:采用轮盘赌选择方法。进行轮盘赌选择操作时,首先按照适应值大小进行排序,适应值小的染色体排在前,适应值大的染色体排在后,然后进行选择概率统计,计算出每条染色体的适应值与所有染色体适应值的和之间的比值。由于该问题是最小化问题,所以在计算完概率值后,将对应染色体的概率值进行逆序操作,保证适应值小的染色体被选择到的概率大。完成这些操作后再分别将这些数值从第一条染色体开始进行累加,并将累加值存入对应的染色体中。进行选择时,只需用调用Random类的NextDouble方法,生成一个0~1之间的随机小数,并将其与遗传池中的每个染色体累计值进行比较,当随机小数值大于染色体累积值时,选择当前染色体进入选择池。重复此操作,直到选择的染色体数量满足种群大小要求;③交叉操作:按照交叉概率选择一定数量的染色体进入交叉池,例如当交叉概率为0.4,种群大小为10时,则选择4条染色体进入交叉池执行交叉操作,交叉的方法采用单点交叉法,交叉点的位置由随机数生成,由于订单排程编码必须保证唯一性原则,所以交叉点选择范围为第一个设备策略码至最后一个策略码;④变异操作:按照变异概率选择一定数量的染色位并改变其值,当变异概率为0.05时,表示每一百个染色体位中,有五个位要发生变异。变异操作的实现是通过对染色体池中的每条染色体的每一位进行遍历,每次遍历通过Random类的NextDouble方法,生成一个0~1之间的随机小数,当该小数小于变异概率时,则进行当前位的变异操作。

2.3 仿真结果及分析

为验证算法解决调度问题的有效性,结合某重型装备企业的生产流程与生产仿真软件进行仿真,工件加工路径在建模时确定,工件加工时间、准备时间等设备参数在仿真前设定。加工初始订单根据企业生产情况确定,如图2所示。

图2 生产计划输入界面Fig.2 Production plan input interface

遗传算法使用的参数如下:种群大小M=20;遗传运算终止进化代数T=30;交叉概率=0.5;变异=0.05。由仿真优化报告可知,当按照优化算法得出订单投料顺序为1324、机器使用调度策略如图3所示时,生产能耗(折标能耗)比使用随机投料与机器随机调度方式的情况下的能耗少了7.09%。

图3 优化结果展示界面Fig.3 Optimization results show interface

3 结束语

遗传算法提供了一种求解复杂系统优化问题的通用框架,它不依赖于问题的具体领域,对问题的种类有很强的鲁棒性,遗传算法是解决生产调度问题的一种有效途径。生产调度问题在很多情况下建立起来的数学模型难以精确求解,即使经过一些简化之后可以进行求解.也会因简化得太多而使得求解结果与实际相差甚远。目前在单件生产车间调度、流水线生产间调度、生产规划、任务分配等方面遗传算法都得到了有效的应用。

[1]王锡禄.Job-Shop调度问题的优化模型及算法[J].系统工程理论与实践,2000,1.

[2]谢胜利,策金祥,黄强.基于遗传算法的车间作业调度问题求解[J].计算机工程与应用,2002,10.

[3]王凌.车间调度及其遗传算法[M].清华大学出版社,2003.

[4]陆薄.作业车间调度的建模及优化方法研究[D].上海.上海交通大学,2007.

[5]冯红娟.基于遗传算法的车间作业调度问题研究[D].长春理工大学,2008.

[6]周明,孙树栋.遗传算法原理及应用[M].国防工业出版社,1999.

猜你喜欢

排程交叉染色体
“六法”巧解分式方程
面向FMS的低碳生产排程方法研究
多一条X染色体,寿命会更长
为什么男性要有一条X染色体?
快思聪:让会议室更高效的房间排程系统
连数
能忍的人寿命长
连一连
再论高等植物染色体杂交
考虑疲劳和工作负荷的人工拣选货品排程研究