能源消耗已经成为我们社会中的一个非常重要的问题, 制造业中的能耗需求就占了总能耗的33%, 释放的
本论文应用的背景主要是眼镜镜片的加热回火过程, 因为镜片毛坯通常由质地相对柔软的玻璃制成, 装入镜架前必须通过加热进行回火, 以增加强度, 而不同规格的镜片按照不同的固化曲线和控制程序进行加工, 固化时间也存在差异. 所以由于顾客产品尺寸不同, 种类的差异导致的加热时间不同, 可以看成差异工件的问题, 同时把加热的熔炉看作资源, 很多不同尺寸, 不同种类的镜片同时放入熔炉中进行加热, 可以把这些同时进行处理的镜片看成一批工件, 而所有工件尺寸和不能超过熔炉的容量, 加热过程中不允许中断. 在同时考虑生产效率和能源消耗下, 把最小化完成时间(
本文组织如下, 第二部分为问题描述和数学建模; 第三部分主要介绍遗传算法在考虑能耗的单机批调度中的应用; 第四部分为相关实验; 第五部为结论与展望.
1 问题描述 1.1 相关定义本论文是遗传算法在考虑能耗的单机批调度中的应用, 目标为最小化完工时间(
为了方便目标解的计算, 需要对调度过程中的机器状态进行说明, 加工状态(processing), 待机状态(idle), 关机状态(shutdown). 各种状态的转换如图1. 其中
加工与关机之间的转化需要考虑, 等待和关机之间可以通过加工状态间接转化, 所以不需要考虑直接转化, 而加工与等待之间的转化时间太短而不需要考虑.
1.2 数学模型 1.2.1 假设和约束(1) 工件集合
(2) J中工件分批加工, 任一批中的工件集合
(3) 加工不允许中断, 批b的加工时间
(4) 目标是如何安排生产, 使得
(1) 集合
J: 工件集合
B: 批次集合
T: 单位时间集合
S: 机器状态集合, S={1,2,3}, 1表示加工, 2表示待机, 3表示关机.
(2) 参数
(3) 问题的数学模型
$Min{C_{\max }}$ | (1) |
$Min\sum\limits_{t \in T} {{c_t}[\sum\limits_{b \in B} {{E^b}} \chi _b^t + \sum\limits_{s = 2} {{E_s}} \alpha _s^t + \sum\limits_{s,{s'} \in S} {{E_{s{s'}}}} \beta _{s{s'}}^t]} $ | (2) |
${\rm{s.t.}}\;\;\;\sum\limits_{b \in B} {y_j^b = 1,\;\;j \in J} $ | (3) |
$\sum\limits_{j = 1}^N {{s_j}} y_j^b \leqslant C,\;\;b \in B$ | (4) |
${P^b} = \max\{ {p_j}y_j^b\} ,\;\;j \in J,b \in B$ | (5) |
${E^b} = \max\{ {e_{\rm{j}}}y_j^b\} ,\;\;j \in J,b \in B$ | (6) |
$\sum\limits_{j = 1}^N {\frac{{{s_j}}}{C}} \leqslant m \leqslant N$ | (7) |
$\sum\limits_{b \in B} {\chi _b^t} \leqslant 1,\;\;t \in T$ | (8) |
$t \geqslant s{t^b} - (1 - \chi _b^t){P^b},\;\;b \in B$ | (9) |
$t \leqslant c{t^b} - 1 + (1 - \chi _b^t){P^b},\;\;b \in B$ | (10) |
$\sum\limits_{b \in B} {\chi _b^t} = \alpha _1^t,\;\;t \in T$ | (11) |
$\sum\limits_{s \in S} {\alpha _s^t} + \sum\limits_{s,{s'} \in S} {\beta _{s{s'}}^t} = 1,\;\;t \in T$ | (12) |
$\alpha _s^t \leqslant \sum\limits_{{s'} \in S,{T_{s{s'}}} = 0} {\alpha _{{s'}}^{t + 1} + \sum\limits_{{s^{''}} \in S,{T_{s{s^{''}}}} \geqslant 1} {\beta _{s{s^{''}}}^{t + 1}} } ,\;t \in T,t \ne card(T)$ | (13) |
$\beta _{s{s'}}^t \leqslant \beta _{s{s'}}^{t + 1} + \alpha _{{s'}}^{t + 1},\;\;t \in T,s \in S,{s'} \in S,{T_{ss'}} \geqslant 1$ | (14) |
$\begin{aligned} s_{{b'}}^{{t'}} \leqslant \sum\limits_{{t'} \leqslant t} {s_b^t} ,\;&{b} = 1,2, \cdots, m,\;b' = 1,2, \cdots, m,\;{b'} \leqslant b,\\ & {t} \in T,t' \in T\end{aligned}$ | (15) |
式(1)和(2)为目标问题; 式(3)保证每个工件只属于一个批; 式(4)保证每个批中工件总尺寸不超过机器总容量; 式(5)(6)说明批的加工时间为批中工件最长加工时间; 批的加工功率为批中工件最大加工功率; 式(7)给出总批数的取值范围; 式(8)保证每个时刻只能处理一个批; 式(9)(10)保证处理不被打断; 式(11)保证加工批时机器处于加工状态; 式(12)保证机器的状态; 式(13)(14)保证只有前一个操作结束后才能进行下一个操作; 式(15)保证批的顺序.
2 遗传算法在考虑能耗的单机批调度中的应用 2.1 编码与初始种群的产生本文采用基于工件序列的编码方式, 每个工件都用唯一的自然数表示, 对于N个工件的调度问题, 随机产生1到N的一个排列, 每个位置上的数字表示对应的工件号, 个体就用这组数字串表示. 而种群的大小根据研究问题的规模而定, 本论文中初始种群大小为20, 采用随机方法产生一组初始种群.
2.2 目标的评估本论文的目标问题为: 最小化完成时间(
机器是否等待的判断标准是, 对比当前和后一单位时刻电价, 如果当前电价较低则不等待直接加工; 反之, 让机器处于待机状态或者关闭机器.
令上一批的完工时间为
$\left\{\begin{aligned}&{c_{{t'}}} \geqslant {c_{{t'} + 1}}\\&P{E_{\rm{idle}}}\sum\limits_{t = {t'}}^{t + {T_{\rm{idle}}}} {{c_t}} + {E^b}\sum\limits_{t = {t'} + {T_{\rm{idle}}}}^{t + {T^b}} {{c_t}} \leqslant {E^b}\sum\limits_{t = {t'}}^{t + {T^b}} {{c_t}}\end{aligned}\right. $ | (16) |
$\left\{\begin{aligned}&{T_{\rm{idle}}} \! \geqslant \! {T_{\rm{on}}}\! +\! {T_{\rm{off}}}\\&P{E_{\rm{idle}}}\sum\limits_{t \in {T_{\rm{idle}}}} {{c_t}} \!\geqslant\! P{E_{\rm{on}}}\!\! \sum\limits_{t \in {T_{\rm{on}}}} {{c_t}} \!+\! P{E_{\rm{off}}} \!\! \sum\limits_{t \in {T_{\rm{off}}}} {{c_t}}\end{aligned} \right.$ | (17) |
本实验采用BF分批规则, 即工件
在实验中引入一种左移调度, 即
(1) K为总批数, k=K.
(2) 如果k<2, 程序结束, 反之h=k-1.
(3) 如果
(4) 找到
如果
因为每个决策者对最大完成时间和能耗总成本的关注程度不一样, 所以引入偏好矩阵
用
$\begin{aligned}&{G^i} = \sum\limits_{j = 1}^{PopSize} {{m_j}}\\&\left\{ {\begin{array}{*{20}{c}} {{m_j} = 1}&{j \prec i,i \ne j} \\ {{m_j} = 0}&{\rm{otherwise}} \end{array}} \right.\end{aligned}$ | (18) |
用
${S^i} = \sum\limits_{j = 1}^{PopSize} {{G^j}} ,\;\;\forall i \prec j$ | (19) |
所以
为了区分没有被其它解所支配的解的差异, 我们引入密度估计. 即根据
${\omega _i} = \sqrt {{{\left( {C_{\max }^{'i} - C_{\max }^{'j}} \right)}^2} + {{(TE{C^{'i}} - TE{C^{'j}})}^2}} $ | (20) |
${d_i} = \frac{1}{{\omega _{_i}^k + 2}},\;\;0 < {d_i} < 1$ | (21) |
决策者依据适应度值对目标值进行选择, 根据适应度值可以看出, 当适应度值越小代表个体越优.
本论文中采用优化的轮盘赌法与Metropolis准则相结合, 当一个种群被选中超过种群的20%需要对选择的个体进行修正, 主要是根据个体被选中的顺序对应原个体顺序来进行替换, 除了第一次出现的位置保持不变, 其它位置根据Metropolis规则来进行替换, 这样可以防止陷入僵局. 具体步骤如下:
(1) 对种群中的所有个体计算适应度值, 并将个体按从小到大的适应度值排列, 记为
(2) 根据选择概率轮盘赌选择个体, 并按选中的顺序排好序, 记为
(3) 根据
1) i为
2) 当
3) 当
(4)
本实验采用文献[7]提出的随机产生方法获得算例, 算例的规模按如下4个标准进行划分: 工件数量
为了对每类问题的算例进行标记, 用J1p1s1e1表示10个工件, 工件尺寸服从[1,10], 加工时间服从[1,10], 加工功率服从[3,5], 机器容量为10.
本文采用分时计价原则, 分时电价由电网的不同时期提供, 实验中采用夏季计价标准, 计价标准函数用
$c(t) = \left\{ {\begin{array}{*{20}{c}} 5,&{24n - 3 \leqslant t < 24n + 7} \\ 8,&{24n + 7 \leqslant t < 24n + 11} \\ {10},&{24n + 11 \leqslant t < 24n + 17} \\ 8,&{24n + 17 \leqslant t < 24n + 21} \end{array}} \right.$ | (22) |
对于本论文的实验结果, 分别从解的质量和算法性能两方面进行比较.
(1)解的质量用Pareto最优解集规模表示, Pareto最优解集规模为找到非支配解的数量, 解的数目越多, 选择余地更多.
(2)用解集之间的覆盖率来对算法性能进行衡量, 覆盖率C(A,B)表示算法B所求得的Pareto最优解集被算法A所生成解集支配的解的比例, 按照下式计算:
$C{\kern 1pt} {\kern 1pt} (A,B) = \frac{{|\{ b \in B|\exists a \in A:a \succ b{\kern 1pt} {\kern 1pt} {\kern 1pt} {\rm{or}}{\kern 1pt} {\kern 1pt} a = b\} |}}{{|B|}}$ | (23) |
其中,
本实验中的算法均在Matlab 2016a平台下实现, 每类问题随机生成10个算例, 每个算例各运行15次取平均值.
表4列出了在CEC和IEC下, 使用遗传算法在不同算例下找到的非支配解个数, 从表中可以看出, CEC找到的非支配解个数要明显优于IEC, 反映了在工件规模较大的情况下CEC对非支配解的搜索效果要优于IEC. 而且随着问题复杂程度的提高, 找到的非支配解个数呈现增加趋势.
表5列出了两种情况下在不同算例下找到的非支配解的质量对, 在J1类子问题中CEC的覆盖率和IEC的差不多, 但随着工件规模的增大, CEC的优势表现得更加明显, 说明在问题复杂度较高的情况下, CEC取得的非支配解在质量上要优于IEC.
为了更形象化了解在不同情况下, 不同类型算例下非支配解的分布和算法的迭代优化情况, 下面绘制了算例的非支配解部分分布图和部分算例迭代寻优曲线.
4 结论
本文研究了遗传算法在考虑能耗的单机批调度中的应用, 目标为最小化最大完工时间和最小化能耗成本, 应用背景主要来源于眼镜生产过程中镜片的固化加热过程. 本文主要通过优化的遗传算法找到帕累托最优解, 在能耗成本计算中引入分时计价原则, 并利用偏好矩阵来对完工时间和能耗成本之间进行权衡, 同时结合非支配解来计算适应度值. 从实验结果来看, CEC下获得的解集规模更大. 另外, 对生产调度中的问题考虑能耗成本后可以在得到比较合理的完工时间的同时大大节约能耗成本, 这样更能满足实际生产过程中的需求.
这里还有很多方面可以在以后进行研究, 比如对机器状态转换过程的判断标准, 分时计价中的时间周期和定价标准的影响等问题进行进一步分析与研究. 另一方面可以想办法提高遗传算法对非支配解的搜索能力, 更好的求解双目标的差异工件单机批调度问题.
[1] |
Taylor P, Francoeur M, d’Ortigue OL, et al. Worldwide trends in energy use and efficiency: Key insights from IEA indicator analysis. IEEJ Workshop. Tokyo, Japan. 2008.
|
[2] |
Ikura Y, Gimple M. Efficient scheduling algorithms for a single batch processing machine. Operations Research Letters, 1986, 5(2): 61-65. DOI:10.1016/0167-6377(86)90104-5 |
[3] |
Uzsoy R. Scheduling a single batch processing machine with non-identical job sizes. International Journal of Production Research, 1994, 32(7): 1615-1635. DOI:10.1080/00207549408957026 |
[4] |
Pechmann A, Schöler I. Optimizing energy costs by intelligent production scheduling. In: Hesselbach J, Herrmann C, eds. Glocalized Solutions for Sustainability in Manufacturing. Berlin, Heidelberg: Springer, 2011. 293–298.
|
[5] |
Yu W, Li BZ, Jia HY, et al. Application of multi-objective genetic algorithm to optimize energy efficiency and thermal comfort in building design. Energy and Buildings, 2015, 88: 135-143. DOI:10.1016/j.enbuild.2014.11.063 |
[6] |
Gong X, De Pessemier T, Joseph W, et al. A generic method for energy-efficient and energy-cost-effective production at the unit process level. Journal of Cleaner Production, 2016, 113: 508-522. DOI:10.1016/j.jclepro.2015.09.020 |
[7] |
Melouk S, Damodaran P, Chang PY. Minimizing makespan for single machine batch processing with non-identical job sizes using simulated annealing. International Journal of Production Economics, 2004, 87(2): 141-147. DOI:10.1016/S0925-5273(03)00092-6 |
[8] |
Damodaran P, Manjeshwar PK, Srihari K. Minimizing makespan on a batch-processing machine with non-identical job sizes using genetic algorithms. International Journal of Production Economics, 2006, 103(2): 882-891. DOI:10.1016/j.ijpe.2006.02.010 |
[9] |
Shrouf F, Ordieres-Meré J, García-Sánchez A, et al. Optimizing the production scheduling of a single machine to minimize total energy consumption costs. Journal of Cleaner Production, 2014, 67: 197-207. DOI:10.1016/j.jclepro.2013.12.024 |
[10] |
Che A, Zeng YZ, Lyu K. An efficient greedy insertion heuristic for energy-conscious single machine scheduling problem under time-of-use electricity tariffs. Journal of Cleaner Production, 2016, 129: 565-577. DOI:10.1016/j.jclepro.2016.03.150 |
[11] |
Oron D. Scheduling a batching machine with convex resource consumption functions. Information Processing Letters, 2011, 111(19): 962-967. DOI:10.1016/j.ipl.2011.07.005 |
[12] |
Liu GS, Zhang BX, Yang HD, et al. A branch-and-bound algorithm for minimizing the energy consumption in the PFS problem. Mathematical Problems in Engineering, 2013, 2013: 546810. |
[13] |
May G, Taisch M, Stahl B, et al. Toward energy efficient manufacturing: A study on practices and viewpoint of the industry. In: Emmanouilidis C, Taisch M, Kiritsis D, eds. IFIP International Conference on Advances in Production Management Systems. Berlin Heidelberg: Springer, 2012. 1–8.
|
[14] |
Nghiem TX, Behl M, Mangharam R, et al. Green scheduling of control systems for peak demand reduction. Proceedings of the 50th IEEE Conference on Decision and Control and European Control Conference (CDC-ECC). Orlando, FL, USA. 2011. 5131–5136.
|
[15] |
May G, Stahl B, Taisch M, et al. Multi-objective genetic algorithm for energy-efficient job shop scheduling. International Journal of Production Research, 2015, 53(23): 7071-7089. DOI:10.1080/00207543.2015.1005248 |