From c4aae27de12ac875b6a2a30f050c47bf24884034 Mon Sep 17 00:00:00 2001 From: dothinking Date: Fri, 27 Aug 2021 09:54:38 +0800 Subject: [PATCH] minor update --- ...02\350\247\243\346\241\206\346\236\266.md" | 26 ++++++++++++++++++- ...07\346\264\276\347\256\227\346\263\225.md" | 9 +++++-- 2 files changed, 32 insertions(+), 3 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 d8d0e43..b662050 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" @@ -22,6 +22,14 @@ https://github.com/dothinking/jsp_framework ## 建模 +作业车间调度问题通常有两类描述方式: + +- 以工序开始时间为规划变量的线性规划数学模型 + +- 以工序顺序(作业工序顺序和机器工序顺序)为基础的析取图描述 + +本节从这两种描述入手认识作业车间调度问题,并基于此设计了整个求解框架,把问题分解、抽象为可重用的部分,从而专注求解算法的开发、实施和验证。 + - [问题描述](2021-08-08-作业车间调度问题求解框架:问题描述.md) - [Python建模](2021-08-14-作业车间调度问题求解框架:Python建模.md) @@ -31,6 +39,22 @@ https://github.com/dothinking/jsp_framework ## 求解 +作业车间调度问题通常有两类解法: + +- 精确解法例如线性规划、动态规划、分枝定界等 + +- 近似解法例如局部搜索(禁忌搜索、模拟退火等)、群体算法(遗传算法、蚁群、粒子群等)、基于规则算法等 + +精确解法理论上总能获得全局最优解,但是求解效率随着问题规模的增大而急剧下降,例如一个 `85 job x 8 machines` 问题的搜索空间达到了 $10^{880}$。**近似解法则追求以合理的计算时间获取较好质量的解,但不保证是全局最优解**。 + + - [OR-Tools 约束求解器](2021-08-22-作业车间调度问题求解框架:OR-Tools约束求解器.md) -- [基于规则指派](2021-08-22-作业车间调度问题求解框架:基于规则指派求解器.md) \ No newline at end of file +- [基于规则指派](2021-08-28-作业车间调度问题求解框架:基于规则指派求解器.md) + + +## 参考文献 + +- 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 9e42c97..7f86d25 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" @@ -23,7 +23,7 @@ tags: [job shop schedule] 2. 按照一定规则从 $\mathbb{Q}$ 中选择一个工序 $o_{i,j}$,分配到相应机器 $m_i$ 上 -3. 重复前两步直到 $\mathbb{Q} = \empty$ +3. 重复前两步直到 $\mathbb{Q} = \emptyset$ 流程非常简单,基于 `jsp_framework` 框架实现: @@ -215,4 +215,9 @@ benchmark.run(show_info=True) | 41 | ta70 | MTWR | 50 x 20 | 2995 | 4879.0 | 62.9 | 40.8 | | 42 | ta70 | HH | 50 x 20 | 2995 | 3438.0 | 14.8 | 41.2 | +----+---------+--------+---------------+--------------+----------+---------+------+ -``` \ No newline at end of file +``` + +[^1]: 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