数学建模与数学规划:方法、案例及编程实战(Python+COPT/Gurobi实现)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

前言

本书是一本全面、系统、详细地介绍数学规划建模的工具书,其内容涵盖了数学规划建模的各个方面。本书从理论与实践相结合的角度出发,以通俗易懂的语言细致地介绍了数学规划建模方法、应用案例以及数学规划求解器的使用和编程实战。为了使读者能够深入体验建模的每一个步骤,书中精选了多个难度各异的案例,展示了从问题分析、数学建模到编程实现的详细步骤。此外,本书还详细介绍了两种领先的数学规划求解器--COPT和Gurobi的使用方法,覆盖了基础和高级建模语法、参数设置及模型诊断等各个方面。

本书有以下特色:(1)图文结合,讲解细致,可读性强。在解释问题特征和建模思路的过程中,本书利用了大量的说明性示意图,这使得本书通俗易懂,极大地增强了可读性。(2)全流程讲解实战案例,且配套代码资源完善。对于每一个建模案例,本书均提供了详细的建模思路分析、完整的建模过程、数学模型、测试算例以及COPT和Gurobi两个版本的完整实现代码,方便读者测试和练习。(3)数学规划求解器的使用方法讲解细致全面。本书对数学规划求解器使用的各个方面进行了非常详细的讲解(基于Python接口)。这部分内容既可以帮助读者解决编程实战中的大部分问题,又有助于读者更深入地理解求解器的原理。

本书主要包含四部分内容:

第一部分(第1~4章)为基本理论和建模方法,主要讲解数学规划的基本理论及基本建模方法,包括数学规划模型的分类、逻辑约束和大M建模方法、线性化方法和计算复杂性理论等。为方便读者加深理解,还提供了Python调用COPT和Gurobi的验证代码。

第二部分(第5~14章)为建模案例详解。这部分的主要目标有两个:(1)介绍如何运用多种建模方法完成实际复杂问题的建模;(2)介绍如何调用数学规划求解器(COPT和Gurobi)求解复杂的数学规划模型。这部分介绍的问题分为基础(第5~6章)、中等(第7~8章)、困难(第9~14章)三个等级。要完成这部分问题的建模,需要灵活使用第一部分介绍的各种建模方法。本书并不直接给出最终的数学模型,而通过详细、完整、直观地展示复杂问题建模的思路和过程,使读者更容易掌握和提高。针对每一个问题,本书都详细讲解了问题分析、建模思路分析、决策变量的设置、约束的构建和模型的改进等环节。此外,模型的编程求解是数学建模中一个非常重要的环节。本书为每一个数学模型都提供了Python调用COPT和Gurobi求解模型的完整代码,方便读者学习。数学规划求解器的使用需要丰富的经验,编程实现模型的建模和求解通常不是一蹴而就的,而是需要反复调试和诊断。因此,熟练掌握求解器的使用对于实现模型的求解、模型正确性的诊断等都是非常有必要的。

第三部分为COPT编程实战。这部分详细阐述了杉数求解器COPT的使用方法,包括基本建模求解方法、建模求解方法进阶、非线性优化问题的建模和求解、不可行问题的处理、参数调优工具、初始解和解池以及回调函数的使用。

第四部分是Gurobi编程实战。这部分通过通俗易懂的语言介绍了Gurobi求解器的使用方法,包括基本建模方法、高级建模方法、基本求解进程控制方法、高级求解进程控制方法、各种信息的解读与获取方法、求解参数调优与模型报错调试。通过学习第三部分和第四部分的内容,读者能够获得对数学规划求解器使用的深刻理解。

本书所选案例来源多样,包括编者发表的部分科技论文、书末参考文献、国内外数学建模竞赛题目、流行的益智游戏及网络资源等。非常感谢书中建模案例的参考文献的作者以及相关竞赛的组织方,包括:

(1)2021年“华为杯”第18届中国研究生数学建模竞赛的组织方,即中国学位与研究生教育学会、中国科协青少年科技中心、中国研究生数学建模竞赛组委会和华南理工大学。

(2)本书第10章参考文献的其他几位作者,包括贺静、段淇耀、陈伟坚、戚铭尧。

(3)2022年第三届华数杯全国大学生数学建模竞赛的组织方,即中国未来研究会大数据与数学模型专业委员会、天津市未来与预测科学研究会大数据分会和华数杯全国大学生数学建模竞赛组委会。

(4)本书第14章参考文献的作者,包括Chase C.Murray和Amanda G.Chu。

(5)本书第12章和第13章所有参考文献的作者,包括George Dantzig,Paolo Toth,Daniele Vigo,Roberto Baldacci,Guy Desaulniers,Gilbert Laporte,Michel Gendreau等。

非常感谢杉数求解器COPT团队以及Gurobi求解器团队提供的技术支持。这些支持帮助我们显著提高了内容的质量和丰富性。

非常感谢陈伟坚老师、戚铭尧老师和张灿荣老师的悉心指导,感谢他们带我进入优化的世界。

此外,在本书的编写过程中,我们有幸邀请到了来自学界、业界的多位校稿人参与了后期的校对工作。他们是黄一潇、张莹、张轶伦、王源、游锦涛、薛召杰、王祖健、吴廷映、陈锐和于丽娜。他们为本书提供了非常详细的修改意见,包括案例扩充、内容修改和章节安排等。他们的专业意见对提升本书的整体质量提供了有效帮助。非常感谢他们的精心校对和宝贵意见。

最后,我们衷心感谢电子工业出版社的鼎力支持和责任编辑钱维扬先生的精心审校。正是有了他们的帮助,本书才得以顺利出版。

本书是对数学建模领域的一次深入探索,我们期望它能够成为您手头一本有用的工具书和得力助手,帮助您在复杂问题建模中找到思路和方法。无论您是学术界的研究者还是业界的实践者,我们都希望本书能帮助您有效地节省学习时间或者为您提供建模的新思路和新视角。

刘兴禄

2024年8月于清华大学深圳国际研究生院