发布网友 发布时间:2022-04-20 10:58
共1个回答
热心网友 时间:2023-07-09 05:38
书名:工程优化设计与MATLAB实现(修订版)
书号:9787302266082
作者:张永恒等
定价:34元
出版日期:2011-9-5
出版社:清华大学出版社
内容简介
本书以工程实例为背景,以MATLAB语言为工具,较全面地介绍了优化设计的理论及应用。本书主要内容包括:优化设计基本模型;优化设计数学基础知识;一维搜索方法;无约束优化问题、有约束优化问题的经典算法;启发式优化算法,包括蚁群优化、粒子群优化算法、遗传算法、模拟退火算法、禁忌算法和人工神经网络算法;MATLAB优化工具箱函数及应用;优化算法工程应用实例及MATLAB基础知识。书中配有完整的MATLAB程序。本书可作为高等工科院校有关专业优化设计方面课程的教材和教学参考书,也可供有关专业的师生和工程技术人员参考。
前言
优化设计是一门古老而新兴的理论,既有着很强的应用背景,又有着坚实的数学基础。它的数学基础可以追溯到牛顿(Newton,1642-1727) 、莱布尼茨(W.Leibniz,1646-1716)创立的微积分理论。优化设计与运筹学有着密切的联系,前者是后者在非线性规划方向的延伸和发展。优化设计主要研究连续函数在有约束和无约束条件下单目标函数或多目标函数的最优值问题,而运筹学主要研究经济活动和军事活动中能用数量来表达的有关策划、管理方面的问题。随着科学技术和生产的发展,运筹学已渗入到多个领域,其本身也在不断发展,包含了多个数学分支,如数学规划(又包含线性规划、非线性规划、整数规划、组合规划等)、图论、网络流、决策分析、排队论、可靠性数学理论、库存论、对策论、搜索论、模拟等。在运筹学方面,我国著名科学家钱学森、许国志、数学家华罗庚等作出了重要贡献。1956年钱学森和许国志共同创建了中国第一个运筹学研究组织。从20世纪60年代开始,华罗庚持续近20年在全国范围内推广优选法和统筹法,产生了巨大的经济效益。其中优选法采用的黄金分割搜索方法也是优化设计中一维搜索常用的一种方法。各种启发式(heuristic)算法或智能算法,如遗传算法、蚁群算法、粒子群算法、神经网络算法等不但能解决连续函数的优化问题,也能解决离散函数的优化问题,它们将优化设计与运筹学紧密结合起来。
广义来说优化设计采用的方法是搜索的方法,传统的优化设计方法主要采用线搜索方法,而启发式优化方法采用多方位的随机搜索方法。对非线性函数来说,在极值点附近可以用二次函数来*近,若存在极小值,则极值点附近的函数值均大于极值点处的函数值。求连续函数极值的问题,一部分人可能会想到用求导数的方法来解决,另一部分人可能不采用求导数的方法,而直接用比较的方法来确定搜索区间和极小值。与求导数的方法相比,直接搜索法是优化设计中更基础的方法。从优化设计的数学模型来分,优化设计问题可分为有约束的优化问题和无约束的优化设计问题;而从求解方法来分,优化设计方法可分为基于导数的方法和直接搜索方法。随机方向法、复合型法、鲍威尔法、可行方向法均属于直接搜索法,值得注意的是遗传算法、蚁群算法、粒子群算法等启发式算法均含有随机方向法的基本内涵。
优化设计广泛应用于航空、汽车、化工、电力、建筑、机械制造等众多领域,由于优化问题的多样性,相应出现了多种优化设计方法,每一种方法都有其自身的特点和适用范围,在实际应用中,特别对于大型优化设计问题,不应以一次计算结果或一种方法得出的结果作为最终的最优结果。
优化设计是以工程设计问题为背景,将最优化原理与计算技术相结合的产物。不论是从学习的角度还是从应用的角度,实践都是非常重要的,实践既是学习的终点又是学习的起点。本书特别强调理论与实践的结合。实践包括多个方面,最基本的是通过简单的例子用手工演算来验证算法,然后是通过编程利用计算机实现和验证优化算法,最后是针对工程设计问题建立优化设计模型,选择合适的优化算法解决设计问题。MATLAB不但是实现数值计算的计算机高级语言,同时也是解决多种工程和数学问题的仿真软件。本书以MATLAB语言作为程序设计语言和实践环境,针对每一种算法编写了学习程序,方便读者学习。这些程序主要为验证优化算法而设计,读者可以以此为基础编写自己的程序。MATLAB本身包含有命令格式和GUI格式的优化工具箱,并随着版本的升级不断加入新的优化算法。本书第11章简要介绍了MATLAB优化工具箱命令格式的各种优化函数,优化工具箱函数为实现优化设计提供了极大的方便,但从学习的角度来说,应尽可能自己编程以便深刻领会和掌握所学的优化算法。
本书修订版保持了原书的内容,对部分内容作了修订,完善了各章习题。本书配有电子教案,需要者可与清华大学出版社联系。
本书由张永恒主编并统稿,蔡慧林、褚衍东审阅,何玮、马斌、朱凌云(兰州交通大学)、严军(西北师范大学)参加编写。第1章、第12.1~12.3节由张永恒编写;第9章和第12.10节由何玮编写;第5、6、7章由马斌编写;第2、4、8章由朱凌云编写;第3、10、11章和第12.4~12.9节由严军编写;习题由张永恒、马斌、朱凌云编写。在编写过程中,张鹏、刘金平、程明、周志勇、宁珍、刘军强、唐强完成了部分程序的调试工作,在此表示感谢。在编写过程中参考了网络中有关作者的资料在此一并表示感谢。
由于作者水平有限,书中一定有不少错误和缺点,敬请广大读者提出宝贵意见。
目录
目 录
第1章 绪论1
1.1 最优化问题的提出1
1.2 最优化问题的分类4
1.3 优化模型的图形表示5
1.4 有限元法引例10
1.5 多学科设计优化集成软件iSIGHT简介12
习题16第2章 优化设计的数学基础18
2.1 向量与矩阵的范数18
2.1.1 向量的范数18
2.1.2 矩阵的范数18
2.2 方向导数与梯度19
2.2.1 方向导数19
2.2.2 梯度20
2.3 函数的泰勒级数展开21
2.4 无约束优化问题的极值条件22
2.5 凸集与凸函数25
2.5.1 凸集25
2.5.2 凸函数25
2.6 有约束优化问题的极值条件27
2.6.1 等式约束优化问题的极值条件27
2.6.2 不等式约束优化问题的极值条件29
习题36第3章 线性规划37
3.1 线性规划的标准形式37
3.2 单纯形法38
3.2.1 基本解与基本可行解38
3.2.2 基本可行解的转换42
3.2.3 单纯形法的计算步骤44
3.2.4 单纯形法列表计算47
3.3 单纯形法的MATLAB程序及实例49
3.4 改进的单纯形法51
3.4.1 改进的单纯形法的基本思想52
3.4.2 改进的单纯形法的计算步骤52
3.5 改进的单纯形法的MATLAB程序及实例55
习题57第4章 一维搜索方法60
4.1 确定初始单峰区间的方法--进退法60
4.1.1 进退法原理60
4.1.2 进退法程序框图及MATLAB程序61
4.2 黄金分割法63
4.2.1 黄金分割法的基本原理63
4.2.2 黄金分割法的计算方法63
4.2.3 黄金分割法的计算框图和MATLAB程序64
4.3 拉格朗日插值多项式66
4.3.1 线性插值66
4.3.2 二次函数插值66
4.3.3 ?n?次拉格朗日插值多项式70
4.4 插值与拟合的其他方法71
4.4.1 差商与牛顿插值71
4.4.2 列维尔插值法72
4.4.3 曲线拟合的最小二乘法75
4.4.4 正交多项式及其在曲线拟合中的应用76
4.5 一元及多元非线性方程求根81
4.5.1 一元非线性方程求根81
4.5.2 多元非线性方程组求根84
习题85第5章 无约束优化问题的导数解法87
5.1 最速下降法87
5.1.1 最速下降法的基本原理87
5.1.2 最速下降法的MATLAB程序89
5.2 牛顿法90
5.2.1 牛顿法的基本原理90
5.2.2 阻尼牛顿法92
5.2.3 阻尼牛顿法的MATLAB程序93
5.3 共轭梯度法94
5.3.1 共轭方向的概念94
5.3.2 共轭方向与函数极值的关系94
5.3.3 共轭梯度法的几种形式95
5.3.4 共轭梯度法的MATLAB程序99
5.4 变尺度法100
5.4.1 变量的尺度100
5.4.2 变尺度矩阵的建立103
5.4.3 变尺度法的MATLAB程序106
习题108第6章 无约束优化问题的直接解法109
6.1 坐标轮换法109
6.1.1 坐标轮换法的基本原理109
6.1.2 搜索方向与步长的确定109
6.1.3 坐标轮换法的MATLAB程序110
6.2 单形替换法112
6.2.1 单形替换法(一)113
6.2.2 单形替换法(二)114
6.2.3 单形替换法的MATLAB程序115
6.3 鲍威尔法119
6.3.1 鲍威尔法的原理120
6.3.2 鲍威尔基本算法的步骤120
6.3.3 改进的鲍威尔方法121
6.4 鲍威尔法的MATLAB程序及实例125
习题127第7章 约束优化问题的直接解法129
7.1 随机方向法129
7.1.1 随机方向法的基本原理129
7.1.2 随机方向法的步骤129
7.1.3 随机方向法的MATLAB程序130
7.2 复合形法133
7.2.1 复合形法的步骤133
7.2.2 复合形法的MATLAB程序135
7.3 可行方向法140
7.3.1 可行方向法的搜索策略140
7.3.2 Zoutendijk可行方向法141
7.3.3 Rosen可行方向法144
7.3.4 Rosen可行方向法的MATLAB程序146
习题150第8章 约束优化问题的间接解法152
8.1 罚函数法152
8.1.1 内点罚函数法152
8.1.2 外点罚函数法156
8.1.3 混合罚函数法158
8.2 增广乘子法160
8.2.1 拉格朗日乘子法160
8.2.2 等式约束的增广乘子法162
8.2.3 不等式约束的增广乘子法165
习题169第9章 多目标函数优化设计171
9.1 多目标优化问题172
9.1.1 多目标优化问题的数学模型172
9.1.2 多目标优化设计解的类型172
9.2 多目标优化问题的求解方法173
9.2.1 线性组合法173
9.2.2 理想点法174
9.2.3 乘除法175
习题175第10章 最优化问题的启发式算法177
10.1 蚁群算法177
10.1.1 蚁群算法求解TSP的基本原理177
10.1.2 用蚁群算法求解函数优化问题181
10.2 粒子群优化算法185
10.2.1 粒子群优化算法的基本原理185
10.2.2 用粒子群算法求解函数优化问题185
10.3 遗传算法189
10.3.1 遗传算法的基本原理189
10.3.2 混合遗传算法196
10.3.3 十进制编码遗传算法199
10.3.4 用遗传算法求解TSP问题203
10.4 模拟退火算法204
10.5 人工神经网络算法208
10.5.1 人工神经网络的特征及分类208
10.5.2 BP网络209
10.5.3 Hopfield神经网络模型212
习题222第11章 MATLAB优化工具箱简介223
11.1 MATLAB常用内部数学函数223
11.2 MATLAB优化工具箱的主要函数224
11.2.1 MATLAB求解优化问题的主要函数224
11.2.2 优化函数控制参数225
11.3 线性规划问题226
11.4 一元和多元函数的优化问题228
11.4.1 一元函数的优化问题228
11.4.2 多元函数的无约束优化问题228
11.4.3 多元函数的有约束优化问题230
11.4.4 二次规划问题231
11.5 半无限约束多元函数优化问题233
11.6 多目标优化问题234
11.6.1 理想点法234
11.6.2 线性加权和法237
11.6.3 最大最小法239
11.6.4 目标达到法240
11.7 最小二乘法在优化及数据拟合中的应用242
11.7.1 有约束线性最小二乘243
11.7.2 最小二乘法数据(曲线)拟合之一244
11.7.3 最小二乘法数据(曲线)拟合之二245
11.7.4 最小二乘法数据(曲线)拟合之三246
11.8 非线性方程的求解247
11.8.1 一元非线性方程的解247
11.8.2 非线性方程组的解247
习题251第12章 工程优化设计实例254
12.1 平面连杆机构的优化设计254
12.1.1 曲柄摇杆机构优化设计数学模型255
12.1.2 曲柄摇杆机构优化设计的MATLAB程序及运行结果256
12.2 凸轮优化设计257
12.2.1 凸轮型线优化设计目标函数258
12.2.2 优化函数约束条件259
12.2.3 凸轮机构优化设计的MATLAB程序及计算实例259
12.3 螺栓连接的优化设计261
12.3.1 螺栓连接受力分析261
12.3.2 螺栓连接的设计变量、目标函数及约束条件262
12.3.3 螺栓连接的优化数学模型263
12.3.4 螺栓连接优化设计的MATLAB程序及运行结果263
12.4 圆柱齿轮传动的优化设计264
12.4.1 模糊综合评判的一般流程264
12.4.2 圆柱齿轮传动优化设计的目标函数和设计变量266
12.4.3 圆柱齿轮传动优化设计的约束条件267
12.4.4 最优截集水平值?λ???的确定269
12.4.5 圆柱齿轮传动优化设计的MATLAB程序及计算结果270
12.5 圆柱螺旋弹簧的优化设计272
12.5.1 圆柱螺旋弹簧优化设计的数学模型272
12.5.2 圆柱螺旋弹簧优化设计实例274
12.6 轴的优化设计275
12.6.1 扭转轴的优化设计275
12.6.2 圆形等截面轴的优化设计276
12.6.3 车床主轴的优化设计278
12.7 桁架的优化设计281
12.7.1 静定桁架的优化设计281
12.7.2 三杆桁架的优化设计284
12.8 换热器的优化设计286
12.8.1 换热器优化设计(一)286
12.8.2 换热器优化设计(二)289
12.9 基于优化方法的常微分方程边值问题数值解291
12.9.1 基于MATLAB函数的求解方法291
12.9.2 求解两点边值问题的打靶法292
12.9.3 边界层微分方程组及相似解293
12.9.4 流函数方程和温度方程的求解295
12.10 含间隙机械系统的参数优化设计306
12.10.1 力学模型及运动微分方程307
12.10.2 系统的分岔和通向混沌的道路308
12.10.3 系统优化设计的MATLAB程序309
习题312参考文献316