基于VBA对煤矿调度排班系统的研究论文_张继东

(身份证号码:14222719850926xxxx 神华神东寸草塔二矿 生产指挥中心)

摘要:利用EXCEL自带的VBA编程功能,对煤矿生产指挥中心调度员排班进行了智能优化与排班设计,实现了高效、快捷工作。

关键词:煤矿调度 VBA 排班

1.背景

煤矿企业实行24小时,三班倒制度,生产指挥中心(以下简称调度),要求24小时有人值守,工作实行两班倒制度。目前排班系统主要是利用EXCEL人工排班,由调度室内业资料员具体负责,每月排班前,内业资料管理员根据调度员的休班情况,一天一天人工手动排班,这样排班费时费力、盲目性、易出错,且排班效果不能达到最优。

针对手工排班的上述缺点,利用EXCEL进行智能排班想法应用而生,目前网上一些排班系统适应性差、可操作性不强,且没有专门针对煤矿调度的排班系统。

2.排班要求

2.1人员结构

我矿生产指挥中心(以下简称调度室),根据公司定员12人,具体人员分配为,主任1名,副主任1名,调度员10人,其中5人为生产调度员,5人为监控调度员。如下图所示:主任和副主任负责调度日常工作的管理,下有10个调度员负责调度台的日常工作。A1、A2、A3、A4为生产调度员,B1、B2、B3、B4为监测调度员,A5、B5两人生产调度和监测调度均可胜任工作。

图1生产指挥中心人员结构

2.2 排班要求

煤矿调度要求24小时双岗值班,两班倒制度,早班时间为8:00-18:00共计10个小时,夜班时间为18:00-8:00(次日),

(1)每天生产调度和监控调度必须保证两人上班。举例:1号,生产调度,早班、夜班必须都有人上班;监测调度,早班、夜班也必须有人上班,不能空班。

(2)排班优先选择,早班倒夜班这样类型的,因为早班的工作时间为早上8:00-下午18:00,夜班的工作时间为下午18:00-次日8:00.(如果甲上1号早班,那他最优的班次是上2号的夜班),如果早班倒夜班排不开,可以选择早、早、早,或者,夜,夜,夜,尽量不要出现连续四个夜班的。

(3)排班时候要注意,本月的最后一天与下月的第一天的情况。

(4)严禁出现夜班连早班或者早班连夜班情况,如(早班连夜班情况:1号的早班8:00-18:00,接着上1号的夜班18:00-2号8:00;夜班连早班情况:1号的夜班18:00-2号8:00,接着上2号早班8:00—18:00)

(5)员工除了正常公休外,还有其他几种类型的休假方式,婚、丧、产、年、探、事、可以一起列入其他类型(其他类型的下拉菜单中可以选择以上的几种班),排班表只是体现排班情况。

(6)输入调度员的休息需求,可以自动进行排班。

(7)每月的休息天数在8-10天进行浮动,每个人可以进行休息天数的选择。

2.3 优化算法

2.3.1多目标优化概述

最优化问题是工程时间和科研中经常遇到的问题,其中,仅有1个目标函数的最优化问题称为单目标优化问题。同理,目标函数超过1个并且需要同时处理的最优化问题称为多目标优化问题[1](multi-objective optimization problems,简称MOPS)。对于多目标优化问题,一个解对于某个目标来说可能是较好的,而对于其他目标来说可能是较差的。因此,在一个折中解的集合,称为最优解集。起初,多目标优化问题往往通过加权等方式转化为单目标问题,然后用数学规划的方法来求解,每次只能得到一种权值情况下的最优解。同时,由于多目标优化问题的目标函数和约束函数可能是非线性的,传统的数学规划方法往往效率较低,且他们对于权重值或目标给定的次序较敏感。遗传算法是模拟达尔文生物进化理论的自然选择和遗传学机理的生物进化过程的计算机模型,生物进化理论强调的是“适者生存,优胜劣汰”,遗传算法是一种通过模拟自然进化过程搜索最优解的方法。

基本思想:遗传算法里,被优化问题的解视为染色体,也可以叫个体或染色串,染色体一般被表示为字符;一定数量的染色体,即就是被优化问题的一组解,构成了种群,种群中个体的数量称为种群的大小,也叫种群规模;各个染色体的好坏用适应度来衡量,适应度表示为个体对环境的适应程度,适应度值的大的个体被选择继承下来的概率也大,适应度值小的被选择的概率就小;在种群进化过程中,通过选择、交叉和变异者三种操作来产生新的染色体并组成新的种群[2]。

2.2.2 数学模型建立

设对T天内的K个任务进行排班,共有M个人员可以执行该时间段内的工作任务。设M个人员有N类工作,则数学模型可以表示为如下形式:

约束条件的限制。

图2排班问题模型

2.3.3 排班原理

适应度与两个因素有关即优先级和可行性。

(1)距离该人员上次上班时间,定为优先级,用正整数表示1,2,3,4…N。

(2)排班当日是否休息(请假)定义为可行性,用0,1表示。

(3)运行级为正整数,数值越大,该运行级3的优先等级越高。排班时对员工的优先级进行初始优化。优先级与上次排班时间相关,调度室的排班为一月一排,本月月对下月值班情况进行提前安排,故当月排班与上月排班有关,主要影响因素为上月最后一天的班次,如上月的最后一天为夜班,则本月的第一天不能排早班,避免调度员24小时工作,造成疲劳上岗,诸如这类型的排班优先级别选择最低;上月最后一天为早班,本月第一天班次为早班,这样的班次为次低。排班的优先级别可以根据实际情况利用数值进行调整,数值越大排班的优先级别越高。

非本班工作人员在增加一个班长时间后,优先级别分别增加1,该班工作人员在上班后,优先级减少1。优先级不受可行性影响。

运行可行性为0表示该人员当前为休息状态,不参与排班;运行可行性为1表示该人员正常上班。运行可行性只与时间有关,不受优先级影响。

(4)适应度定义为优先级与可行性的乘积(适应度=优先级*可行性),为二者共同作用的结果。排班时,取当班优先级与可行性进行计算,以适应度最高的人员为当前上班人员,每排完一天的班次,第二天的排班优先级根据优先级调整原则进行调整,如此循环直到当月的班次全部排完为止。

3.1 VBA简介

VBA(Visual Basic for Application)是新一代标准宏语言。Excel是最早志成VBA的组件,Excel VBA作为一种扩展工具,在办公中得到了越来越广发的应用,原因在于,很多实际应用中复杂的Excel操作都可以利用VBA编程得到简化。迄今为止在Excel中使用VBA最常见的原因就是自动完成重复的工作,当然VBA不仅仅可以用于重复工作,还可以构建Excel新功能,例如可以开发新算法来分析数据,然后使用Excel中的图标功能显示结果,也可以执行将Excel与其他Office应用程序集成的任务。事实上,在所有Office应用程序中,Excel最常用作未一个类似于常规开发平台,从数据可视化到软件原型制作的大量任务中,开发人都可以使用VBA对Excel进行二次开发[3]。

3.2 功能实现

(1)设置月数,对单元格C2的数值根据月数变化自动更新。

TianShu=DateDiff("d",Sheet2.Range("c2"),DateSerial(Year(Sheet2.Range("c2")), Month(Sheet2.Range("c2")) + 1, 1)) '自动更新月数和

日期

(2)设定优先级别和运行可行性

Dim i As Integer

Dim j As Integer

Dim k As Integer

For i = 1 To TianShu

j = 0

k = 0

YouXianJi_i = 5

For j = 1 To 10

If PaibaiArr(j, 2) = YouXianJi_i Then

If Sheet2.Cells(Hang + j - 1, Lie + i - 1) = "" Then

Sheet2.Cells(Hang + j - 1, Lie + i - 1) = "早"

PaibaiArr(j, 2) = 0

For k = 1 To 10

If PaibaiArr(k,2)< YouXianJi_i And PaibaiArr(k, 2) <> "" Then

PaibaiArr(k,2)= PaibaiArr(k, 2) + 1

End If

Next k

Exit For

Else

YouXianJi_i = YouXianJi_i - 1

j = 0

End If

End If

(3)智能排班

将左上侧的日期修改为要排班月份第一天,点击清空排班。

将上月末优先级复制到左侧。

将要休的人员班的值班行输入“休”字,(可输入其它内容,非空即可)。

④分别点击两个排班,就可实现分别排班。

图3调度排班系统

3.结语

查阅了大量文献,发现国内对排班研究甚少,尤其对于煤矿调度排班,由于煤矿特殊的工作时间,导致排班复杂,本文只是对排班进行了初浅的研究,仅适用于某一特定的工作环境,和特定的人员结构 ,软件只是借助于ECXEL,没有进行软件的封装,且由于实际工作的多样性,往往在月初排班后,人员由于突发急事,需要临时休班,之后的排班往往需要进行人工手动调整;调度是两名机动人员(既可上生产调度也可上监测调度)在排班时候,必须固定一人上生产,一人上监测,实际中机动人员在一个月中可以根据实际情况上生产调度和监测调度灵活调整。在今后进一步的研究中,将对此进行改进和完善,希望对煤矿调度排班和类似的医院、厂区排班提供一定的借鉴。

参考文献

[1]高英.多目标优化的若干问题研究[D].呼和浩特:内蒙古大学,2010.

[2]周明,孙树栋.遗传算法原理及应用[M].北京:国防工业出版社,1999:18-32.

[3]刘瑞新.Visual Basic程序设计教程[M].北京:机械工业出版社,2002.

论文作者:张继东

论文发表刊物:《电力设备》2017年第24期

论文发表时间:2017/12/25

标签:;  ;  ;  ;  ;  ;  ;  ;  

基于VBA对煤矿调度排班系统的研究论文_张继东
下载Doc文档

猜你喜欢