标题：精通MATLAB最优化计算（第2版）
精通MATLAB最优化计算（第2版）
MATLAB精品丛书 
精通MATLAB最优化计算（第2版）  龚纯 王正林 编著
ISBN 978-7-121-14734-0
2012年1月出版
定价：59.00元（含光盘1张）
16开
420页
系统、全面的科学计算内容
丰富、详尽的MATLAB源程序
简介、实用的精选应用实例
内容简介
本书的主要内容是应用MATLAB来解决最优化问题，通过将“最优化问题”、“MATLAB优化工具箱”和“MATLAB编程”这三方面有机结合进行讲述，即一方面是使用工具箱来快速解决最优化问题，另一方面是通过算法编程深入解决最优化问题。
本书侧重于最优化算法的MATLAB实现，同时精选了大量的最优化问题实例，通过实例的分析与求解，切实教会读者掌握MATLAB在最优化问题方面的应用。
通过本书，读者不仅能掌握使用MATLAB最优化工具箱来快速解决实际问题，而且能学会分析优化算法和采用MATLAB编程解决最优化问题，从而提高分析和解决问题的能力。
本书可作为信息、数学、经济、金融、管理、运筹、统计、计算机以及相关理工科专业的本科生和研究生作为教材、实验或教学参考书，也可供相关工程技术与管理人员、数学建模爱好者参考。
前 言
本书第1版已被多所院校作为数学、信息、计算机、金融、运筹类课程的教材和教辅参考书，而且由于简单易学、内容全面、讲解细致、实例丰富而深受广大读者的喜爱，上市两年多以来长期占据同类书的销售前列，得到了读者的认可。
根据读者的需求和软件的升级，我们结合MATLAB软件的最新版本，对全书的内容进行了完善与优化，使之更加适合读者的需要。
新版导读
全书分16章进行展开，分为MATLAB入门篇、优化计算基础篇、优化计算高级篇和综合应用篇。
1．MATLAB入门篇（第1~4章）
包括MATLAB概述、MATLAB计算基础、MATLAB绘图基础、MATLAB程序设计基础等内容。
MATLAB具有强大的计算功能和数据可视化功能，是首选的计算软件。了解其软件，掌握其计算和绘图两大功能，熟练使用MATLAB进行程序设计是应用MATLAB的基础。
2．优化计算基础篇（第5~12章）
包括MATLAB优化工具箱、无约束一维极值问题、无约束多维极值问题、约束优化问题、非线性最小二乘优化问题、线性规划、整数规划、二次规划等内容。
从理论与实际结合的角度出发，介绍了常用的7类优化方法及其算法，采用简洁明了的套路讲述：（1）算法原理，（2）算法步骤，（3）算法的MATLAB实现，（4）算法举例。
书中不仅介绍了MATLAB优化工具箱中这些算法的实现函数，还着重编写了算法的MATLAB程序，并通过实例进行了验证。
3．优化计算高级篇（第13~14章）
包括粒子群优化算法、遗传算法等内容。
讲述两类常用的现代优化方法，对其中的典型优化算法一一通过MATLAB编程实现，拓展了MATLAB解决优化问题中的难解问题。
4．综合应用篇（第15~16章）
包括工程最优化问题实例、经济金融最优化问题实例等内容。
立足于典型、实际的工程应用问题，综合展示应用MATLAB实现优化计算的全过程，即问题分析、数学模型、确定优化算法、运用MATLAB完成优化计算。
通过实战教会读者如何根据实际问题的特点抽象出不同类型的模型，然后选择不同的方法进行计算并进行数值实现。而且还触类旁通地向读者介绍MATLAB在各个领域的优化问题中的应用，达到学以致用。
网络下载
本书所编的源程序，都经过了反复的调试，读者可在博文视点网站下载，同时，我们还制作了本书的部分课件，也放在该网站上，方便读者使用。
本书主要由龚纯、王正林编写。其他参与编写的人员有肖静、刘玉芳、王晓丽、肖绍英、邓祈、王殿祜、王伟欣、朱桂莲、王龙跃、朱艳、彭斌武、王盘桃、刘拥军等。在此对所有参与编写的人员表示感谢！
再次对博文视点公司的郭立老师、张月萍老师、朱沭红老师表示衷心的感谢！对关心、支持我们的读者表示感谢！
由于作者水平和经验有限，书中错漏之处在所难免，敬请读者指正，我们的电子邮箱是：
作  者     
2011年盛夏于北京
目 录
第1部分第1篇  MATLAB入门篇
第1章  MATLAB概述       2
1.1  MATLAB的产生与发展      2
1.2  MATLAB的优势与特点      3
1.3  MATLAB系统的构成  4
1.4  MATLAB桌面操作环境      5
1.4.1  MATLAB启动和退出      5
1.4.2  MATLAB主菜单及功能   7
1.4.3  MATLAB命令窗口   9
1.4.4  MATLAB工作空间   11
1.4.5  M文件编辑/调试器  14
1.4.6  图形窗口   15
1.4.7  MATLAB文件管理   16
1.4.8  MATLAB帮助使用   17
1.5  MATLAB的工具箱      17
1.6  小结      18
第2章  MATLAB计算基础       19
2.1  MATLAB数值类型      19
2.2  关系运算和逻辑运算   21
2.3  矩阵及其运算      22
2.3.1  矩阵的创建       22
2.3.2  矩阵的运算       23
2.4  复数及其运算      25
2.4.1  复数的表示       25
2.4.2  复数的绘图       26
2.4.3  复数的操作函数       27
2.5  符号运算      28
2.5.1  符号运算概述   28
2.5.2  常用的符号运算       30
2.6  小结      32
第3章  MATLAB绘图基础       33
3.1  MATLAB绘图的基本步骤  33
3.2  在工作空间直接绘图   34
3.3  利用绘图函数绘图      35
3.3.1  二维图形   35
3.3.2  三维图形   36
3.4  图形的修饰   40
3.5  小结      42
第4章  MATLAB程序设计基础       43
4.1  MATLAB编程概述      43
4.2  MATLAB程序设计原则      44
4.3  M文件  45
4.4  MATLAB程序流程控制      47
4.5  MATLAB的函数及调用      50
4.5.1  函数类型   50
4.5.2  函数参数传递   53
4.6  函数句柄      57
4.7  MATLAB程序调试      59
4.7.1  常见程序错误   59
4.7.2  调试方法   61
4.7.3  调试工具   62
4.7.4  M文件分析工具       65
4.8  MATLAB程序设计技巧      68
4.8.1  嵌套计算   68
4.8.2  循环计算   70
4.8.3  使用例外处理机制   70
4.8.4  使用全局变量   72
4.8.5  通过varargin传递参数    74
4.9  小结      75
第2篇  优化计算基础篇
第5章  MATLAB优化工具箱   78
5.1  工具箱概述   78
5.1.1  工具箱的功能   78
5.1.2  工具箱的特色   78
5.1.3  工具箱的结构   79
5.2  工具箱函数   79
5.3  GUI优化工具      82
5.3.1  GUI优化工具的启动       82
5.3.2  GUI优化工具的界面       83
5.3.3  GUI优化工具使用步骤   84
5.3.4  GUI优化工具应用实例   85
5.4  小结      93
第6章  无约束一维极值问题    94
6.1  进退法   94
6.2  黄金分割法   97
6.3  斐波那契法   99
6.4  牛顿法   103
6.4.1  基本牛顿法       103
6.4.2  全局牛顿法       105
6.5  割线法   108
6.6  抛物线法      110
6.7  三次插值法   113
6.8  可接受搜索法      115
6.8.1  Goldstein法       115
6.8.2  Wolfe-Powell法 118
6.9  MATLAB工具箱应用实例  120
6.9.1  应用fminbnd函数    120
6.9.2  应用fminsearch函数       126
6.9.3  应用改进的fminbnd函数       126
6.9.4  应用maple函数       128
6.10  小结    130
第7章  无约束多维极值问题    131
7.1  直接法   131
7.1.1  模式搜索法       131
7.1.2  Rosenbrock法    135
7.1.3  单纯形搜索法   138
7.1.4  Powell法   142
7.2  使用导数计算的间接法      145
7.2.1  最速下降法       146
7.2.2  共轭梯度法       147
7.2.3  牛顿法       150
7.2.4  修正牛顿法       151
7.2.5  拟牛顿法   153
7.2.6  信赖域法   158
7.2.7  显式最速下降法       161
7.3  MATLAB工具箱应用实例  163
7.3.1  应用fminsearch函数       163
7.3.2  应用fminunc函数    169
7.3.3  应用fminimax函数  171
7.4  小结      175
第8章  约束优化问题       176
8.1  Rosen梯度投影法       176
8.2  罚函数法      180
8.2.1  外点罚函数法   180
8.2.2  内点罚函数法   187
8.2.3  混合罚函数法   189
8.2.4  乘子法       194
8.3  坐标轮换法   197
8.4  复合形法      201
8.5  MATLAB工具箱应用实例  205
8.6  小结      206
第9章  非线性最小二乘优化问题    208
9.1  G-N法   208
9.2  修正G-N法  211
9.3  L-M法   213
9.4  MATLAB工具箱应用实例  217
9.5  小结      218
第10章  线性规划      219
10.1  单纯形法    219
10.2  修正单纯形法    226
10.3  大M法       230
10.4  变量有界单纯形法    232
10.5  MATLAB工具箱应用实例       234
10.6  小结    237
第11章  整数规划      238
11.1  割平面法     238
11.2  分支定界法 244
11.3  0-1规划      250
11.4  MATLAB工具箱应用实例 253
11.5  小结     254
第12章  二次规划      255
12.1  拉格朗日法 255
12.2  起作用集算法    257
12.3  路径跟踪法 261
12.4  MATLAB工具箱应用实例       264
12.5  小结    268
第3篇  优化计算高级篇
第13章  粒子群优化算法  270
13.1  粒子群算法概述 270
13.2  基本粒子群算法 271
13.3  带压缩因子的粒子群算法 275
13.4  权重改进的粒子群算法    279
13.4.1  线性递减权重法     279
13.4.2  自适应权重法  283
13.4.3  随机权重法     286
13.5  变学习因子的粒子群算法 288
13.5.1  同步变化的学习因子     288
13.5.2  异步变化的学习因子     291
13.6  二阶粒子群算法 294
13.7  二阶振荡粒子群算法 296
13.8  混沌粒子群算法 299
13.9  混合粒子群算法 303
13.9.1  基于自然选择的算法     303
13.9.2  基于杂交的算法     306
13.9.3  基于模拟退火的算法     309
13.10  小结   312
第14章  遗传算法      313
14.1  遗传算法概述    313
14.2  基本遗传算法    314
14.3  顺序选择遗传算法    318
14.4  适值函数标定的遗传算法 322
14.5  大变异遗传算法 326
14.6  自适应遗传算法 330
14.7  双切点交叉遗传算法 333
14.8  多变异位自适应遗传算法 337
14.9  MATLAB工具箱应用实例       341
14.10  小结   344
第4篇  综合应用篇
第15章  工程最优化问题实例  346
15.1  线性规划实例    346
15.1.1  生产任务分配问题  346
15.1.2  运输问题  349
15.1.3  生产运输问题  353
15.1.4  资源利用问题  359
15.2  整数规划实例    360
15.2.1  下料问题  360
15.2.2  配套问题  362
15.2.3  有限选址问题  364
15.2.4  生产组织与计划问题     365
15.3  无约束优化实例 366
15.3.1  选址问题  366
15.3.2  销售利润问题  368
15.3.3  库存问题  369
15.4  约束优化实例    371
15.4.1  最大体积问题  371
15.4.2  资源分配问题  372
15.4.3  和三角形有关的极值问题     373
15.4.4  点到曲线的距离     374
15.4.5  曲线到曲线的距离  378
15.5  小结    380
第16章  经济金融最优化问题实例  381
16.1  最大利润问题    381
16.1.1  不考虑销售影响     381
16.1.2  考虑销售影响  382
16.2  最优消费问题    383
16.3  最优投资分配问题    385
16.4  最优资金使用问题    387
16.5  最优产量问题    388
16.5.1  古诺竞争模型  388
16.5.2  斯塔克尔伯格竞争模型  389
16.6  最优投资组合问题    390
16.6.1  标准均值-方差组合       391
16.6.2  有上界的均值-方差组合       392
16.6.3  有交易成本的均值-方差
组合       393
16.6.4  自融资均值-方差投资组合    394
16.7  小结    395
附录A    396
附录B    398
参考文献       401
实 例 目 录
第2章  MATLAB计算基础
例2-1     元胞数组创建与显示实例    20
例2-2     矩阵创建实例       22
例2-3     特殊矩阵生成函数使用实例       23
例2-4     矩阵基本运算实例       24
例2-5     矩阵函数运算实例       24
例2-6     矩阵分解运算函数使用实例       25
例2-7     复数构造实例       25
例2-8     复数矩阵构造实例       26
例2-9     复数函数绘图实例       27
例2-10   符号表达式创建实例    29
例2-11    极限和极值的符号运算实例       31
例2-12   微积分的符号运算实例       31
例2-13   常微分方程符号运算实例    32
第3章  MATLAB绘图基础
例3-1     工作空间直接做图法使用实例    34
例3-2     二维图形绘制实例       35
例3-3     三维曲线绘制函数使用实例       38
例3-4     三维网格曲面图绘制应用实例    38
例3-5     阴影曲面绘制函数surf使用实例       39
例3-6     绘图命令使用实例       41
第4章  MATLAB程序设计基础
例4-1     M文件创建实例   46
例4-2     return语句使用实例     49
例4-3     匿名函数创建实例       51
例4-4     显示函数输入和输出参数的数目实例       54
例4-5     可变数目的参数传递实例    55
例4-6     函数内部的输入参数修改实例    56
例4-7     函数参数传递实例       56
例4-8     全局变量使用实例       57
例4-9     函数句柄创建和调用实例    58
例4-10   处理函数句柄的函数使用实例    58
例4-11    嵌套计算与直接求值的比较实例       69
例4-12   嵌套计算与非嵌套计算的比较实例    69
例4-13   例外处理机制使用实例       70
例4-14   nargin函数应用实例    71
例4-15   全局变量使用实例       72
例4-16   通过varargin传递参数的实例    74
第5章  MATLAB优化工具箱
例5-1     fminunc求解器应用实例     85
例5-2     fminsearch求解器应用实例 86
例5-3     fmincon求解器应用实例     88
例5-4     lsqnonlin求解器应用实例    89
例5-5     linprog求解器应用实例       90
例5-6     ga求解器应用实例       91
第6章  无约束一维极值问题
例6-1     进退法求解极值区间实例    96
例6-2     黄金分割法求解极值实例    99
例6-3     斐波那契法求解极值实例    102
例6-4     基本牛顿法求解极值实例    105
例6-5     全局牛顿法求解极值实例    107
例6-6     割线法求解极值实例    110
例6-7     抛物线法求解极值实例       112
例6-8     三次插值法求解极值实例    115
例6-9     Goldstein法求解极值实例   117
例6-10   Wolfe-Powell法求解极值实例    120
例6-11    fminbnd函数求解极值实例1      121
例6-12   fminbnd函数求解极值实例2      123
例6-13   fminbnd函数求解极值实例3      124
例6-14   fminbnd函数求解极值实例4      124
例6-15   fminbnd函数求解极值实例5      125
例6-16   fminsearch函数求解极值实例     126
例6-17   改进的fminbnd函数求解极值实例1  127
例6-18   改进的fminbnd函数求解极值实例2  127
例6-19   改进的fminbnd函数求解极值实例3  127
例6-20   改进的fminbnd函数求解极值实例4  128
例6-21   maple函数求极小值实例1  129
例6-22   maple函数求极小值实例2  129
例6-23   maple函数求极小值实例3  130
第7章  无约束多维极值问题
例7-1     模式搜索法求解无约束多维极值问题实例       134
例7-2     Rosenbrock法求解无约束多维极值问题实例    137
例7-3     单纯形搜索法求解无约束多维极值问题实例    141
例7-4     Powell法求解无约束多维极值问题实例    145
例7-5     最速下降法求解无约束多维极值问题实例       147
例7-6     共轭梯度法求解无约束多维极值问题实例       149
例7-7     牛顿法求解无约束多维极值问题实例       151
例7-8     修正牛顿法求解无约束多维极值问题实例       153
例7-9     DFP法求解无约束多维极值问题实例       156
例7-10   BFGS法求解无约束多维极值问题实例     158
例7-11    信赖域法求解无约束多维极值问题实例    160
例7-12   显式最速下降法求正定二次函数极值的应用实例    162
例7-13   fminsearch函数求解无约束多维极值问题实例1      164
例7-14   fminsearch函数求解无约束多维极值问题实例2      164
例7-15   fminsearch函数求解无约束多维极值问题实例3      169
例7-16   fminunc函数求解无约束多维极值问题实例     170
例7-17   fminimax函数求解无约束多维极值问题实例   174
第8章  约束优化问题
例8-1     Rosen梯度投影法求解约束优化问题实例 179
例8-2     外点罚函数法应用实例       182
例8-3     通用罚函数法应用实例       184
例8-4     外点混合罚函数法应用实例       186
例8-5     内点罚函数法求解约束优化问题实例       189
例8-6     混合罚函数法求解约束优化问题实例       192
例8-7     加速混合罚函数法求解约束优化问题实例       194
例8-8     乘子法求解约束优化问题实例    196
例8-9     坐标轮换法求解约束优化问题实例    200
例8-10   复合形法求解约束优化问题实例       204
例8-11    fmincon函数求解约束优化问题实例  205
第9章  非线性最小二乘优化问题
例9-1     G-N法求解非线性最小二乘优化问题实例       210
例9-2     修正G-N法求解非线性最小二乘优化问题实例      212
例9-3     L-M法求解非线性最小二乘优化问题实例       215
例9-4     lsqnonlin求解非线性最小二乘优化问题实例    217
第10章  线性规划
例10-1   单纯形法求解线性规划实例1     222
例10-2   单纯形法求解线性规划实例2     223
例10-3   修正单纯形法求解线性规划实例       229
例10-4   大M法求解线性规划实例   231
例10-5   变量有界单纯形法求解线性规划实例       232
例10-6   linprog函数求解线性规划实例1 235
例10-7   linprog函数求解线性规划实例2 235
例10-8   linprog函数求解线性规划实例3 236
例10-9   linprog函数求解线性规划实例4 236
第11章  整数规划
例11-1    割平面法求解整数规划实例       244
例11-2    分支定界法求解整数规划实例1 249
例11-3    分支定界法求解整数规划实例2 249
例11-4    0-1规划应用实例  252
例11-5    bintprog函数求解0-1规划实例  253
第12章  二次规划
例12-1   拉格朗日法求解二次规划实例    256
例12-2   起作用集法求解二次规划实例    260
例12-3   路径跟踪法求解二次规划实例    264
例12-4   quadprog函数求解二次规划实例1     266
例12-5   quadprog函数求解二次规划实例2     266
第13章  粒子群优化算法
例13-1   基本粒子群算法应用实例    273
例13-2   带压缩因子的粒子群算法应用实例    278
例13-3   线性递减权重的粒子群算法应用实例       281
例13-4   自适应权重的粒子群算法应用实例    285
例13-5   随机权重的粒子群算法应用实例       288
例13-6   同步变化的学习因子粒子群算法应用实例       290
例13-7   异步变化的学习因子粒子群算法应用实例       293
例13-8   二阶粒子群算法应用实例    296
例13-9   二阶振荡粒子群算法应用实例    299
例13-10  混沌粒子群算法应用实例    302
例13-11  基于自然选择的粒子群算法应用实例       305
例13-12  基于杂交的粒子群算法应用实例       308
例13-13  基于模拟退火的粒子群算法应用实例       311
第14章  遗传算法
例14-1   基本遗传算法应用实例用    317
例14-2   顺序选择遗传算法应用实例       321
例14-3   适值函数标定的遗传算法应用实例    324
例14-4   大变异遗传算法应用实例    329
例14-5   自适应遗传算法应用实例    333
例14-6   双切点交叉遗传算法应用实例    336
例14-7   多变异位自适应遗传算法应用实例    340
例14-8   优化工具的ga求解器应用实例1       341
例14-9   优化工具的ga求解器应用实例2       342
第15章  工程最优化问题实例
例15-1   生产任务分配问题应用实例1     346
例15-2   生产任务分配问题应用实例2     347
例15-3   运输问题应用实例       350
例15-4   生产运输问题应用实例1     354
例15-5   生产运输问题应用实例2     356
例15-6   资源利用问题应用实例       359
例15-7   下料问题应用实例       360
例15-8   配套问题应用实例       362
例15-9   有限选址问题应用实例       364
例15-10  生产组织与计划问题应用实例    365
例15-11  选址问题应用实例       366
例15-12  销售利润最大化问题应用实例    368
例15-13  库存问题应用实例1     369
例15-14  库存问题应用实例2     370
例15-15  库存问题应用实例3     371
例15-16  最大体积问题应用实例       371
例15-17  资源分配问题应用实例       372
例15-18  和三角形有关的极值问题应用实例1 373
例15-19  和三角形有关的极值问题应用实例2 373
例15-20  点到曲线距离问题应用实例1     374
例15-21  点到曲线距离问题应用实例2     375
例15-22  点到曲线距离问题应用实例3     377
例15-23  曲线到曲线距离问题应用实例    379
第16章  经济金融最优化问题实例
例16-1   未考虑销售影响的利润最大化问题实例    382
例16-2   考虑销售影响的利润最大化问题实例       383
例16-3   最优消费问题应用实例       384
例16-4   最优投资分配问题应用实例       385
例16-5   资金最优使用问题实例       387
例16-6   古诺竞争模型应用实例       389
例16-7   斯塔克尔伯格模型应用实例       390
例16-8   标准均值-方差投资组合应用实例      391
例16-9   有上界的均值-方差投资组合应用实例      392
例16-10  有交易成本的均值-方差投资组合应用实例      393
例16-11  自融资均值-方差投资组合应用实例  394