电子工业出版社精品店店铺主页二维码
电子工业出版社精品店
微信扫描二维码,访问我们的微信店铺

官方正版 数学建模与数学规划 方法 案例及编程实战 Python+COPT/Gurobi实现 刘兴禄 数学优化问题建模 数学规划求解器编程实战书

49.00
运费: 免运费
官方正版 数学建模与数学规划 方法 案例及编程实战 Python+COPT/Gurobi实现 刘兴禄 数学优化问题建模 数学规划求解器编程实战书 商品图0
官方正版 数学建模与数学规划 方法 案例及编程实战 Python+COPT/Gurobi实现 刘兴禄 数学优化问题建模 数学规划求解器编程实战书 商品图1
官方正版 数学建模与数学规划 方法 案例及编程实战 Python+COPT/Gurobi实现 刘兴禄 数学优化问题建模 数学规划求解器编程实战书 商品图2
官方正版 数学建模与数学规划 方法 案例及编程实战 Python+COPT/Gurobi实现 刘兴禄 数学优化问题建模 数学规划求解器编程实战书 商品缩略图0 官方正版 数学建模与数学规划 方法 案例及编程实战 Python+COPT/Gurobi实现 刘兴禄 数学优化问题建模 数学规划求解器编程实战书 商品缩略图1 官方正版 数学建模与数学规划 方法 案例及编程实战 Python+COPT/Gurobi实现 刘兴禄 数学优化问题建模 数学规划求解器编程实战书 商品缩略图2

商品详情

书名:数学建模与数学规划:方法、案例及编程实战(Python+COPT/Gurobi实现)
定价:98.0
ISBN:9787121487170
作者:无
版次:*1版
出版时间:2024-09

内容提要:
本书主要从数学规划的视角出发,系统地介绍了数学优化问题建模和求解的相关理论、方法、实际案例,以及基于 Python 和数学规划求解器(COPT 和 Gurobi)的编程实战。全书共分为四部分。*一部分为基本理论和建模方法,重点介绍了数学规划模型分类和建模方法(包括逻辑约束与大 M 建模方法、线性化方法)以及计算复杂性理论。*二部分为建模案例详解,通过理论、案例和实战相结合的方式,详细介绍了如何利用各种建模方法和数学规划求解器对实际生产活动中的优化问题进行建模和求解。这部分内容丰富,案例翔实,代码完整,旨在提高读者的实战能力。第三部分和第四部分聚焦于编程实战,主要讲解如何使用 COPT 和 Gurobi 求解器进行数学规划模型的编程求解。这两部分内容涵盖了调用数学规划求解器的各种*级用法,可以满足读者实现定制化求解的需求。本书适合用作运筹学、数学建模、*优化理论、离散优化等相关课程的高年级本科生、研究生的参考教材,也可供从事数学规划、运筹学、物流与供应链等领域的科研人员、算法开发人员,以及各类数学建模竞赛的参赛者阅读。



作者简介:
刘兴禄,2012年到2016年就读于东北大学工业工程专业(本科);2016年到2018年就读于清华大学工业工程系(硕士),专业为物流工程;2018年到今,就读于清华大学(博士),清华-伯克利深圳学院,管理科学与工程专业。博士期间的主要研究方向为运筹优化模型与算法,强化学习及其应用等,主要应用场景为共享出行、交通优化、物流配送优化、物流仓库运作优化等;目前,本人已发表3篇SCI期刊论文,1篇SCI期刊论文二轮审稿,2篇EI期刊论文以及多篇EI会议论文和发明专利,并即将在清华大学出版社出版教材一本,名为《运筹优化常用模型、算法及案例实战:Python+Java实现》。本人于2020年11月创办"运小筹”公众号,迄今为止,已经发布技术、科普推文100余篇,粉丝量超过11000,总阅读量超过23万次。本人的CSDN账号,累计阅读量也超过了23万次。

媒体评论:
本书是目前国内外相关领域为数不多的从全流程(即技巧、建模、编程)详细讲解数学建模技巧的书籍。?本书系统梳理了大量零散的实用建模技巧,对其进行了通俗的解释,并附以具体代码进行辅助讲解,有助于读者深刻理解相关技巧。?本书以一系列从易到难的案例,详细展示了模型从无到有,从0到1建立的思维全过程,并以通俗的语言讲述使用到的技巧。在部分章节,我们提供了多种不同角度、不同效率的建模方法,能够很好的激发读者的思考,深刻体会建模的窍门。并且,我们为所有模型都提供了完整详细的配套代码,方便读者进行实践,加深理解。?本书系统讲解了优化求解器求解数学规划问题的高阶操作,为读者进一步提高实操能力,包括业务能力和科研能力提供了有效参考。这本书的内容非常解渴,能够很好缓解目前国内外研究者、相关专业学生找不到系统讲解建模技巧、案例和实战参考图书的困境。

目录:

目 录

第 I 部分 基本理论和建模方法

第 1 章 几种重要的数学规划模型 3

1.1 数学规划模型的分类 3

1.2 几种数学规划模型的一般形式及简单案例.5

1.2.1 线性规划 5

1.2.2 混合整数规划 6

1.2.3 二次规划 6

1.2.4 二次约束规划 7

1.2.5 二次约束二次规划.8

1.2.6 二阶锥规划 8

1.2.7 半定规划 11

1.3 数学规划求解器.12

第 2 章 逻辑约束和大 M 建模 14

2.1 命题和逻辑连接词 14

2.2 逻辑运算与建模.15

2.2.1 逻辑非 15

2.2.2 逻辑与 15

2.2.3 逻辑或 18

2.2.4 逻辑异或 20

2.3 逻辑约束与大 M 建模方法21

2.3.1 常见逻辑条件建模 21

2.3.2 大 M 建模方法 22

2.3.3 If-then 约束.23

2.4 其他逻辑约束建模案例25

2.4.1 到少有 m 个不等式约束成立.25

2.4.2 到少有 m 个等式约束成立 26

2.4.3 计数问题 26

2.4.4 设施选址问题 29

第 3 章 线性化方法 32

3.1 乘积式.32

3.1.1 两个或多个 0-1 变量相乘 32

3.1.2 0-1 变量乘以连续变量:情形 1.33

3.1.3 0-1 变量乘以连续变量:情形 2.34

3.1.4 两个连续变量相乘的凸松弛方法:McCormick 包络 34

3.1.5 调用求解器验证乘积式线性化方法 35

3.2 取整 37

3.3 *对值.38

3.4 min/max 函数 40

3.4.1 max {x1, x2} 40

3.4.2 min {x1, x2} 42

3.5 分式函数 43

3.6 分段线性函数44

3.7 特殊有序集约束及其在线性化中的应用49

3.7.1 特殊有序集约束 49

3.7.2 应用案例 1:*对值表达式的线性化 49

3.7.3 应用案例 2:分段线性函数的线性化 50

3.7.4 应用案例 3:平方根表达式的近似线性化 51

3.8 学术论文中线性化方法的应用案例 53

第 4 章 计算复杂性理论简介54

4.1 引言 54

4.2 时间复杂度 55

4.2.1 什么是时间复杂度 55

4.2.2 时间复杂度的分析方法与案例56

4.3 P、NP、NPC 和 NP-hard 65

4.3.1 P 和 NP.65

4.3.2 判定问题和优化问题.66

4.3.3 约化 66

4.3.4 NPC 和 NP-Hard.67

4.4 常见的 NPC 和 NP-hard 问题 68

4.5 小结 69

第 II 部分 建模案例详解

第 5 章 生产计划优化问题 73

5.1 问题介绍 73

5.2 问题建模 73

5.3 完整数学模型76

5.4 编程实战 77

5.4.1 算例准备 77

5.4.2 建立模型并求解: Python 调用 COPT 实现 77

5.4.3 建立模型并求解: Python 调用 Gurobi 实现.78

5.5 拓展 79

第 6 章 数论方程的数学规划模型 80

6.1 问题简介 80

6.2 方法 1:引入辅助变量进行转换 81

6.3 方法 2:消去除法运算 82

6.4 问题拓展 84

6.5 总结 86

第 7 章 机组排班优化问题 87

7.1 问题描述 87

7.2 问题分析 88

7.3 问题建模 90

7.3.1 模型假设 90

7.3.2 符号说明 90

7.3.3 数学模型 91

7.4 航班邻接网络的相关问题 93

7.5 编程实战:Python 调用 COPT 实现95

7.6 编程实战:Python 调用 Gurobi 实现 95

7.7 算例参数设计与求解结果展示 96

7.8 小结 98

第 8 章 配送网络规划问题 99

8.1 问题描述 99

8.2 问题建模 100

8.3 完整数学模型.102

8.4 编程实战 102

8.4.1 算例数据准备 103

8.4.2 建立模型并求解: Python 调用 COPT 实现 104

8.4.3 建立模型并求解: Python 调用 Gurobi 实现 104

8.4.4 求解结果 104

8.5 拓展106

第 9 章 数字华容道问题 107

9.1 数字华容道问题简介107

9.2 建模思路详解.108

9.3 完整数学模型.112

9.4 编程实战 113

9.4.1 参数准备 113

9.4.2 测试算例及其相关参数初始化.115

9.4.3 建立模型并求解: Python 调用 COPT 实现 115

9.4.4 建立模型并求解: Python 调用 Gurobi 实现 116

9.4.5 数值实验结果及分析 116

9.5 拓展118

9.5.1 允许区块移动 118

9.5.2 模型的收紧 119

第 10 章 密集存储仓库取货路径优化问题 120

10.1 密集存储仓库简介 120

10.2 建模思路详解.122

10.2.1 建模方法 1:基于物品编号的模型 123

10.2.2 建模方法 2:不考虑非目标货物编号的模型 125

10.2.3 完整数学模型:以建模方法 2 为例 129

10.3 编程实战 130

10.3.1 参数准备 130

10.3.2 建立 NIPA 模型并求解: Python 调用 COPT 实现.133

10.3.3 建立 NIPA 模型并求解: Python 调用 Gurobi 实现 134

10.3.4 建立 NIPF 模型并求解: Python 调用 COPT 实现.134

10.3.5 建立 NIPF 模型并求解: Python 调用 Gurobi 实现 135

10.4 数值实验结果展示及分析 135

10.5 模型拓展 135

10.5.1 NIPF 模型的约束分析135

10.5.2 允许同时移动 136

第 11 章 机器人组装生产计划优化问题 137

11.1 问题介绍与分析 137

11.2 问题一的建模和求解138

11.2.1 问题分析 138

11.2.2 模型参数 139

11.2.3 决策变量 139

11.2.4 目标函数 140

11.2.5 构建约束 140

11.2.6 完整数学模型 143

11.2.7 编程实战:Python 调用 COPT 实现 144

11.2.8 编程实战:Python 调用 Gurobi 实现 144

11.2.9 求解结果 145

11.3 问题二的建模和求解145

11.3.1 发生变化的约束 145

11.3.2 完整数学模型 146

11.3.3 编程实战:Python 调用 COPT 实现 146

11.3.4 编程实战:Python 调用 Gurobi 实现 147

11.3.5 求解结果 147

11.4 总结与拓展148

第 12 章 车辆路径规划问题及其若干变体 149

12.1 车辆路径规划问题简介 149

12.2 带容量约束的车辆路径规划问题的建模.150

12.2.1 基于弧的建模方法 150

12.2.2 基于路径的建模方法 157

12.3 多车场车辆路径规划问题 159

12.3.1 问题介绍 159

12.3.2 MDVRP1:允许返回不同车场160

12.3.3 MDVRP2:必须返回原车场.162

12.3.4 小结 163

12.4 带时间窗的车辆路径规划问题.163

12.4.1 问题介绍 163

12.4.2 带硬时间窗的车辆路径规划问题.164

12.4.3 带软时间窗的车辆路径规划问题.166

12.4.4 小结 170

12.5 带时间窗的多行程车辆路径规划问题171

12.5.1 问题介绍 171

12.5.2 *一种建模方法 172

12.5.3 *二种建模方法 176

12.5.4 小结 177

12.6 带时间窗的电动车辆路径规划问题 178

12.6.1 背景简介 178

12.6.2 问题描述 179

12.6.3 问题建模 181

12.6.4 小结 183

12.7 编程实战 183

12.7.1 算例数据读取 183

12.7.2 Python 调用 COPT 实现 184

12.7.3 Python 调用 Gurobi 实现.191

12.8 数值实验和结果分析199

12.8.1 CVRP 199

12.8.2 MDVRP 199

12.8.3 VRPTW 200

12.8.4 MTVRPTW203

12.8.5 EVRPTW.204

12.9 总结.205

第 13 章 取送货问题.206

13.1 问题描述 206

13.2 问题建模 209

13.2.1 一对一的场景 209

13.2.2 多对多的场景 211

13.2.3 一对多对一的场景 213

13.3 一对一场景的编程实战及结果展示 215

13.3.1 算例的生成和读取 215

13.3.2 建立模型并求解: Python 调用 COPT 实现 215

13.3.3 建立模型并求解: Python 调用 Gurobi 实现 215

13.3.4 算例参数设计与结果展示 216

13.4 多对多场景的编程实战及结果展示 217

13.4.1 算例的生成和读取 217

13.4.2 建立模型并求解: Python 调用 COPT 实现 217

13.4.3 建立模型并求解: Python 调用 Gurobi 实现 217

13.4.4 算例参数设计与结果展示 218

13.5 一对多对一场景的编程实战及结果展示.220

13.5.1 算例的生成和读取 220

13.5.2 建立模型并求解: Python 调用 COPT 实现 220

13.5.3 建立模型并求解: Python 调用 Gurobi 实现 221

13.5.4 算例参数设计与结果展示 221

13.6 总结.222

第 14 章 无人机与卡车联合配送问题.223

14.1 问题背景 223

14.2 两种联合配送模式 224

14.2.1 联合但无交互的模式 224

14.2.2 联合有交互的模式 225

14.3 建模过程详解.226

14.4 完整数学模型.231

14.5 编程实战 233

14.5.1 算例设计 233

14.5.2 算例读取 234

14.5.3 建立模型并求解:Python 调用 COPT 实现 235

14.5.4 建立模型并求解:Python 调用 Gurobi 实现 235

14.5.5 解的提取和可视化 236

14.6 数值实验及结果展示236

14.7 拓展.238

第 III 部分 编程实战:COPT

第 15 章 基本建模求解方法241

15.1 杉数求解器 COPT 基本介绍.241

15.2 COPT 建模求解的准备工作和基本步骤 242

15.2.1 准备工作 242

15.2.2 基本步骤 242

15.3 COPT 建模求解入门:食谱搭配问题 244

15.4 获取模型的属性和结果信息 246

第 16 章 建模求解方法进阶248

16.1 建模技巧和辅助工具函数的使用 248

16.1.1 构建表达式的技巧 248

16.1.2 批量添加决策变量/约束 249

16.2 COPT 的重要求解参数 249

16.3 COPT 建模求解进阶:下料问题250

第 17 章 非线性优化问题建模与求解.253

17.1 半定规划(SDP) 253

17.2 二阶锥规划(SOCP) 255

17.3 凸二次规划和凸二次约束规划(Convex QP/Convex QCP).257

第 18 章 不可行问题的处理259

18.1 计算 IIS 259

18.1.1 实例演示 260

18.1.2 获取 IIS 计算结果 261

18.2 可行化松弛262

18.2.1 计算可行化松弛 262

18.2.2 可行化松弛结果解读与模型改进.262

第 19 章 参数调优工具 265

19.1 引言.265

19.2 参数调优工具的重要功能及参数 265

19.3 代码示例 267

第 20 章 初始解和解池 269

20.1 初始解和解池简介 269

20.2 初始解重要参数介绍270

20.3 代码示例:木材切割问题的初始解 270

20.4 初始解日志解读 272

第 21 章 回调函数的使用 274

21.1 引言.274

21.2 使用步骤 274

21.3 详细案例 275

第 IV 部分 编程实战:Gurobi

第 22 章 基本建模方法 281

22.1 Gurobi 中的建模方法281

22.1.1 建模流程 281

22.1.2 按行建模和按非零系数建模.283

22.1.3 按列建模 285

22.1.4 按矩阵建模 286

22.1.5 Gurobi 中的模型属性与求解参数.289

22.2 Gurobi 中的各类文件格式与相关操作 290

22.2.1 一个简单的例子 290

22.2.2 各种类型的文件格式 290

22.2.3 模型导入与导出的方法 295

22.3 模型拷贝与模型松弛296

22.3.1 模型浅拷贝与深拷贝 296

22.3.2 模型松弛 297

第 23 章 *级建模方法 299

23.1 多目标优化模型的相关操作 299

23.1.1 Gurobi 多目标函数详解 299

23.1.2 多目标优化模型的建模方法.300

23.1.3 一些注意事项 304

23.2 惰性约束的使用技巧305

23.2.1 Gurobi 中的惰性更新机制.305

23.2.2 Gurobi 中的回调函数 305

23.2.3 惰性约束 306

23.2.4 惰性约束与割平面的区别 309

23.3 特殊约束的表达方式及建模方法 310

23.3.1 一般约束 310

23.3.2 广义约束 310

23.3.3 其他类型的约束 312

第 24 章 基本求解进程控制方法 314

24.1 设置求解终止条件 314

24.1.1 设置 TimeLimit 314

24.1.2 设置 MIPGap 315

24.1.3 其他常见的终止条件参数 315

24.2 设置预处理算法 316

24.3 设置割平面算法 318

24.4 设置启发式算法 319

24.4.1 Gurobi 中的启发式方法 319

24.4.2 Gurobi 启发式算法的参数设置.321

24.5 设置优化求解策略 322

24.5.1 全局优化策略 322

24.5.2 提升可行解质量 323

24.5.3 加速根节点松弛求解 323

24.5.4 变量分支选择 324

第 25 章 *级求解进程控制方法 325

25.1 解池管理 325

25.1.1 解池的参数与属性 325

25.1.2 解池功能详解 326

25.1.3 案例演示 327

25.1.4 一些注意事项 330

25.2 给 MIP 模型赋初始解的方法.331

25.2.1 相关属性与参数汇总 331

25.2.2 为 MIP 模型赋一个初始解 332

25.2.3 为 MIP 模型赋多个初始解 332

25.2.4 案例演示 333

25.2.5 其他相关操作 334

第 26 章 各种信息的解读与获取方法.335

26.1 求解日志信息.335

26.1.1 Gurobi 中的日志类型 335

26.1.2 头部信息 335

26.1.3 MIP 日志 336

26.1.4 单纯形法日志 339

26.1.5 解池与多场景日志 340

26.1.6 多目标日志 341

26.1.7 分布式 MIP 日志 341

26.1.8 IIS 日志342

26.1.9 日志的相关操作 343

26.2 解的状态信息.344

26.3 对偶信息获取.345

26.3.1 通过文件操作直接获取对偶模型.345

26.3.2 当模型可行时,获取对偶变量 Pi.345

26.3.3 当模型无界时,获取极射线 UnbdRay 346

26.3.4 当模型不可行时,获取 FarkasDual 与 FarkasProof 346

26.3.5 对偶信息的应用 348

第 27 章 求解参数调优与模型报错调试 349

27.1 参数调优 349

27.1.1 主要功能及相关参数 349

27.1.2 案例演示 350

27.2 模型的错误诊断 351

27.2.1 使用 IIS 351

27.2.2 对模型进行逐步诊断 353

参考文献 355



电子工业出版社精品店店铺主页二维码
电子工业出版社精品店
扫描二维码,访问我们的微信店铺

官方正版 数学建模与数学规划 方法 案例及编程实战 Python+COPT/Gurobi实现 刘兴禄 数学优化问题建模 数学规划求解器编程实战书

手机启动微信
扫一扫购买

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏

微信支付

支付宝

扫一扫购买

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏