|第1篇最优化算法与编程基础|
第1章最优化算法概述 2
1.1 最优化算法简介 3
1.2 最优化算法的内容 4
1.2.1 规划论 4
1.2.2 库存论 5
1.2.3 图论 6
1.2.4 排队论 7
1.2.5 可靠性理论 8
1.2.6 对策论 8
1.2.7 决策论 8
1.2.8 搜索论 9
1.3 本章小结 9
第2章 Python编程方法 10
2.1 开发环境安装 11
2.2 编程基础:Python语法 17
2.2.1 基础数据结构与基本运算 18
2.2.2 关于Python的列表、元组、字典、集合 18
2.2.3 程序控制语句 21
2.2.4 函数 21
2.2.5 类与实例 22
2.2.6 迭代 23
2.3 数据分析:NumPy基础 24
2.3.1 NumPy基础数据结构 24
2.3.2 NumPy的随机数 26
2.3.3 NumPy矩阵运算 28
2.3.4 NumPy线性代数 31
2.4 Pandas基础 32
2.4.1 Pandas基础数据结构 32
2.4.2 Pandas基础统计函数 35
2.4.3 Pandas基础数据处理 37
2.4.4 分组统计 39
2.4.5 apply函数 41
2.5 Python绘图 42
2.5.1 常用图形 43
2.5.2 图形属性 47
2.5.3 组合图和子图 49
2.5.4 三维图 51
2.5.5 动态图 55
2.6 本章小结 57
第3章Gurobi优化器 58
3.1 Gurobi的数据结构 59
3.1.1 Multidict 59
3.1.2 Tuplelist 60
3.1.3 Tupledict 61
3.1.4 应用范例 62
3.2 Gurobi的参数和属性 65
3.2.1 参数类型 65
3.2.2 修改参数 75
3.2.3 修改参数的例子 75
3.2.4 属性类型 77
3.2.5 查看修改属性 85
3.2.6 修改属性的例子 85
3.3 Gurobi线性化技巧 85
3.3.1 最大值max 86
3.3.2 最小值min 88
3.3.3 绝对值abs 89
3.3.4 逻辑与and 90
3.3.5 逻辑或or 90
3.3.6 指示函数indicator 90
3.3.7 带固定成本约束 91
3.3.8 分段线性函数 91
3.4 Gurobi多目标优化 92
3.5 callback函数 96
3.5.1 回调函数callback定义 97
3.5.2 状态where与值what 97
3.5.3 callback函数的功能 98
3.6 本章小结 102
|第2篇数学规划方法|
第4章线性规划 104
4.1 线性规划的标准型 105
4.2 单纯形法 105
4.2.1 单纯形法的原理 106
4.2.2 单纯形法的过程 106
4.2.3 单纯形法代码 111
4.3 单纯形的数学规范型 113
4.4 内点法 114
4.4.1 内点法的原理 114
4.4.2 内点法过程 115
4.4.3 内点法代码 118
4.5 列生成法 120
4.5.1 列生成法的原理 120
4.5.2 列生成的过程 123
4.6 对偶问题 126
4.6.1 对偶问题的形式 127
4.6.2 对称形式对偶 128
4.6.3 对偶单纯形 129
4.6.4 对偶问题的应用 130
4.7 拉格朗日乘子法 130
4.7.1 无约束优化 131
4.7.2 等式约束优化 131
4.7.3 不等式约束优化 132
4.7.4 拉格朗日对偶 134
4.8 本章小结 137
第5章整数规划 138
5.1 快速掌握Gurobi整数规划 139
5.2 分支定界法 140
5.3 割平面法 142
5.4 本章小结 147
第6章多目标优化 148
6.1 多目标优化的一般形式 149
6.2 Pareto最优解 149
6.3 多目标优化求解方法 151
6.4 目标规划法 152
6.4.1 偏差变量 153
6.4.2 优先等级和权重系数 153
6.4.3 目标规划单纯形法 154
6.4.4 目标规划Gurobi实现 158
6.5 NSGA-Ⅱ 159
6.6 本章小结 160
|第3篇启发式算法|
第7章动态规划 162
7.1 多阶段决策问题 163
7.2 动态规划的基本概念 164
7.3 动态规划的最优化原理 165
7.4 最短路径问题 166
7.5 使用整数规划解最短路径问题 169
7.6 背包问题 170
7.7 本章小结 175
第8章图与网络分析 176
8.1 图的基本概念 177
8.2 图的矩阵表示 178
8.3 最小生成树 179
8.4 最短路径问题 183
8.5 网络最大流问题 187
8.6 路径规划 190
8.7 VRP问题 196
8.8 本章小结 203
第9章智能优化算法 204
9.1 粒子群算法 205
9.1.1 粒子群算法原理 205
9.1.2 粒子群求解无约束优化问题 207
9.1.3 粒子群求解约束优化问题 211
9.1.4 粒子群求解旅行商问题 218
9.2 遗传算法 225
9.2.1 遗传算法原理 225
9.2.2 遗传算法的编码方法 227
9.2.3 遗传算法的选择操作 230
9.2.4 遗传算法求解无约束优化问题 231
9.2.5 遗传算法库Geatpy的介绍 233
9.2.6 使用Geatpy求解约束优化问题 239
9.2.7 使用Geatpy求解多目标优化问题 241
9.3 本章小结 242
· · · · · · (收起)
创客课程开发的每个主题课程需要基于现实情景,设置学习探究任务,通过问题研究、任务...
创客空间建设 能够给人们分享各种乐趣,通过电脑,技术,科学,艺术结合,设计创造一...
在了解创客教育之前,我们首先了解下何为创客。创客是一群喜欢或享受创新的人。创客跨...
STEAM教育是对传统教育的提升,它是基于自然学校方式的功能性框架,可以适合各类...