第1章 调度问题与免疫调度算法 1
1.1 调度问题和调度解 2
1.2 调度算法分类 3
1.2.1 数学规划方法 3
1.2.2 调度规则 4
1.2.3 基于邻域搜索的调度算法 8
1.2.4 进化算法 10
1.2.5 蚁群算法 11
1.2.6 微粒群算法 11
1.2.7 人工神经网络 12
1.3 人工免疫系统 12
1.3.1 免疫学中的基本概念 12
1.3.2 免疫系统的基本原理 15
1.3.3 人工免疫系统的应用 20
1.4 免疫调度算法 28
参考文献 30
第2章 调度模型、编码及分类 41
2.1 调度问题的模型 41
2.1.1 析取图模型 41
2.1.2 数学规划模型 48
2.1.3 仿真模型 49
2.2 调度问题的分类 52
2.2.1 单机调度问题 52
2.2.2 并行机调度问题 52
2.2.3 车间调度问题 53
2.3 调度问题的描述 55
2.3.1 三元组表示法 55
2.3.2 调度问题的数据 58
2.4 调度解的类型 59
2.4.1 可行调度 60
2.4.2 半活动调度 60
2.4.3 活动调度 61
2.4.4 非延迟调度 61
2.4.5 参数化活动调度 62
2.5 调度解的编码 63
2.5.1 基于工件的编码 64
2.5.2 基于操作的编码 64
2.5.3 基于优先级列表的编码 64
2.5.4 基于优先规则的编码 65
2.5.5 基于析取图的编码 66
2.5.6 基于完成时间的编码 67
2.5.7 基于机器的编码 67
2.5.8 基于随机键的编码 68
2.5.9 参数化活动调度编码 69
参考文献 71
第3章 免疫遗传调度算法 74
3.1 免疫遗传算法 74
3.1.1 抗体多样性表达 74
3.1.2 算法的步骤 75
3.2 用于JSP的免疫遗传算法 76
3.2.1 抗体和抗原的关系 77
3.2.2 抗体和抗原的交互进化 77
3.3 用于HFSP的免疫遗传算法 78
3.3.1 带有SDST的混合FSP 78
3.3.2 免疫调度算法 80
3.4 用于FMS的免疫遗传算法 85
3.4.1 机器选择和操作分配问题 85
3.4.2 免疫调度算法 88
参考文献 90
第4章 克隆选择调度算法 91
4.1 克隆选择算法 91
4.1.1 用于模式识别问题 92
4.1.2 用于优化计算问题 92
4.2 用于JSP的基于基因库的免疫调度算法 94
4.2.1 抗体的表达 94
4.2.2 免疫调度算法 94
4.3 用于JSP的多模态免疫调度算法 95
4.3.1 标识轻链 95
4.3.2 抗体亲和力 97
4.3.3 克隆扩增、超突变和选择 97
4.3.4 基因片段重组 98
4.3.5 抗体多样性 99
4.3.6 停止准则 100
4.4 用于JSP的田口免疫调度算法 101
4.4.1 群体初始化 101
4.4.2 克隆扩增和超突变 101
4.4.3 基于田口方法的重组 102
4.4.4 变异操作 103
4.4.5 田口免疫算法的步骤 103
4.5 用于柔性JSP的克隆选择调度算法 105
4.5.1 柔性Job shop调度问题 106
4.5.2 免疫调度算法 107
4.6 用于非等待FSP的心理学克隆选择调度算法 109
4.6.1 非等待流水线调度问题 110
4.6.2 马斯洛的需求层次理论 110
4.6.3 心理学克隆算法 111
4.6.4 用于非等待流水线调度问题 112
4.7 用于机器负载问题的免疫调度算法 113
4.7.1 机器负载问题 113
4.7.2 改进的免疫算法 116
4.7.3 用于机器负载问题 118
4.8 用于非等待FSP的多目标免疫调度算法 120
4.8.1 问题的优化目标 120
4.8.2 多目标免疫算法 120
4.9 用于HFSP的克隆选择调度算法 124
4.9.1 免疫调度算法 124
4.9.2 克隆选择 125
4.9.3 亲和力成熟 125
4.9.4 受体编辑 125
4.9.5 多步实验设计 126
4.10 用于置换FSP的克隆选择调度算法 127
4.10.1 带缓存的置换流水线调度问题 127
4.10.2 免疫调度算法 129
4.11 用于不确定JSP的变邻域免疫调度算法 130
4.11.1 不确定调度问题建模 130
4.11.2 不确定调度问题的优化 132
4.11.3 实验结果 137
4.12 用于公交车辆调度的克隆选择调度算法 142
4.12.1 公交车辆调度问题 143
4.12.2 西安市43路公交车辆的调度 144
4.12.3 南京市1路公交车辆的调度 152
4.13 小结 157
参考文献 158
第5章 其他免疫调度算法 162
5.1 基于疫苗的免疫调度算法 162
5.1.1 免疫算法 162
5.1.2 免疫调度算法 163
5.2 基于树枝细胞算法的调度异常检测 166
5.2.1 实时嵌入系统的任务调度 166
5.2.2 基于DCA的调度异常检测 166
5.3 基于免疫智能体的分布系统任务分配 169
5.3.1 H细胞和S细胞智能体 170
5.3.2 Hector环境下的实现 170
5.4 基于免疫网络的机器人动态任务分配 171
5.5 小结 172
参考文献 172
第6章 混合免疫调度算法 174
6.1 克隆选择与模拟退火的混合 174
6.1.1 机器可用性约束 174
6.1.2 人工免疫算法 175
6.2 免疫接种与模拟退火的混合 177
6.2.1 疫苗接种 178
6.2.2 免疫模拟退火算法 179
6.3 克隆选择与微粒群的混合 181
6.3.1 个体表达和初始化 181
6.3.2 微粒群调度算法 182
6.3.3 免疫调度算法 183
6.3.4 基于微粒群和克隆选择的混合算法 184
6.4 细胞自动机、遗传算法与人工免疫的混合 185
6.4.1 多处理器任务调度 185
6.4.2 细胞自动机 186
6.4.3 基于细胞自动机和遗传算法的调度 186
6.4.4 基于人工免疫系统的重调度 188
6.5 禁忌搜索与免疫算法的混合 189
6.5.1 基于AIS和TS的混合算法 190
6.5.2 AIS的操作 191
6.5.3 TS操作 192
6.5.4 实验结果 193
6.6 免疫算法与调度规则的混合 200
6.6.1 卷烟生产调度问题 200
6.6.2 调度问题的工作流仿真模型 205
6.6.3 调度算法 206
6.6.4 实验结果 211
6.7 小结 217
参考文献 217
第7章 免疫调度算法的应用 221
7.1 制造领域中的应用 221
7.1.1 Job shop调度 221
7.1.2 Flow shop调度 223
7.1.3 混合Flow shop调度 224
7.1.4 柔性制造车间调度 224
7.2 项目管理中的应用 225
7.3 交通领域中的应用 226
7.3.1 车辆路由问题 226
7.3.2 公交调度问题 227
7.4 计算机领域中的应用 227
7.4.1 多处理器的任务调度 227
7.4.2 分布式计算的任务分配 230
7.4.3 任务调度的异常检测 231
7.5 通信领域中的应用 231
7.6 发电厂中的应用 231
7.6.1 机组负荷分配 231
7.6.2 电厂经济调度 232
7.7 钢厂中的应用 232
7.8 水库管理中的应用 234
7.9 小结 234
参考文献 234