本文是一篇计算机论文范文,本文充分利用TOC的处理器按位可重构、巨位性和并行性的优点,有效地降低粒子群算法的时间复杂度。改进的PSO算法增强了粒子全局寻优能力,相比标准PSO算法粒子在收敛速度上有了很大的提升。
第1章绪论
1.2课题的意义及背景
粒子群算法(particle swarm optimization,PSO)是一种群智能启发式全局优化算法,每个粒子代表问题的可能解,具有位置和速度两种属性。每一个位置都对应一个目标函数称为适应度。由于该算法的结构简单、收敛速度快、全局搜索能力强、参数少等优点被广泛关注。
由于传统的PSO算法需要对粒子群体的位置和速度进行大量的迭代运算,以搜寻最优解。该算法主要是基于并行运算方式来执行,在电子计算机中运算需要耗费大量的计算时间影响实时性。背包问题是一种典型的组合优化问题,它在运筹学中又是典型的NP难题问题,在日常生活中像资源管理分配、货物装载以及投资金融类的问题都可以通过建模以背包问题形式呈现。但是目前为止背包问题通常都是在别的问题中以子问题来做以研究。针对这种问题很难找到最优解。在利用粒子群算法来解决这种问题就是希望能够在最短的时间内找到最接近于最优值的算法。在本次实验中选用0-1背包问题,使用数学模型表示在N个物品中,每一个物品都有自身的重量和价值,在背包所容纳的重量有限范围内,所拿到的物品的价值达到最大值,但不能够超出背包所容纳的重量。
因此,需要寻找既能降低PSO时间复杂度又能保持其性能不受损失的算法。本文利用三值光学计算机(ternary optical computer,TOC)的巨位性和并行性,让程序在TOC上高效并行执行,以降低算法时间复杂度。
1.3课题的研究现状
1.3.1三值光学计算机的研究现状
目前电子计算机的性能虽在不断提升,却仍然不能解决实际的复杂问题。主要问题在于并行能力、线路时间常数问题等。为此提出用光信号替换电信号,用光学实现某个算法。
2003年,金翊教授参照构造电子计算机的思路,研究并构造了17种三值逻辑光学运算器[1]。
2005年,严军勇博士研究生提出寻找各种基本光学结构去构造相应的光学处理器[2]。
2007年,三值光学计算机团队成功建立了降值设计理论和方法[3]。2010年,金翊教授设计出第一台MSD数并行加法器,同时也是第一台三值光学处理器的原型[4],取名为“SD11”(上海大学2011年)。
2017年,三值光学计算机SD16打开了计算机新篇章,首次完成了并行MSD加法运算[5]。
2018年,李双博士等人提出初始SZG文件生成软件为三值光学计算机编程平台提供技术支撑。
2019年,李双博士在三值光学计算机编程平台上实现了人工蜂群算法。为实现粒子群算法的研究奠定了基础。2020年,宋凯等人基于三值光学计算机完成全并行矩阵算法求解最短路径问题。
第2章粒子群算法
2.1粒子群算法模型
2.1.1连续PSO算法
生物在自然界中通过种群内个体间的竞争与合作而产生的社会性行为,称之为“群体智能”。生物的这种社会行为可以应用于解决一些现实世界的问题。粒子群算法就源自于对鸟类觅食行为的研究,Kennedy和Eberhart等人发现鸟群在飞翔行进中,它们个体之间会交换信息,并且经常改变方向,突然分散,突然再次聚集,鸟儿在飞行过程中可以根据同伴的觅食行为了解他们的经历,彼此都保持着最佳适宜距离,对这种群体合作和交流的行为研究,发现这些群体之间存在一种社会信息共享机制,给群体发展增添了优势,对于鸟群的行为研究也就是后期粒子群算法发展的最基本的模型。
粒子群算法从鸟群的行为习惯中得到启发,在算法中每一个粒子都代表一个问题的可行性解,因为每个粒子都对应一个函数值,由适应度函数计算粒子的适应度函数值[25-26]。粒子自身的速度以及受群体的影响决定粒子下一次飞行的方向,以此来实现粒子在解空间中寻找最优值。
粒子群算法在解决优化问题时被视为一个无质量无体积的粒子。首先,粒子会在一定的解空间中随机初始化,分布在可行解的空间内,每个粒子都以一定的速度飞行,待优化问题的解对应于鸟群所在的搜索空间中的位置。并且每一个粒子都有速度就决定了粒子不是毫无逻辑的乱飞而是有飞行方向和距离,粒子在迭代寻优过程中发现最优位置用f(x)来表示。在解空间中,粒子具有记忆项,当粒子在进行迭代的过程中,如果发现更好的则粒子的最优位置就要进行更换,否则保持粒子的原来的最优情况[27]。这个过程并不是随机的,因为每一次的解都是下一个解的基础。粒子在迭代中需要两个极端值来进行自我更新。实验所需的变量可使用表2.1中对应字母表示。
2.2离散PSO算法的研究展望
离散PSO算法为解决离散问题提供了新的方法,尽管其相关研究受到了极大的关注,但是它在理论基础方面仍然表现不足,在算法设计方面需要对离散PSO算法的策略进行深入讨论。基于离散PSO的混合算法缺乏高性能的混合算法策略,且在应用研究方面缺乏成熟度,对离散PSO算法的进一步研究应特别注意以下几个方面[32]。
目前为止对离散PSO算法无论是对它的应用和发展都缺少相应理论支撑,因此必须对其各个方面进行系统研究。如:离散PSO算法的收敛速度、复杂性、鲁棒性等[33-34]。在使用该算法时需根据它的适应领域进行深入探究。
学习离散PSO算法的最终目的还是应用,在应用的过程中对于算法的研究和深化又有着重要的意义。针对目前离散PSO算法的实际应用领域相对来说又比较局限,能解决的问题又比较简单和单一。因此希望能拓宽该领域的研究,将该算法与其他领域更好的融合,深入到电力系统、生物信息和机械设计等方面。除此之外,还希望该算法能够解决更加复杂性问题,如:解决多目标问题、约束问题和高实时性和不确定性问题等。这些问题的研究都是对推广离散PSO问题上有着重要意义[35]。
第3章 三值光学计算机简介 ........................... 16
3.1 三值光学计算机 ............................. 16
3.2 三值光学计算机相关的技术 ..................... 16
第4章 基于三值光学计算机实现粒子群算法 ....................... 20
4.1 粒子群算法的改进 ................................. 20
4.2 基于三值光学计算机的粒子群算法设计 ......................... 20
第5章 基于三值光学计算机的粒子群算法解决背包问题 ................ 25
5.1 背包问题研究现状 ............................ 25
5.2 背包问题的模型 ................................... 25
第5章基于三值光学计算机的粒子群算法解决背包问题
5.1背包问题研究现状
背包问题在组合优化的学科中是一个经典且著名的问题,也吸引来众多的研究人员和学者们从各个方向对其研究,可见它的研究价值也就不言而喻了。而且背包问题在实际生活中也具有广泛的用途,像物流公司的货物配送,集装箱的装运等都可以使用背包问题作为解决方案进行处理[50-52]。大量整数规划问题的求解取决于高效的0-1背包问题的解决方法。在处理复杂组合优化问题上面,背包问题通常以子问题的形式出现[53],对背包问题的改良是解决复杂组合优化问题大有好处,所以有效解决0-1背包问题是十分必要的。
最近研究发现,若利用背包问题去获得严格意义上的最优解是非常困难的,因此学者们认为求解一个高度近似算法是个可研究发展的方向。在求解全局优化值的问题上有两种方法。第一,确定性,由Brianin的下降轨迹法、Levy隧道法和Ge的填充函数法代表,使用这类方法可以在求解过程中加快算法的收敛速度并且计算效率高,但总的来说该算法较为复杂,而且要获得全局最优值的概率小。第二,非确定性,有由Carlo随机实验法、Hartman多起点法和模拟退火技术等[54]。尽管这一类算法对目标函数的需求很高、易实现,且安全性也很高。但是收敛性速率却很缓慢并且求取全局最优值的概率也不高。目前人们对背包问题的深入研究,解决该问题的算法主要包括精确算法和近似算法。
结语
本文充分利用TOC的处理器按位可重构、巨位性和并行性的优点,有效地降低粒子群算法的时间复杂度。改进的PSO算法增强了粒子全局寻优能力,相比标准PSO算法粒子在收敛速度上有了很大的提升。实验结果表明,利用仿真模拟基于三值光学计算机的高并行性的粒子群算法是合理可行的。本文通过改进标准PSO算法的学习因子和惯性权重这两个参数,在解决0-1背包问题上体现其优势,并且该算法在其他方面仍然有很大的研究空间,使用改进的PSO算法可以解决更复杂的系统优化问题,使其应用能进一步得到拓展。本文主要内容如下所示:
一、本课题通过分析粒子群算法原理及存在的缺陷,结合三值光学计算机的特性,采用动态惯性权重策略,利用三值光学计算机将粒子群算法引入到背包问题求解中去,提高算法性能。
二、将改进后的PSO算法应用于Sphere、Rastrigin、Rosenbrock函数中,在本中给出其详细的流程、步骤以及与标准PSO算法的结果对比。
三、模拟三值光学计算机其运行环境,将改进后的参数应用到离散粒子群算法中并解决0-1背包问题,实行算法并行化。本文在实验过程中采用常用的数值,同时也对其他的参数进行大幅度的改变,观察不同的参数起始值对实验结果的影响。
参考文献(略)