图书前言

前    言

  为了能更有效地解决工业生产过程中大量存在的优化问题,自20世纪80年代以来,涌现出了很多智能优化算法。它们通过模拟某一自然现象或过程而发展起来,为解决复杂系统的优化问题提供了新的思路和手段,自诞生就引起了国内外学者的广泛关注,并被应用于许多领域。MATLAB作为一款科学计算软件被广大的科研人员所热爱,其强大的数据计算功能、图像的可视化界面及代码的可移植性受到了科研人员及高校师生的认可。借助MATLAB进行算法开发,能够解决几乎所有的工程问题。

  目前市场上出版的同类书籍大多数缺少理论和背景分析,还有一些书中的代码使用了伪代码,这导致读者面对自己的课题不知道如何应用,或者是根本没法应用这些代码。为了让读者能更好地学习MATLAB优化算法,笔者编写并出版了《MATLAB优化算法案列分析与应用》(清华大学出版社,2014年9月第1版)。该书上市后深受读者欢迎,但因篇幅所限,也无法将所有常见的MATLAB算法都讲解到。为了让读者更加全面地学习MATLAB算法应用,笔者在该书的基础上重新编写了“进阶篇”。两本书中所涉及的算法在算法种类上形成了互补,读者可以通过这两本书更好及更完整地阅读相关领域的全套算法,从而丰富自己的MATLAB算法应用。

  本书中的算法案例针对具体的工程背景,采用不同的算法对所涉及的案例用MATLAB进行求解,让读者能真正理解算法的本质,从而更好地将其应用到实际工程和科学研究中。本书以智能算法应用为主,以分析工程案例为辅,做到了理论和算法相结合,并详细讲解其思路和设计步骤,向读者展示了如何运用MATLAB进行算法开发和设计。

  对算法熟悉的读者也许会注意到,一种高级算法总是和函数优化分析相结合。因为所有的工程问题归根结底都转化为函数问题,所以算法和函数优化结合的案例分析是MATLAB算法学习中最通用的剖析方法,也是MATLAB算法学习的精华。希望广大读者能够很好地掌握。

本书特色

  1.提供“在线交流,有问必答”网络互动答疑服务

  国内最大的MATLAB&Simulink技术交流平台——MATLAB中文论坛(www.iLoveMatlab.cn)联合本书作者和编辑,一起为您提供与本书相关的问题解答和MATLAB技术支持服务,让您获得最佳的阅读体验。具体参与方式请详细阅读本书封底的说明。

  2.内容讲解不枯燥

  本书结合相关算法理论和实践案例,抽出和算法相关的理论作为支撑,通过求解流程以及算法迭代过程,让读者容易理解并且掌握。书中的案例大多数是针对具体的工程应用和研究,阅读起来不枯燥。

  3.内容丰富和深入,覆盖面极广

  相比笔者之前出版的《MATLAB优化算法案例分析与应用》一书,本书内容更加丰富,涵盖面更加广泛,而且内容更加深入。本书基本包括了所有常见的MATLAB优化算法及应用,包括贝叶斯分类器、期望最大化算法、K最近邻密度估计、朴素贝叶斯分类器、背景差分法、小波变换、BP网络、递归最小二乘(RLS)算法、GA优化的BP网络算法、分形盒维数、带约束的非线性目标优化、边缘检测算法、人脸检测、改进的图像边缘检测算法、指纹图形去伪算法、多元回归算法、DW检验、非线性多混合函数拟合模型、伊藤微分方程、布朗运动、无线体域网路由方法、罚函数的粒子群算法、遗传算法、图像识别、车载自组织网络、免疫算法、启发式搜索算法、倒立摆变结构控制系统设计、蚁群算法、万有引力搜索算法、细菌觅食算法、匈牙利算法、人工蜂群算法、改进的遗传算法、差分进化算法和鱼群算法等。针对分类、预测、优化和控制系统问题,本书采用不同的算法进行设计,即便初学者通过阅读本书也可以开发出适用于自己问题的程序。

  4.循序渐进,由浅入深

  本书从算法原理与求解流程出发,辅以MATLAB程序验证,通过算法代码可以直观地理解算法原理中所涉及的公式,从而引导读者去认识和掌握群智能算法的思想。

  5.大量真实案例,随学随用

  本书是一本注重实践的书。因此,有大量的篇幅用在了真实的MATLAB算法解决具体案例中。本书在偏重于群智能算法讲解,如蚁群算法、遗传算法、差分进化算法、蜂群算法和细菌觅食算法等,通过函数优化分析,采用不同的算法通过寻优求解,读者可以从这些实例中更加深刻的理解,同时,只需要稍加修改这些案列,即可用于读者正在应用的项目或课题上去,从而实现问题的求解。

  6.语言通俗易懂,讲解图文并茂

  本书用通俗易懂的语言讲解各个知识点和算法案例,而且在讲解过程中提供了大量的图示帮助读者直观地理解所学知识。所以无论是新手,还是有一定基础的读者,都能顺利地阅读本书,从而提高自己的算法水平。

本书内容

  第1篇  MATLAB常用算法应用设计(第1~16章)

  本篇介绍了MATLAB的常用算法,包括贝叶斯分类器、期望最大化算法、K最近邻密度估计、朴素贝叶斯分类器、背景差分法、小波变换、BP网络、递归最小二乘(RLS)算法、GA优化的BP网络算法、分形盒维数、带约束的非线性目标优化、边缘检测算法、人脸检测、改进的图像边缘检测算法、指纹图形去伪算法、多元回归算法、DW检验、非线性多混合函数拟合模型、伊藤微分方程和布朗运动等案例。通过该类较为常用的算法引入,读者可以应用这些案例解决一些常见问题,如图像检测、函数优化预测、拟合回归和分类等模型。通过对这些内容的学习,也为第2篇的学习打下了坚实的算法基础。

  第2篇  MATLAB高级算法应用设计(第17~30章)

  本篇涉及面较广,而且内容较为深入,主要介绍了罚函数的粒子群算法、遗传算法、图像识别、车载自组织网络、免疫算法、启发式搜索算法、倒立摆变结构控制系统设计、蚁群算法、万有引力搜索算法、细菌觅食算法、匈牙利算法、人工蜂群算法、改进的遗传算法、差分进化算法和鱼群算法等案例。通过这些算法案例分析,并结合算法理论和程序代码,能真正适应广大科研人员和高校师生的需要。通过学习本篇的MATALB高级算法应用,可以让读者向更广泛、更具体和更多的应用发展,可以让读者真正掌握算法核心,设计和开发出符合要求的可移植性代码。

本书读者对象

* MATALB算法初学者;

* MATLAB算法爱好者;

* MATLAB算法研究者;

* MATLAB开发人员;

* MATLAB爱好者;

* MATALB相关从业人员;

* 算法开发从业人员;

* 刚入职的初中级程序员;

* 大中专院校的学生;

* 相关培训学校的学员。

本书配套资源获取方式

  本书涉及的源程序及教学PPT需要读者自行下载。请登录MATLAB中文论坛www.iLoveMatlab.cn,然后在论坛的“MATLAB读书频道:与作者面对面交流”版块上找到本书页面后下载。读者也可以到清华大学出版社的网站上(www.tup.com.cn)搜索到本书页面,然后按照提示下载。

阅读建议

* 算法初学者建议先阅读《MATLAB优化算法案例分析与应用》一书,然后再阅读本书,效果更好;

* 对算法有一定了解和研究的读者可以根据自己的实际情况安排阅读计划;

* 经常到MATLAB中文论坛上逛逛,阅读相关技术帖子,也是很好的提高方式;

* 每个案例都要亲手实践,并思考是否可以用于自己的工程项目或者研究中。

本书作者

  本书由余胜威主笔编写。其他参与编写的人员有李小妹、周晨、桂凤林、李然、李莹、李玉青、倪欣欣、魏健蓝、夏雨晴、萧万安、余慧利、袁欢、占俊、周艳梅、杨松梅、余月、张广龙、张亮、张晓辉、张雪华、赵海波、赵伟、周成、朱森。

  笔者结合自己在西南交通大学学习期间掌握的各类算法及出于对MATLAB的爱好,通过参阅大量的相关资料,精心准确,写作了本书。由于算法研究的复杂性,笔者的写作也需要借鉴前辈的一些研究成果才能做得更好,所以本书写作的过程中笔者也参考了一些自己平时积累的参考资料,部分资料可能来自于前辈们的著作。在此向这些前辈们表示深深的敬意和感谢!由于无法联系到原作者,所以写作时也无法一一征求意见。如果有不当之处,请联系笔者或者本书编辑。

  阅读本书的过程中若有疑问,可以在MATLAB中文论坛的本书交流版块提问,也可以发邮件到bookservice2008@163.com,我们会及时答复。

  

  编著者

  于成都

  ??

  

  ??

  

  ??

  

  ??

  

MATLAB优化算法案例分析与应用(进阶篇)

  

前    言

  

·VI·

  

  

·V·