微粒群算法PSO 01背包问题 python】的更多相关文章

import random import math import matplotlib.pyplot as plt import numpy as np import time def init(b_=700,xSize_=200,iteration_=1000,c1_=0.5,c2_=0.5,w_=0.8): global a,c,b,Dim,xSize,iteration,c1,c2,w,A,C,x,v,xbest,fxbest,gbest,fgbest a = [90, 33, 94, 6…
最近在温习C语言,看的书是<C primer Plus>,忽然想起来以前在参加数学建模的时候,用过的一些智能算法,比如遗传算法.粒子群算法.蚁群算法等等.当时是使用MATLAB来实现的,而且有些MATLAB自带了工具箱,当时有些只是利用工具箱求最优解问题,没有自己动手亲自去实现一遍,现在都忘的差不多了.我觉得那样层次实在是很浅,没有真正理解算法的核心思想.本着"纸上得来终觉浅,绝知此事要躬行"的态度,我决定现在重新复习一遍算法,然后手工用C语言重新实现一遍.说做就做,我第一…
一.引言 在讲算法之前,先看两个例子: 例子一:背包问题,一个书包,一堆物品,每个物品都有自己的价值和体积,装满书包,使得装的物品价值最大. 例子二:投资问题,n个项目,第i个项目投资为ci 收益为pi,总投资不得超过C,如何选择项目总收益最大. 如前所述,PSO模拟鸟群的捕食行为.设想这样一个场景:一群鸟在随机搜索食物.在这个区域里只有一块食物.所有的鸟都不知道食物在那里.但是他们知道当前的位置离食物还有多远.那么找到食物的最优策略是什么呢.最简单有效的就是搜寻目前离食物最近的鸟的周围区域.…
目录 PSO和GA的相同点 PSO和GA不同点 粒子群算法(PSO)和遗传算法(GA)都是优化算法,都力图在自然特性的基础上模拟个体种群的适应性,它们都采用一定的变换规则通过搜索空间求解. PSO和GA的相同点 都属于仿生算法.PSO主要模拟鸟类觅食.人类认知等社会行为而提出:GA主要借用生物进化中"适者生存"的规律. 都属于全局优化方法.两种算法都是在解空间随机产生初始种群,因而算法在全局的解空间进行搜索,且将搜索重点集中在性能高的部分. 都属于随机搜索算法.都是通过随机优化方法更新…
粒子群优化算法 1. 背景知识 1995年美国社会心理学家Kennedy和电气工程师Eberhart共同提出粒子群优化算法(Particle Swarm Optimization, PSO).PSO算法的基本思想利用生物学家Heppner的生物群体模型,模拟鸟类觅食过程.鸟类飞行过程相互交流,当一个鸟飞向栖息地时,其他鸟儿也会跟着飞向栖息地. 2. 粒子群优化算法数学模型 PSO理想化规则如下: 1)飞离最近的个体,以避免碰撞: 2)飞向栖息地: 3)飞向群体的中心,避免离群. 3. 粒子群更新…
版权声明:本文为博主原创文章,转载请注明转自 http://www.cnblogs.com/kdxb/p/6140625.html #!/usr/bin/env python # -*- coding:utf-8 -*- class bag(): def __init__(self,weight,value): self.weight = weight self.value = value def knapsack(self, full_weight):#weight value存数组 resu…
def f(i,j): while i>=0: if i==0 and j>=l[i][0]: return l[i][1] elif i==0 and j<l[i][0]: return 0 else: return max(f(i-1,j-l[i][0])+l[i][1],f(i-1,j))i = int(input()) # 编号j = int(input()) # 总承重l = []for item in range(i): str_in = input("please…
[论文标题]一种多尺度协同变异的微粒群优化算法 (2010) [论文作者]陶新民,刘福荣, 刘  玉 , 童智靖 [论文链接]Paper(14-pages // Single column) [摘要] 分析了变异操作对微粒群算法(PSO)的影响,针对变异单一,收敛速度慢,易陷入局部极小点等缺点,提出一种新的多尺度协同变异的粒子群优化算法,并证明了该算法以概率 1 收敛到全局最优解.该算法采用多尺度高斯变异机制实现局部解逃逸.在算法的初期阶段,利用大尺度变异及均匀变异算子能够实现全局最优解空间的快…
上一回说了基本粒子群算法的实现,并且给出了C语言代码.这一篇主要讲解影响粒子群算法的一个重要参数---w.我们已经说过粒子群算法的核心的两个公式为: Vid(k+1)=w*Vid(k)+c1*r1*(Pid(k)-Xid(k))+c2*r2*(Pgd(k)-Xid(k))Xid(k+1) = Xid(k) + Vid(k+1) 标红的w即是本次我们要讨论的参数.之前w是不变的(默认取1),而现在w是变化的,w称之为惯性权重,体现的是粒子继承先前速度的能力. 经验表明:一个较大的惯性权重有利于全局…
介绍了PSO基本概念,以及和遗传算法的区别: 粒子群算法(PSO)Matlab实现(两种解法)…