最优化技术是科学与工程领域中的重要数学工具。本书首先介绍非线性方程组的解析与数值解法,然后介绍各个分支的最优化问题建模与求解方法,包括无约束最优化、凸优化(如线性规划、二次型规划与几何规划等)、非线性规划、混合整数规划、多目标规划与动态规划等,最后简要介绍智能优化方法,并与常规方法进行对比研究。与传统的最优化技术方面的教材不同,本书侧重于利用MATLAB语言直接描述与求解最优化问题。本书可作为一般读者学习和掌握最优化技术的教材或教辅读物,还可以作为高等学校理工科各专业的本科生和研究生学习计算机数学语言的教材,并适合作为相关人员查询最优化计算方法的工具书。
薛定宇教授经典著作
- MATLAB/Simulink实用教程编程、计算与仿真
- 分数阶微积分学:数值算法与实现
- 薛定宇教授大讲堂(卷Ⅰ):MATLAB程序设计
- 薛定宇教授大讲堂(卷Ⅱ):MATLAB微积分运算
- 薛定宇教授大讲堂(卷Ⅲ):MATLAB线性代数运算
- 薛定宇教授大讲堂(卷Ⅳ):MATLAB最优化计算
- 薛定宇教授大讲堂(卷Ⅴ):MATLAB微分方程求解
- 薛定宇教授大讲堂(卷Ⅵ):Simulink建模与仿真
学习资源:
配书程序代码
关注人工智能科学与技术微信公众号,在知识资源下载配书资源菜单获取下载链接(或到清华大学出版社网站本书页面获取下载链接)。
视频公开课程爱课程或中国大学MOOC(慕课)现代科学运算MATLAB语言与应用(非严格配套本书视频,仅供读者参考)。
科学运算问题是每个理工科学生和科技工作者在课程学习、科学研究与工程实践中常常会遇到的问题,不容回避。对于非纯数学专业的学生和研究者而言,从底层全面学习相关数学问题的求解方法并非一件简单的事情,也不易得出复杂问题的解,所以,利用当前最先进的计算机工具,高效、准确、创造性地求解科学运算问题是一种行之有效的方法,尤其能够满足理工科人士的需求。
作者曾试图在同一部著作中叙述各个数学分支典型问题的直接求解方法,通过清华大学出版社出版了《高等应用数学问题的MATLAB 求解》。该书从2004 年出版之后多次重印再版,并于2023 年出版了第5 版,还配套发布了全新的MOOC 课程,一直受到广泛的关注与欢迎。首次MOOC 开课的选课人数接近14000 人,教材内容也被数万篇期刊文章和学位论文引用。
从作者首次使用MATLAB 语言算起,已经有30 余年的时间了,期间作者通过相关领域的研究、思考与一线教学实践,积累了大量的实践经验资料。这些不可能在一部著作中全部介绍,所以作者与清华大学出版社策划并出版了薛定宇教授大讲堂系列图书,系统深入地介绍基于MATLAB 语言与工具的科学运算问题的求解方法。该系列图书不是原来版本的简单改版,而是作者通过十余年的经验和资料积累,全面贯穿再认识的思想写作而成的,深度融合科学运算数学知识与基于MATLAB 的直接求解方法与技巧,力图更好地诠释计算机工具在每个数学分支的作用,帮助读者以不同的思维与视角了解工程数学问题的求解方法,创造性地得出科学运算问题的解。
原系列图书出版已经有几年的时间了。在这几年间,MATLAB 编程与Simulink建模技术发生了很大的变化,MATLAB 求解科学运算问题的工具也越来越完备, 因此有必要更新这些著作,融入新的内容,使其能发挥更大的作用,所以将陆续开始写作新的版本。本书是利用MATLAB 求解最优化问题的著作。本书系统地介绍两大主题--非线性代数方程求解与最优化技术,主要解决这两个领域的数值计算问题。本书首先介绍各种非线性代数方程的解析解方法与数值解方法,并介绍多解方程的求解问题。后续各章将介绍无约束最优化、线性规划与二次型规划等凸优化、非线性规划、混合整数规划、多目标规划与动态规划的基本概念与求解方法,侧重于求取最优化问题全局最优解的探讨与实践。本书还将介绍一些常用的智能优化方法,并通过一些具体的例子,对智能优化方法的效果做必要的对比研究,得出有益的结论。
特别感谢团队的同事潘峰博士在相关课程建设、教材建设与教学团队建设中的出色贡献和所做的具体工作。感谢美国加利福尼亚大学Merced 分校的陈阳泉教授近30 年来的真诚合作及对诸多问题的有意义的探讨。几十年来我与同事、学生、同行,甚至网友有益交流,其中有些内容已经形成了系列著作的重要素材,在此一并表示感谢。本书的出版还得到了美国MathWorks 公司图书计划的支持,在此表示谢意。
值此书付梓之际,衷心感谢相濡以沫的妻子杨军教授,她数十年如一日的无私关怀是我坚持研究、教学与写作工作的巨大动力。感谢女儿薛杨在文稿写作、排版与视频转换中给出的建议和具体帮助。
薛定宇
2023年10月
薛定宇 :分别在沈阳工业大学、东北大学和英国Sussex大学获得学士(1985年)、硕士(1988年)和博士学位(1992年),1997年起任东北大学信息学院教授。深耕于计算机在数学与自动控制学科的应用,主持了国家精品课程建设,并于1996年在清华大学出版社出版《控制系统计算机辅助设计MATLAB与应用》,该教材被评为国家级精品教材,被认为是国内MATLAB应用领域具有深远影响的一部图书,为MATLAB在国内高校教学与科研中的普及起到了巨大的作用。先后被评为辽宁省教学名师、辽宁省优秀教师,获得国家级教学成果二等奖、中国自动化学会教育教学成果一等奖、辽宁省教学成果一等奖等奖励。其主讲的控制系统仿真与CAD课程被评为国家级精品课程、国家级精品资源共享课程;主讲的现代科学运算MATLAB语言与应用课程被评为首批国家级一流本科课程,配套录制的全新慕课课程均上线于爱课程与中国大学MOOC(慕课)网站。
第 1章方程求解与最优化技术 1
1.1方程与方程求解 1
1.2最优化问题的起源与发展 3
1.3本书框架 4
本章习题 5
第 2章代数方程的求解 6
2.1多项式方程的求解 7
2.1.1一次方程与二次方程 8
2.1.2三次方程的解析解 9
2.1.3四次方程的解析解 10
2.1.4高次代数方程与 AbelRu.ini定理 12
2.2非线性方程的图解法 12
2.2.1光滑隐函数曲线的绘制 12
2.2.2一元方程的图解法 14
2.2.3二元方程的图解法 15
2.2.4方程的孤立解 17
2.3代数方程的数值求解 18
2.3.1 NewtonRaphson迭代方法 18
2.3.2方程求解的二分法 23
2.3.3 MATLAB的直接求解函数 24
2.3.4求解精度的设置 26
2.3.5方程的结构体描述 28
2.3.6方程的复域求解 29
2.3.7基于问题的方程描述与求解 30
2.4联立方程组的精确求解 31
2.4.1低阶多项式方程的解析求解 32
2.4.2多项式型方程的准解析解 35
2.4.3高次多项式矩阵方程的准解析解 36
2.4.4准解析解的提取 39
2.4.5非线性代数方程的准解析解 40
2.5多解矩阵方程的求解 40
2.5.1方程求解思路与一般求解函数 41
2.5.2伪多项式方程的求解 45
2.5.3高精度求解函数 47
2.6欠定方程的求解 48本章习题
第 3章无约束最优化 53
3.1无约束最优化问题简介 54
3.1.1无约束最优化问题的数学模型 54
3.1.2无约束最优化问题的解析解方法 54
3.1.3无约束最优化问题的图解法 55
3.1.4局部最优解与全局最优解 56
3.1.5数值求解算法的 MATLAB实现 57
3.2无约束最优化问题的 MATLAB直接求解
3.2.1直接求解方法 60
3.2.2最优化控制选项 62
3.2.3最优搜索中间过程的图形显示 65
3.2.4附加参数的传递 68
3.2.5最优化问题的结构体描述
3.2.6梯度信息与求解精度 71
3.2.7基于问题的描述方法 76
3.2.8离散点最优化问题的求解 78
3.2.9最优化问题的并行求解 79
3.3全局最优解的尝试
3.3.1全局最优问题演示 80
3.3.2全局最优思路与实现 82
3.4带有决策变量边界的最优化问题 84
3.4.1单变量最优化问题 84
3.4.2多变量最优化问题 86
3.4.3基于问题的描述与求解 88
3.4.4边界问题全局最优解的尝试 88
3.5最优化问题应用举例 89
3.5.1线性回归问题的求解 89
3.5.2曲线的最小二乘拟合
3.5.3边值微分方程的打靶求解 93
3.5.4方程求解问题转换为最优化问题 96
本章习题 98
第 4章凸优化 103
4.1线性规划问题简介 105
4.1.1线性规划问题的数学模型 106
4.1.2二元线性规划的图解法 106
4.1.3单纯形法简介 108
4.2线性规划问题的直接求解 111
4.2.1线性规划问题的求解函数 111
4.2.2多决策变量向量的线性规划问题 117
4.2.3双下标的线性规划问题 118
4.2.4线性规划的应用举例运输问题 119
4.3基于问题的线性规划描述与求解 122
4.3.1线性规划的 MPS文件描述 122
4.3.2基于问题的线性规划描述 124
4.3.3线性规划问题的转换 128
4.4二次型规划问题的求解 130
4.4.1二次型规划的数学模型 130
4.4.2二次型规划的直接求解 131
4.4.3基于问题的二次型规划描述 132
4.4.4双下标二次型规划 136
4.4.5带有二次型约束的最优化问题 137
4.5线性矩阵不等式问题 138
4.5.1线性矩阵不等式的一般描述 138
4.5.2 Lyapunov不等式 139
4.5.3线性矩阵不等式问题分类 141
4.5.4线性矩阵不等式问题的 MATLAB求解 142
4.5.5基于 YALMIP工具箱的最优化求解方法 144
4.5.6非凸最优化问题求解的尝试 146
4.5.7带有二次型约束条件问题的求解 147
4.6其他常用的凸优化问题 149
4.6.1凸优化工具箱简介 149
4.6.2锥规划问题 152
4.6.3几何规划问题 154
4.6.4半定规划 156本章习题 156
第 5章非线性规划 163
5.1非线性规划简介 164
5.1.1一般非线性规划问题的数学模型 164
5.1.2可行解区域与图解法 165
5.1.3数值求解方法举例 167
5.2非线性规划问题的直接求解 169
5.2.1 MATLAB的直接求解函数 169
5.2.2基于问题的描述方法 174
5.2.3搜索过程提前结束的处理 175
5.2.4梯度信息的利用 176
5.2.5多决策变量问题的求解 177
5.2.6复杂非线性规划问题 179
5.3非线性规划的全局最优解探讨 181
5.3.1全局最优解的尝试 182
5.3.2非凸二次型规划问题的全局寻优 184
5.3.3凹费用运输问题的全局寻优 187
5.3.4全局最优化求解程序的测试 188
5.3.5最优化模型的可视化编辑 190
5.3.6分段目标函数的处理 191
5.4双层规划问题 193
5.4.1双层线性规划问题的求解 193
5.4.2双层二次型规划问题 194
5.4.3基于 YALMIP工具箱的双层规划问题直接求解 195
5.5非线性规划应用举例 197
5.5.1圆内最大面积的多边形 197
5.5.2半无限规划问题 200
5.5.3混合池最优化问题 205
5.5.4热交换网络的优化计算 208
5.5.5基于最优化技术的非线性方程求解 211
本章习题 213
第 6章混合整数规划 221
6.1整数规划简介 222
6.1.1整数规划与混合整数规划 222
6.1.2整数规划问题的计算复杂度 222
6.2穷举方法 223
6.2.1整数规划的穷举方法 224
6.2.2离散规划问题 227
6.2.3 0.1规划的穷举方法 228
6.2.4混合整数规划的尝试 230
6.3混合整数规划问题的求解 232
6.3.1混合整数线性规划 232
6.3.2整数规划问题的 LMI求解方法 235
6.3.3混合整数非线性规划 235
6.3.4一类离散规划问题的求解 238
6.3.5一般离散规划问题的求解 239
6.4 0.1混合整数规划的求解 241
6.4.1 0.1线性规划问题的求解 241
6.4.2 0.1非线性规划问题的求解 246
6.5混合整数规划应用 248
6.5.1最优用料问题 248
6.5.2指派问题 249
6.5.3旅行商问题 251
6.5.4背包问题 255
6.5.5数独的填写 256
本章习题 260
第 7章多目标规划 265
7.1多目标规划简介 266
7.1.1多目标规划的背景介绍 266
7.1.2多目标规划的数学模型 267
7.1.3多目标规划问题的图解举例 268
7.2多目标规划转换成单目标规划问题 270
7.2.1无约束多目标函数的最小二乘求解 270
7.2.2线性加权变换及求解 272
7.2.3线性规划问题的最佳妥协解 273
7.2.4线性规划问题的最小二乘解 275
7.2.5基于问题的描述与求解 276
7.3 Pareto最优解 276
7.3.1多目标规划解的不唯一性 276
7.3.2解的占优性与 Pareto解集 277
7.3.3 Pareto解集的计算 278
7.4极小极大问题求解 281
本章习题 287
第 8章动态规划与最优路径 289
8.1动态规划简介 290
8.1.1动态规划的基本概念与数学模型 290
8.1.2线性规划问题的动态规划求解演示 291
8.2有向图的路径寻优 292
8.2.1有向图应用举例 292
8.2.2有向图最短路径问题的手工求解 293
8.2.3逆序递推问题的动态规划表示 294
8.2.4图的矩阵表示方法 295
8.2.5有向图搜索及图示 295
8.2.6新版本 MATLAB的图表示 299
8.2.7 Dijkstra最短路径算法及实现 301
8.3无向图的路径最优搜索 303
8.3.1无向图的矩阵描述 303
8.3.2绝对坐标节点的最优路径规划算法与应用 304
本章习题 305
第 9章智能优化方法 308
9.1智能优化算法简介 309
9.1.1遗传算法简介 309
9.1.2粒子群优化算法 310
9.2 MATLAB全局优化工具箱 310
9.3最优化问题求解举例与对比研究 313
9.3.1无约束最优化问题 313
9.3.2有约束最优化问题 316
9.3.3混合整数规划问题求解 322
9.3.4基于遗传算法的离散规划问题 324
本章习题 326
参考文献 327
MATLAB函数名索引 331
术语索引 335