From 82d29450f2b7592d67b1a2fd0f0bc67a89e9f920 Mon Sep 17 00:00:00 2001 From: dothinking Date: Fri, 27 Aug 2021 11:14:28 +0800 Subject: [PATCH] update reference --- ...02\350\247\243\346\241\206\346\236\266.md" | 3 +++ ...07\346\264\276\347\256\227\346\263\225.md" | 23 +++++++++++++------ 2 files changed, 19 insertions(+), 7 deletions(-) diff --git "a/docs/2021-08-08-\344\275\234\344\270\232\350\275\246\351\227\264\350\260\203\345\272\246\351\227\256\351\242\230\346\261\202\350\247\243\346\241\206\346\236\266.md" "b/docs/2021-08-08-\344\275\234\344\270\232\350\275\246\351\227\264\350\260\203\345\272\246\351\227\256\351\242\230\346\261\202\350\247\243\346\241\206\346\236\266.md" index b662050..b8df7e6 100644 --- "a/docs/2021-08-08-\344\275\234\344\270\232\350\275\246\351\227\264\350\260\203\345\272\246\351\227\256\351\242\230\346\261\202\350\247\243\346\241\206\346\236\266.md" +++ "b/docs/2021-08-08-\344\275\234\344\270\232\350\275\246\351\227\264\350\260\203\345\272\246\351\227\256\351\242\230\346\261\202\350\247\243\346\241\206\346\236\266.md" @@ -55,6 +55,9 @@ https://github.com/dothinking/jsp_framework ## 参考文献 +- Blackstone, John H., Don T. Phillips, and Gary L. Hogg. "A state-of-the-art survey of dispatching rules for manufacturing job shop operations." The International Journal of Production Research 20.1 (1982): 27-45. + + - Zahmani, M. H. et al. ["Multiple priority dispatching rules for the job shop scheduling problem."](https://ieeexplore.ieee.org/document/7232991/) 2015 3rd International Conference on Control, Engineering & Information Technology (CEIT) (2015): 1-6. - 黄志, and 黄文奇. "作业车间调度问题的一种启发式算法." 计算机工程与应用 26(2004):25-27. \ No newline at end of file diff --git "a/docs/2021-08-28-\344\275\234\344\270\232\350\275\246\351\227\264\350\260\203\345\272\246\351\227\256\351\242\230\346\261\202\350\247\243\346\241\206\346\236\266\357\274\232\350\247\204\345\210\231\346\214\207\346\264\276\347\256\227\346\263\225.md" "b/docs/2021-08-28-\344\275\234\344\270\232\350\275\246\351\227\264\350\260\203\345\272\246\351\227\256\351\242\230\346\261\202\350\247\243\346\241\206\346\236\266\357\274\232\350\247\204\345\210\231\346\214\207\346\264\276\347\256\227\346\263\225.md" index 7f86d25..9b7af63 100644 --- "a/docs/2021-08-28-\344\275\234\344\270\232\350\275\246\351\227\264\350\260\203\345\272\246\351\227\256\351\242\230\346\261\202\350\247\243\346\241\206\346\236\266\357\274\232\350\247\204\345\210\231\346\214\207\346\264\276\347\256\227\346\263\225.md" +++ "b/docs/2021-08-28-\344\275\234\344\270\232\350\275\246\351\227\264\350\260\203\345\272\246\351\227\256\351\242\230\346\261\202\350\247\243\346\241\206\346\236\266\357\274\232\350\247\204\345\210\231\346\214\207\346\264\276\347\256\227\346\263\225.md" @@ -81,7 +81,9 @@ def user_defined_rule(op:OperationStep, solution:JSSolution): ## 典型规则 -接下来问题的关键在于设计什么样的规则来定义工序的优先级。实际问题中,基于不同的目标(交货周期、延误率、在制品数等),可能有各式各样的规则,但本质上都依赖于作业工序的相关属性。根据文献 [^1],通常关注如下3个静态属性和3个动态属性。 +接下来问题的关键在于设计什么样的规则来定义工序的优先级。实际问题中,基于不同的目标例如加工周期(flow-time)、延误时间(lateness / tardiness)、在制品数等,可能有各式各样的规则,但本质上都依赖于作业工序的相关属性。 + +文献 [^1] 总结了 34 个典型规则,并根据依赖属性的不同分为 4 类。本文参考文献 [^2] 的简化版本,介绍基于如下3个静态属性和3个动态属性得到的14个基本规则。 - 静态属性:工序/作业的固有属性,不随加工进度改变 @@ -116,7 +118,7 @@ No. Rules Description Type 14 MTWR Most Total Work Remaining Dynamic ``` -进而,组合其中的多个规则可以得到更多组合式规则。本文特别列出文献 [^2] 提出的一个组合式规则,姑且以作者姓氏命名为 `HH`。 +进而,组合其中的多个规则可以得到更多组合式规则。本文特别列出文献 [^3] 提出的一个组合式规则,姑且以作者姓氏命名为 `HH`。 $$z_{i,j} = \left (t_{i,j}+w_{i,j} \uparrow, \,\, r_{i,j}-1.5\,p_{i,j} \downarrow \right )$$ @@ -131,7 +133,7 @@ $$z_{i,j} = \left (t_{i,j}+w_{i,j} \uparrow, \,\, r_{i,j}-1.5\,p_{i,j} \downarro ## 计算实例 -上一节基本规则中,`SPT` 和 `MTWR`得到较多文献的关注;本节带上 `HH` 规则,在最小化加工周期的目标下,对比计算效率。 +几乎所有的文献都有一个共识:没有哪一种单一规则可以全方位优于其他规则,但折衷来看还是存在具有相对优势的某些规则。例如,上一节基本规则中的 `SPT` 和 `MTWR`得到较多文献的关注:文献 [^1] 认为 `SPT` 综合表现最好,文献 [^2] 则认为 `MTWR` 表现更好。本节带上 `HH` 规则,在最小化加工周期的目标下,看看效果究竟如何。 - `SPT` 优先加工耗时短的工序,即简单的事情先做 @@ -166,8 +168,6 @@ benchmark.run(show_info=True) - `HH`以极高的计算效率(精度和时间的平衡)展现了其实用性 -计算结果还是很符合我们日常行为处事的哲学的,优先做已经具备条件的事情(不浪费资源),在此基础上选择复杂度高的事情(抓主要矛盾)。 - ``` +----+---------+--------+---------------+--------------+----------+---------+------+ | ID | Problem | Solver | job x machine | Optimum | Solution | Error % | Time | @@ -217,7 +217,16 @@ benchmark.run(show_info=True) +----+---------+--------+---------------+--------------+----------+---------+------+ ``` -[^1]: Kaban, A. et al. "Comparison of dispatching rules in job-shop scheduling problem using simulation: + +计算结果还是很符合我们日常做事哲学的: + +**优先做已经具备条件的事情(不浪费资源),在此基础上选择复杂度高的事情(抓主要矛盾)**。 + + + +[^1]: Blackstone, John H., Don T. Phillips, and Gary L. Hogg. "A state-of-the-art survey of dispatching rules for manufacturing job shop operations." The International Journal of Production Research 20.1 (1982): 27-45. + +[^2]: Kaban, A. et al. "Comparison of dispatching rules in job-shop scheduling problem using simulation: a case study." International Journal of Simulation Modelling 11 (2012): 129-140. -[^2]: 黄志, and 黄文奇. "作业车间调度问题的一种启发式算法." 计算机工程与应用 26(2004):25-27. \ No newline at end of file +[^3]: 黄志, and 黄文奇. "作业车间调度问题的一种启发式算法." 计算机工程与应用 26(2004):25-27. \ No newline at end of file