登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 毕业论文 > 理工学类 > 能源与动力工程 > 正文

免疫算法的MATLAB实现及其工程应用毕业论文

 2020-02-19 20:29:48  

摘 要

免疫算法是人工智能领域的一个重要内容,同神经网络算法及遗传算法一样,也是一种应用广泛的生物智能优化算法,正受到国内外越来越多学者的关注和研究。

论文在对当前智能优化算法的国内外研究现状有了简单概括后,详细介绍了免疫算法的相关知识,并基于所学的免疫算法理论,运用MATLAB成功实现对免疫算法的编程。之后先是用该程序代码有效地解决了经典的NP-hard问题——旅行商问题,再通过对其进行修改,使之成功解决了船舶在不同海域航行时的成本问题与物流中心选址问题。

计算结果表明,编写的免疫算法程序代码能够得到较为满意的最优解,展现出较好的优化性能,对于解决工程应用方面的问题具有一定的现实意义。

关键词:智能优化算法;免疫算法;工程应用

Abstract

Immune algorithm is an important content in the field of artificial intelligence. As neural network algorithm and genetic algorithm, it is also a widely used biological intelligent optimization algorithm, which is attracting more and more attentions and researches from scholars at home and abroad.

After a brief summary of the current research status of intelligent optimization algorithms at home and abroad, this thesis introduces the relevant knowledge of immune algorithm in detail. Based on the immune algorithm theory, The immune algorithm is programmed successfully by using MATLAB. After that, the classical NP-hard problem, the traveling salesman problem, is effectively solved by using the program code. Then, by modifying the program code, the problem of location of logistics center and the cost of ships sailing in different sea areas are successfully solved.

The calculation results show that the immune algorithm program code can get a satisfactory optimal solution, showing good optimization performance, and has a certain practical significance for solving engineering application problems

Key Words:Intelligent optimization algorithm;Immune algorithm;engineering application

目 录

第1章 绪论 1

1.1研究背景及意义 1

1.2智能优化算法的国内外研究现状 2

1.3本文的主要内容 3

第2章 免疫算法 5

2.1免疫算法的基本原理 5

2.2免疫算法的特点 7

第3章 基于MATLAB的免疫算法实现 9

3.1旅行商问题 9

3.2免疫算法的建立 9

3.3小结 11

第4章 免疫算法的工程应用 14

4.1免疫算法在解决船舶航行成本问题上的应用 14

4.1.1改进的免疫算法 14

4.1.2小结 15

4.2免疫算法在物流配送中心选址问题中的应用 16

4.2.1问题描述和假设 16

4.2.2免疫算法的实现 17

4.2.3小结 19

第5章 结论 21

参考文献 22

附录A 旅行商问题程序代码 24

附录B 船舶在不同海域航行成本问题程序代码 27

致 谢 31

第1章 绪论

1.1研究背景及意义

近年来,随着科学技术和工程领域的快速的创新发展,多学科分布式协作制造在许多企业中越来越普遍。分销资源规模迅速增长,生产的整个生命周期,包括产品的开发、建模、物流和维护等,变得越来越复杂。为了进一步缩短产业周期,提高运营效率,提高资源和信息的利用率,就需解决和优化宏观和微观过程中的许多复杂问题。所以人们需要更加高效、准确和便捷的算法工具来解决这些工程优化问题。

从数学的角度来看,这些问题可以分为连续的数值优化问题和离散组合优化问题。例如,模拟领域中的多线性和非线性方程以及复杂的非线性规划可以归类为连续数值优化问题。制造过程和系统管理中的典型工作流程,任务调度,服务组合最优选择,协作伙伴选择和资源分配问题可以归类为离散组合优化问题。在小规模解空间的情况下,各种确定性算法能有效地得出最优的结果,并且近似算法也许能用更短的时间得出近似解。然而,在现实中,大多数优化问题例如旅行商问题、分配问题、车间调度问题等被证明是NP-hard问题(NP指非确定性多项式)。这意味着没有算法可以在多项式时间内找到最优解,而且随着问题规模的逐渐扩大,传统的确定性优化算法求该问题的最优解时间将呈指数级增长。同样,大多数近似算法都存在近似率低,通用性差以及在解决如此大规模问题的情况下难以满足可行解的要求的问题。因此,传统的确定性算法和近似算法都很难解决这些大规模NP-hard问题。

而自然界中处处存在着对于拥有强大运算能力的计算机也难以处理的优化问题,生态系统却能够将其完美地解决。科学家们从这种望尘莫及的优化能力中得到了启发,通过对这些自然现象或过程的研究,成功地发展出一套以模拟自然机理来解决复杂计算问题的具有智能特征的算法——智能优化算法。经过几十年的发展,智能优化算法已成为优化算法和人工智能领域的主要研究方向之一,涵盖了生命科学、软件工程、交通运输、人工智能等众多学科,为解决方程数多、非线性强、高复杂性等实际工程问题提供了有效可行的解决方法。无论是复杂的连续优化问题还是离散的NP-hard组合优化,现在人们更有可能通过使用这种随机迭代算法而不是传统的确定性算法在短时间内找到可行的解决方案。智能优化算法是通过模拟自然规律和内在机制提出的,是基于种群迭代演化模型的全局优化概率搜索算法。从另一方面来说,智能优化算法可以通过编码统一提取问题变量,并使用适应度函数来表示目标。在试图解决大规模的NP-hard问题时,智能优化算法可以在有限的时间内快速获得给定约束下的一组可行解。

目前主要的智能优化算法都是基于总体的迭代模式。它们在每一代中运行一个个体,代表一组解或解决方案,以便在解空间中保持良好的信息,并逐步找到更好的位置。由于智能优化算法是独立于问题的,没有中心控制约束,不会因为某部分出现问题而影响整个算法运行求解[1]。由于这种潜在的分布式和并行性,可以充分利用多个处理器,各个智能体相互协作,最终使系统具备更强的鲁棒性。它不是寻找最优解,而是去获得次优的可行解,缩短整个搜索过程,提高决策效率。而且通过有限的迭代和独立操作,算法的时效性并不会随着解空间的增加而减少。所以与完全的随机算法相比,它可以全面搜索解空间,而且还能在最优解附近进行更加详细的搜索[2]

除了全局的、并行高效的优化性能,不用复杂的信息条件,鲁棒性和通用性较强等也是智能优化算法的优势,它已经被广泛地应用于人工智能、故障诊断、自适应控制、组合优化、工程优化设计等各个领域,受到了国内外学者的广泛关注[3]

1.2智能优化算法的国内外研究现状

智能优化算法有着漫长的发展历史,人们通过仔细观察和总结,成功模拟不同的自然现象,从而得到早期的经典智能算法。1973年,美国的J.Holland教授首先提出遗传算法,这是通过模拟自然界中优胜劣汰、适者生存的进化规律而形成的一种算法[4]。1987年,Farmer等学者基于人体免疫学说提出了免疫算法的概念[5]。蚁群算法是在1992年由Dorigo、Maniezzo等学者根据蚂蚁群落觅食行为提出来的模拟进化算法[6]。粒子群优化算法是群智能方法的进化计算技术,由Kennedy等学者于20世纪90年代中期受到鸟群觅食活动的规律性启发而提出[7]。除此之外还有基于固体退火原理,根据固体物质退火过程和组合优化问题之间的相似性提出的模拟退火算法,以人脑神经元网络建立模型的人工神经网络等一系列智能优化算法。这些算法的共同特征是:

(1)所有的操作都是对每一代群体中的当前个体起作用;

(2)搜索基于迭代进化;

(3)通过多种群方案可以很容易地实现并行化优化;

(4)它们大多能给出接近最优解的满意的非劣解,但不一定能找到最优解;

(5)算法具有较强的随机性,不能保证非劣解的求解效率。

因此考虑到实际问题的特征,人们通常在探索,开发的过程中,在自适应平衡方面对原有的经典智能算法进行调整和改进,从而取得良好的性能。杜康宇学者通过改进人工蜂群算法优化的支持向量机建立一种预测模型,并将模型应用于电能和水质预测领域。实验表明,改进后的模型相比于其他模型在预测精度上有一定的提高[8]。Yang学者根据传统免疫算法在优化过程中容易陷入局部最优解和早熟收敛的原因,提出了一种改进后的免疫算法(ACSAIA)。该算法考虑了抗体亲和力和抗体浓度两个因素,并给出了一个自适应算子来调整它们。实验结果表明,与传统免疫算法相比,ACSAIA可以在一定程度上增强种群的多样性,且具有较高的收敛速度[9]

近年来,随着优化问题的复杂性和规模性不断提高,许多问题单纯依靠改进传统优化算法也难以解决。因此通过对自然界中自然规律的不断研究,学者们提出了各种新型的智能优化算法。浙江大学的李晓磊博士从分析鱼类觅食、聚群、追尾、随机等活动出发,通过构造人工鱼模仿这些行为提出人工鱼群算法。通过实验得知,该算法具有较大应用范围,优化性能较好[10]。土耳其学者Karaboga在2005年由蜂群通过个体分工和信息交流, 相互协作完成采蜜任务的行为启发提出人工蜂群算法。算法选择多个调查蜜蜂进行局部搜索并结合多个首选站点,同时利用剩余个体进行协同随机搜索。这种算法不需要了解问题的特殊信息,具有收敛速度较快和鲁棒性较强等特点[11]

此外,经过多年的研究,许多领域的专家发现,在不同的算法中混合应用多种不同的算子或搜索机制,可以大大提高解决问题的效率。因此,迄今为止,混合智能优化算法的设计和应用一直受到人们的重视。经过多年的研究应用,混合智能优化算法取得了极大的扩展。许多混合算法在工程实践中得到了应用,在各种优化问题上都取得了良好的效果。Lin等人在2015年提出了一种新的具有自适应差分进化的混合多目标免疫算法ADE-MOIA,将差分进化算法引入多目标免疫算法MOIA中,结合各自的优点,提高了求解各种多目标优化问题的鲁棒性[12]。Lin等人后又在2016年提出了一种新的MOIA杂交进化框架,将克隆群体分为几个亚群,然后利用不同的进化策略进行进化。以该混合框架为例,采用模拟二元交叉和多项式变异的微分进化方法。结果混合框架的有效性证明了两种不同的搜索策略可以相互补充,比它们中任何一种的单独使用表现更好[13]

智能优化算法现在仍然是人工智能领域的研究热点,未来的主要发展方向是高效率和高智能化。但从优化算法开发和应用的角度出发,在基于大多数特定问题的研究中,大多数研究者更加倾向于重新设计算法或根据问题特征直接使用一种或几种传统算法和改进策略。在研究中,他们通常将自己的方法与某些传统的算法和早期的非改进算法进行比较,而不是将现有的改进研究与智能优化算法进行比较。可以看出,研究侧重于算法机制与应用之间的关系较少。因此,如何将两者结合起来加速算法开发并使其在工程领域更加高效似乎是一个迫切的问题。

1.3本文的主要内容

本文主要内容是通过对免疫算法相关知识的学习,实现基于MATLAB软件的免疫算法编程,用该程序代码成功解决经典的旅行商问题,再通过对程序的改进,解决船舶在不同海域航行时的成本问题与物流配送中心选址问题,实现其在工程领域的成功应用。论文共分五章,各章节具体安排如下:

第一章首先介绍了本文的研究背景及意义,由复杂的优化问题出发,对智能优化算法的原理、特点及应用范围等作了阐述,然后对智能优化算法中的各算法的国内外研究现状进行了分析,最后概括了本文的主要研究内容。

第二章是通过对免疫算法的相关知识进行学习研究后,在免疫系统的基础上,具体描述了免疫算法的基本原理,以免疫算法流程图的形式展现免疫算法的基本步骤。再介绍了免疫算法的三个主要特点:多样性的保持、记忆细胞的存储和抗体的自我调节能力。

第三章的主要内容是基于MATLAB软件实现免疫算法的编程,以免疫算法中的克隆选择算法为基础编写程序代码,来解决经典的NP-hard问题——旅行商问题。实验结果表明,所编程序能成功得到最佳路径和最短路程,收敛速度较快,优化性能较好。

第四章的主要内容是通过对所编程序代码的改进,来解决船舶在不同海域航行成本问题以及物流配送中心选址问题。实验结果表明改进后的程序能顺利解决上述两个问题,能有效地得到较好的最优解,成功实现其在工程领域的应用。

第五章对本文的研究工作提出结论,总结了所编程序的研究结果及特点,指出了程序存在的不足之处,对需要改进的地方进行了说明,并简述了免疫算法未来的发展方向。

第2章 免疫算法

2.1免疫算法的基本原理

免疫算法是受免疫学和自然界中观察到的免疫功能和原理启发得到的随机性算法。

免疫系统是人所必备的防御机理,人类的免疫系统,由具有免疫功能的大量细胞,骨髓、淋巴结和胸腺等免疫器官,免疫球蛋白、溶菌酶等免疫活性物质组成,通过对抗可能引起疾病的病原体,使人体保持健康。人体中的免疫细胞主要是淋巴细胞、抗体、单核吞噬细胞等,其主要对抗的是属于外来因子的抗原,例如进入人体的细菌或病毒。

病原体入侵人体的免疫系统后,首先需要识别抗原。这项任务主要是通过T细胞的TCR受体来完成的。如果一个细胞受体的形状和一个抗原的形状是近似互补的,就会发生免疫识别。在这种情况下,识别抗原的细胞与抗原相结合,从而使T细胞活化,激活免疫反应,刺激相应的B细胞使之活化、增殖和分化,产生大量的特异性的抗体结合抗原。各种抗体虽然在化学结构上有所差异,但是都有一个抗体分子与抗原决定簇发生特异性结合的部位 ,称为互补决定区[14]。抗体不仅能够识别完全匹配的抗原,而且能够识别互补区域(亲和力阈值)内的外来因子。

对抗病原体的免疫反应,首先是繁殖能够识别并与抗原结合的细胞,即克隆扩增,而在克隆过程中会有很高的突变率,这种现象被称为超突变。通过克隆过程生成的细胞与抗原之间有更大的亲和力,寿命也更长,为下次快速清除相同或类似的抗原做好基础,这种细胞也就是记忆细胞。虽然细胞的克隆增殖率与抗原亲和力成正相关,但是突变率与亲和力是成负相关的,也就是说,细胞与抗原之间互补性越高,突变率就越低。另一方面,如果细胞和抗原之间亲和力很低,则会有很高的突变率,这一过程称为亲和力成熟。而抗原识别、克隆增值和记忆细胞生成的这整个过程称为克隆选择。

就像遗传算法是受到达尔文进化论启发得到一样,免疫算法是通过模仿人体免疫系统的内在机理得到的。除此之外,受人工免疫系统启发,还有其他几种免疫算法:免疫规划、克隆选择算法、负选择算法。

其中免疫规划类似于免疫算法,依靠免疫系统的多样性和自我调节特点来维持抗体的多样性。克隆选择算法利用适应性免疫应答的特点,构建了基于克隆反应亲和力成熟过程的进化选择,即B细胞活化后克隆扩增产生B细胞,然后复制成功的B细胞经过变异产生具有特异性的抗体,该算法引起了国内外学者的广泛关注。负选择算法则根据免疫系统的自识别和非自识别原理,对个体的交替概率进行变化和监测,以实现进化和优化选择。负选择算法的三个重要原则是:(1)每个监控算法都是唯一的;(2)监控过程是概率性的;(3)具有鲁棒性的系统应能随机监控外部事件,而不是搜索已知的模式。当然,由于人工免疫系统及其应用还有很长的路要走,关于参数选择和理论研究的各种免疫算法的设计还待进一步提高。

下图表示了免疫算法的基本流程图。

图2.1 免疫算法的基本流程

免疫算法的基本步骤如下:

(1)抗原的识别:在程序中输入给定优化问题的目标函数和约束条件作为免疫算法的抗原。

(2)初始抗体的生成:初始抗体一般是在解集合里随机生成的,也有通过对抗原的识别,从记忆库中提取出的抗体。而在求解工程问题的过程中,需要对抗体进行编码。

(3)亲和力的计算:用适当的计算亲和力的函数对抗体与抗原进行亲和力的计算并排序。亲和力表示了抗体与抗原之间的匹配程度。

(4)记忆库的更新:将亲和力较高的抗体添加进记忆库中,这保证了高亲和力的抗体的保留,使其能够延续到后代中。

(5)抗体的选择:抑制亲和力较低且浓度较高的抗体,保留和促进亲和力较高且浓度较低的抗体,这将有利于免疫算法的多样化。

(6)新抗体的生成:通过交叉和变异更新种群,产生下一代的新抗体。若不符合结束条件,重复(3)至(6)步骤,直至符合结束条件,算法终止[15]

目前一般免疫算法中抗体和抗原,即解和优化问题的编码方式主要有三种,分别是二进制编码、实数编码和字符编码。其中,二进制编码因简单而得到广泛使用[16]

免疫算法经过一系列的发展,现如今被广泛应用于各个领域,如路径规划、计算机网络安全、电网规划、生产调度、物流选址等方面,证明了免疫算法值得深入研究学习并且具有良好的发展前景。

2.2免疫算法的特点

从智能程序的角度来看,生物免疫系统是一个高度分布式并行操作,具有很强的学习记忆能力的信息处理系统。通过对免疫系统原理和机制的研究,以及对各类型免疫算法的核心思想的分析,可得到免疫算法的一些特点,其中主要特点是多样性的保持、记忆细胞的存储和抗体的自我调节能力。

(1)多样性的保持。

以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。

相关图片展示:

您需要先支付 80元 才能查看全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图