免疫算法实例

免疫算法实例
免疫算法实例

智能控制课程综合报告

学院自动化学院

专业控制科学与工程

学号

学生姓名

指导教师

2016年6月7日

基于免疫优化算法的物流中心选址

1、建立模型

在物流配送中心选址模型中做如下假设

1).配送中心的规模容量总可以满足需求点需求,并由其配送辐射范围内的需求量确定。

2).一个需求点仅由一个配送中心供应。

3).不考虑工厂到配送中心的运输费用。

然后要从n 个需求点中找出配送中心,并向需求点配送物品。目标函数是各配送中心到需求点的需求量和距离的乘积之和最小。

目标函数如下:

2、问题的求解

2.1算法的实现步骤:

1).产生初始种群。

2).对上述群体中各个抗体进行评价。

3).形成父代群体。

4).判断是否满足条件,是则结束,反之,则继续下一步操作。

5).新种群的产生。

6).转去执行步骤2。

2.2流程图如图1-1:

∑∑

=ij ij i Z d w F

图1-1 算法流程图

2.3初始群体的产生

如果记忆库非空,则初始抗体群从记忆库中生成。 否则,在可行解空间随机产生初始抗体群。此处 采用简单的编码方式。每个选址方案可形成一个长度为P 的抗体(P 表示配送中心的数量),每个抗体代表被选为配送中心的需求点的序列。如:考虑包含31个需求点的问题,从中选取6个作为配送中心。抗体

[2,7,15,21,29,11]代表一个可行解。

2.4、解的多样性评价

1).抗体与抗原之间的亲和力

表示新的目标函数,分母的第二项表示对违反距离约束的解给予惩罚C

取比较大的正数。

2).抗体与抗体之间的亲和力

其反映抗体之间的相似程度,此处借鉴Forrest 等人提出的R 位连续方法计算抗体之间的亲和力,两个个体有至少R 位编码相同则两种抗体近似相同。

∑∑∑∑--==)0.1min(1F 1v v ij ij ij i Z C Z d w A ∑∑=ij

ij i Z d w F v F L

k s

v s v ,,S =

其中k 表示抗体v 和抗体s 之间相同的位数,L 为抗体的总长。例如,两个抗体[2,7,15,21,5,11]、[15,8,14,26,5,2]经比较有3个相同则亲和度为0.5。

3).抗体浓度

4).期望繁殖概率 在种群中,每个个体的期望繁殖概率与抗体与抗原之间的亲和力A 和抗体浓度共同决定。

α是常数,可见个体的适应度越高,则期望繁殖率越大,个体的浓度越大,则期望繁殖率越大。这样就鼓励了高适应度个体,抑制了高浓度个体。

2.5免疫操作

1).选择:按照轮盘赌机制进行选择操作,个体被选择的概率即为期望繁殖概率。

2).交叉:采用单点交叉法进行交叉操作。

3).变异:采用随机变异位进行变异操作。

3.模型的求解

为证明算法的有效性和可行性,采集了31个城市的坐标,每个用户的位置以及物资需求进行仿真。

根据配送中心选址模型,按照免疫算法流程对该例求解。

参数设置:

种群规模:50;

记忆库容量:10;

迭代次数:100;

交叉率:0.5;

变异概率:0.4;

∑∈=N

i s v,v S N 1C ???>=其他

0S 1S v,s v,s T ∑∑+=v

v v v -1P C C A A )(αα

多样性评价参数:0.95;

4. matlab仿真结果

图4-1 适应度曲线

图4-2 选址方案

最后,结果选址方案是[5,25,18,9,12,27],如图中所标,可以看出免疫算法有较好的收敛性。

5.算法应用展望

免疫算法能够增强系统的鲁棒性,从选址的模型上看,免疫算法就是解决了最优花费的一个聚类,因此,希望在后期的研究中能应用在多模式分类问题上。

附录:

Matlab求解的主程序:

%% 算法基本参数

sizepop=50; % 种群规模

overbest=10; % 记忆库容量

MAXGEN=100; % 迭代次数

pcross=0.5; % 交叉概率

pmutation=0.4; % 变异概率

ps=0.95; % 多样性评价参数

length=6; % 配送中心数

M=sizepop+overbest;

%% step1 识别抗原,将种群信息定义为一个结构体

individuals = struct('fitness',zeros(1,M),

'concentration',zeros(1,M),'excellence',zeros(1,M),'chrom',[]);

%% step2 产生初始抗体群

individuals.chrom = popinit(M,length);

trace=[]; %记录每代最个体优适应度和平均适应度

%% 迭代寻优

for iii=1:MAXGEN

%% step3 抗体群多样性评价

for i=1:M

individuals.fitness(i) = fitness(individuals.chrom(i,:)); % 抗体与抗原亲和度(适应度值)计算

individuals.concentration(i) = concentration(i,M,individuals); % 抗体浓度计算end

% 综合亲和度和浓度评价抗体优秀程度,得出繁殖概率

individuals.excellence = excellence(individuals,M,ps);

% 记录当代最佳个体和种群平均适应度

[best,index] = min(individuals.fitness); % 找出最优适应度

bestchrom = individuals.chrom(index,:); % 找出最优个体

average = mean(individuals.fitness); % 计算平均适应度

trace = [trace;best,average]; % 记录

%% step4 根据excellence,形成父代群,更新记忆库(加入精英保留策略,可由s控制)

bestindividuals = bestselect(individuals,M,overbest); % 更新记忆库

individuals = bestselect(individuals,M,sizepop); % 形成父代群

%% step5 选择,交叉,变异操作,再加入记忆库中抗体,产生新种群

individuals =

Select(individuals,sizepop);

% 选择

individuals.chrom =

Cross(pcross,individuals.chrom,sizepop,length); % 交叉individuals.chrom = Mutation(pmutation,individuals.chrom,sizepop,length); % 变异

individuals = incorporate(individuals,sizepop,bestindividuals,overbest);

% 加入记忆库中抗体

end

%% 画出免疫算法收敛曲线

figure(1)

plot(trace(:,1),'r','linewidth',2);

hold on

plot(trace(:,2),'--','linewidth',2);

legend('最优适应度值','平均适应度值')

grid on

title('免疫算法收敛曲线','fontsize',12)

xlabel('迭代次数','fontsize',12)

ylabel('适应度值','fontsize',12)

%% 画出配送中心选址图

%城市坐标

city_coordinate=[1304,2312;3639,1315;4177,2244;3712,1399;3488,1535;3326,1556;3238,1229; 4196,1044;4312,790;4386,570;

3007,1970;2562,1756;2788,1491;2381,1676;1332,695;3715,1678;3918,2179;4061,2370;3780,22 12;3676,2578;

4029,2838;4263,2931;3429,1908;3507,2376;3394,2643;3439,3201;2935,3240;3140,3550;2545,2 357;2778,2826;2370,2975];

carge=[20,90,90,60,70,70,40,90,90,70,60,40,40,40,20,80,90,70,100,50,50,50,80,70,80,40,40,60,7 0,50,30];

%找出最近配送点

for i=1:31

distance(i,:)=dist(city_coordinate(i,:),city_coordinate(bestchrom,:)');

end

[a,b]=min(distance');

index=cell(1,length);

for i=1:length

%计算各个派送点的地址

index{i}=find(b==i);

end

figure(2)

title('最优规划派送路线')

cargox=city_coordinate(bestchrom,1);

cargoy=city_coordinate(bestchrom,2);

plot(cargox,cargoy,'rs','LineWidth',2,...

'MarkerEdgeColor','r',...

'MarkerFaceColor','b',...

'MarkerSize',20)

hold on

plot(city_coordinate(:,1),city_coordinate(:,2),'o','LineWidth',2,...

'MarkerEdgeColor','k',...

'MarkerFaceColor','g',...

'MarkerSize',10)

grid on

for i=1:31

x=[city_coordinate(i,1),city_coordinate(bestchrom(b(i)),1)];

y=[city_coordinate(i,2),city_coordinate(bestchrom(b(i)),2)];

plot(x,y,'c','LineWidth',2);hold on

end

title('物流配送中心选址方案')

基于Matlab的人工免疫算法

文件头: 一个基于Matlab的人工免疫算法 %Immune Algorithm based on the immune network model for function f(x1,x2) optimum %copy right SCUT Guangxing Tan 2005.02.18 clear all; %Parameters Size=120; G=200; CodeL=15; E=round(rand(Size,2*CodeL)); %Initial Code %Main Program for k=1:1:G time(k)=k; for s=1:1:Size m=E(s,:); y1=0;y2=0; %Uncoding m1=m(1:1:CodeL); for i=1:1:CodeL y1=y1+m1(i)*2^(i-1); end x1=10.24*y1/65535.0-5.12;

m2=m(CodeL+1:1:2*CodeL); for i=1:1:CodeL y2=y2+m2(i)*2^(i-1); end x2=10.24*y2/65535.0-5.12; %f(X1,X2)=(a/(b+(x1*x1+x2*x2)))*(a/(b+(x1*x1+x2*x2)))+(x1*x1+x2*x2)*(x1*x1+x2*x2) %here -5.12=

蚁群算法

蚁群算法报告及代码 一、狼群算法 狼群算法是基于狼群群体智能,模拟狼群捕食行为及其猎物分配方式,抽象出游走、召唤、围攻3种智能行为以及“胜者为王”的头狼产生规则和“强者生存”的狼群更新机制,提出一种新的群体智能算法。 算法采用基于人工狼主体的自下而上的设计方法和基 于职责分工的协作式搜索路径结构。如图1所示,通过狼群个体对猎物气味、环境信息的探知、人工狼相互间信息的共享和交互以及人工狼基于自身职责的个体行为决策最终实现了狼群捕猎的全过程。 二、布谷鸟算法 布谷鸟算法 布谷鸟搜索算法,也叫杜鹃搜索,是一种新兴启发算法CS 算法,通过模拟某些种属布谷鸟的寄生育雏来有效地求解最优化问题的算法.同时,CS 也采用相关的Levy 飞行搜索机制 蚁群算法介绍及其源代码。 具有的优点:全局搜索能力强、选用参数少、搜索路径优、多目标问题求解能力强,以及很好的通用性、鲁棒性。 应用领域:项目调度、工程优化问题、求解置换流水车间调度和计算智能 三、差分算法 差分算法主要用于求解连续变量的全局优化问题,其主要工作步骤与其他进化算法基本一致,主要包括变异、交叉、选择三种操作。 算法的基本思想是从某一随机产生的初始群体开始,利用从种群中随机选取的两个个体

的差向量作为第三个个体的随机变化源,将差向量加权后按照一定的规则与第三个个体求和而产生变异个体,该操作称为变异。然后,变异个体与某个预先决定的目标个体进行参数混合,生成试验个体,这一过程称之为交叉。如果试验个体的适应度值优于目标个体的适应度值,则在下一代中试验个体取代目标个体,否则目标个体仍保存下来,该操作称为选择。在每一代的进化过程中,每一个体矢量作为目标个体一次,算法通过不断地迭代计算,保留优良个体,淘汰劣质个体,引导搜索过程向全局最优解逼近。 四、免疫算法 免疫算法是一种具有生成+检测的迭代过程的搜索算法。从理论上分析,迭代过程中,在保留上一代最佳个体的前提下,遗传算法是全局收敛的。 五、人工蜂群算法 人工蜂群算法是模仿蜜蜂行为提出的一种优化方法,是集群智能思想的一个具体应用,它的主要特点是不需要了解问题的特殊信息,只需要对问题进行优劣的比较,通过各人工蜂个体的局部寻优行为,最终在群体中使全局最优值突现出来,有着较快的收敛速度。为了解决多变量函数优化问题,科学家提出了人工蜂群算法ABC模型。 六、万有引力算法 万有引力算法是一种基于万有引力定律和牛顿第二定律的种群优化算法。该算法通过种群的粒子位置移动来寻找最优解,即随着算法的循环,粒子靠它们之间的万有引力在搜索空间内不断运动,当粒子移动到最优位置时,最优解便找到了。 GSA即引力搜索算法,是一种优化算法的基础上的重力和质量相互作用的算法。GSA 的机制是基于宇宙万有引力定律中两个质量的相互作用。 七、萤火虫算法 萤火虫算法源于模拟自然界萤火虫在晚上的群聚活动的自然现象而提出的,在萤火虫的群聚活动中,每只萤火虫通过散发荧光素与同伴进行寻觅食物以及求偶等信息交流。一般来说,荧光素越亮的萤火虫其号召力也就越强,最终会出现很多萤火虫聚集在一些荧光素较亮的萤火虫周围。人工萤火虫算法就是根据这种现象而提出的一种新型的仿生群智能优化算法。在人工萤火虫群优化算法中,每只萤火虫被视为解空间的一个解,萤火虫种群作为初始解随机的分布在搜索空间中,然后根据自然界萤火虫的移动方式进行解空间中每只萤火虫的移动。通过每一代的移动,最终使的萤火虫聚集到较好的萤火虫周围,也即是找到多个极值

蚁群算法综述

智能控制之蚁群算法 1引言 进入21世纪以来,随着信息技术的发展,许多新方法和技术进入工程化、产品化阶段,这对自动控制技术提出新的挑战,促进了智能理论在控制技术中的应用,以解决用传统的方法难以解决的复杂系统的控制问题。随着计算机技术的飞速发展,智能计算方法的应用领域也越来越广泛。 智能控制技术的主要方法有模糊控制、基于知识的专家控制、神经网络控制和集成智能控制等,以及常用优化算法有:遗传算法、蚁群算法、免疫算法等。 蚁群算法是近些年来迅速发展起来的,并得到广泛应用的一种新型模拟进化优化算法。研究表明该算法具有并行性,鲁棒性等优良性质。它广泛应用于求解组合优化问题,所以本文着重介绍了这种智能计算方法,即蚁群算法,阐述了其工作原理和特点,同时对蚁群算法的前景进行了展望。 2 蚁群算法概述 1、起源 蚁群算法(ant colony optimization, ACO),又称蚂蚁算法,是一种用来在图中寻找优化路径的机率型技术。它由Marco Dorigo于1992年在他的博士论文中引入,其灵感来源于蚂蚁在寻找食物过程中发现路径的行为。 Deneubourg及其同事(Deneubourg et al.,1990; Goss et al.,1989)在可监控实验条件下研究了蚂蚁的觅食行为,实验结果显示这些蚂蚁可以通过使用一种称为信息素的化学物质来标记走过的路径,从而找出从蚁穴到食物源之间的最短路径。 在蚂蚁寻找食物的实验中发现,信息素的蒸发速度相对于蚁群收敛到最短路径所需的时间来说过于缓慢,因此在模型构建时,可以忽略信息素的蒸发。然而当考虑的对象是人工蚂蚁时,情况就不同了。实验结果显示,对于双桥模型和扩展双桥模型这些简单的连接图来说,同样不需要考虑信息素的蒸发。相反,在更复杂的连接图上,对于最小成本路径问题来说,信息素的蒸发可以提高算法找到好解的性能。 2、基于蚁群算法的机制原理 模拟蚂蚁群体觅食行为的蚁群算法是作为一种新的计算智能模式引入的,该算法基于如下假设: (1)蚂蚁之间通过信息素和环境进行通信。每只蚂蚁仅根据其周围的环境作出反应,也只对其周围的局部环境产生影响。 (2)蚂蚁对环境的反应由其内部模式决定。因为蚂蚁是基因生物,蚂蚁的行为实际上是其基因的自适应表现,即蚂蚁是反应型适应性主体。 (3)在个体水平上,每只蚂蚁仅根据环境作出独立选择;在群体水平上,单

免疫算法实例

智能控制课程综合报告 学院自动化学院 专业控制科学与工程 学号 学生姓名 指导教师 2016年6月7日

基于免疫优化算法的物流中心选址 1、建立模型 在物流配送中心选址模型中做如下假设 1).配送中心的规模容量总可以满足需求点需求,并由其配送辐射范围内的需求量确定。 2).一个需求点仅由一个配送中心供应。 3).不考虑工厂到配送中心的运输费用。 然后要从n 个需求点中找出配送中心,并向需求点配送物品。目标函数是各配送中心到需求点的需求量和距离的乘积之和最小。 目标函数如下: 2、问题的求解 2.1算法的实现步骤: 1).产生初始种群。 2).对上述群体中各个抗体进行评价。 3).形成父代群体。 4).判断是否满足条件,是则结束,反之,则继续下一步操作。 5).新种群的产生。 6).转去执行步骤2。 2.2流程图如图1-1: ∑∑ =ij ij i Z d w F

图1-1 算法流程图 2.3初始群体的产生 如果记忆库非空,则初始抗体群从记忆库中生成。 否则,在可行解空间随机产生初始抗体群。此处 采用简单的编码方式。每个选址方案可形成一个长度为P 的抗体(P 表示配送中心的数量),每个抗体代表被选为配送中心的需求点的序列。如:考虑包含31个需求点的问题,从中选取6个作为配送中心。抗体 [2,7,15,21,29,11]代表一个可行解。 2.4、解的多样性评价 1).抗体与抗原之间的亲和力 表示新的目标函数,分母的第二项表示对违反距离约束的解给予惩罚C 取比较大的正数。 2).抗体与抗体之间的亲和力 其反映抗体之间的相似程度,此处借鉴Forrest 等人提出的R 位连续方法计算抗体之间的亲和力,两个个体有至少R 位编码相同则两种抗体近似相同。 ∑∑∑∑--==)0.1min(1F 1v v ij ij ij i Z C Z d w A ∑∑=ij ij i Z d w F v F L k s v s v ,,S =

蚁群算法

蚁群算法 学号:1101500449 姓名:赵亮民 摘要:蚁群算法是优化领域中新出现的一种仿生进化算法。该算法采用分布式并行计算机制,具有较强的鲁棒性;但有搜索时间较长,易陷入局部最优解的缺点。本文首先讲述蚁群算法的来源和基本原理,然后讨论蚁群算法的几种改进策略,并简单介绍近年来蚁群算法在许多新领域中的发展应用,最后对今后进一步研究的方向作了展望。 关键词:蚁群算法;蚂蚁;信息素;优化 Abstract:Ant colony algorithm is a novel category of bionic algorithm for optim ization problems.Parallel computation mechanism is adopted in this algorithm.It has strong robustness and is easy to combinewith other methods in optimization,but it has the limitation of stagnation,and is easy to fall into local optimums.Firstly,the basic principle of ant colony algorithm is introduced.Then。a series of schemes on improving the ant colony algorithm are discussed,and the new applications are also provided.Finally,somerem arks on the further research and directions are presented. Key words:ant colony algorithm ;ant;pheromone;optimization 概念 各个蚂蚁在没有事先告诉他们食物在什么地方的前提下开始寻找食物。当一只找到食物以后,它会向环境释放一种挥发性分泌物pheromone (称为信息素,该物质随着时间的推移会逐渐挥发消失,信息素浓度的大小表征路径的远近)来实现的,吸引其他的蚂蚁过来,这样越来越多的蚂蚁会找到食物。有些蚂蚁并没有象其它蚂蚁一样总重复同样的路,他们会另辟蹊径,如果另开辟的道路比原来的其他道路更短,那么,渐渐地,更多的蚂蚁被吸引到这条较短的路上来。最后,经过一段时间运行,可能会出现一条最短的路径被大多数蚂蚁重复着。原理 设想,如果我们要为蚂蚁设计一个人工智能的程序,那么这个程序要多么复杂呢?首先,你要让蚂蚁能够避开障碍物,就必须根据适当的地形给它编进指令让他们能够巧妙的避开障碍物,其次,要让蚂蚁找到食物,就需要让他们遍历空间上的所有点;再次,如果要让蚂蚁找到最短的路径,那么需要计算所有可能的路径并且比较它们的大小,而且更重要的是,你要小心翼翼地编程,因为程序的错误也许会让你前功尽弃。这是多么不可思议的程序!太复杂了,恐怕没人能够完成这样繁琐冗余的程序。 然而,事实并没有你想得那么复杂,上面这个程序每个蚂蚁的核心程序编码不过100多行!为什么这么简单的程序会让蚂蚁干这样复杂的事情?答案是:简单规则的涌现。事实上,每只蚂蚁并不是像我们想象的需要知道整个世界的信息,他们其实只关心很小范围内的眼前信息,而且根据这些局部信息利用几条简单的规则进行决策,这样,在蚁群这个集体里,复杂性的行为就会凸现出来。这就是人工生命、复杂性科学解释的规律!那么,这些简单规则是什么呢? 现今有哪些关于蚁群算法的应用呢? 1大规模集成电路的线网布局 在大规模集成电路的线网布局中,需要根据电路和工艺的要求完成芯片上单元或功能模块的布局,然后实现它们之间的互连。此问题可看作是寻找一个网格平面上两端点之间绕过障碍的最短路径问题。线网上的每个Agent根据启发策略.像蚂蚁一样在开关盒网格上爬行,所经之处便设置一条金属线.历经一个线网的所有引脚之后.线网便布通了。应用蚁群算法,可以找到成本最低、最合理的线网布局.而且由于其本身的并行性。比较适合于解决此类问题。 2通信网络路由

人工免疫系统及其算法综述

基于异构网络环境的人工免疫系统及其算法研究综述 摘要:人工免疫作为一种新型的研究领域,有着广泛的应用范围,人工免疫算法的研究也已成为人工智能研究领域的一个重要内容,它突出地体现了现代科学发展的多层次、多学科和多领域的相互渗透、相互交叉和相互促进的特点。因此,将人工免疫系统的原理应用在计算机领域有着重要的理论意义和实际应用价值。本文详细介绍了几种常见的免疫算法机理,并指出了人工免疫系统的研究方向。 关键词:人工免疫系统,人工免疫算法 1、人工免疫系统介绍 1.1 人工免疫系统 20世纪70年代,Jerne[1,2]首先提出了人工免疫系统的网络假说,并以此开创了独特型网络理论。独特型网络理论为人工免疫系统以后的应用和研究提供了理论指导,并发展成为人工免疫的基础理论之一。 Perelson[3]在独特型网络理论的基础上进一步给出了免疫网络的数学框架,从而加快了人工免疫系统在计算机科学方面的发展。1986年,Farmer【4】基于免疫网络的假说,构造了一个免疫系统的动态模型,并提出了一些学习算法的构造思想。此后Forrest 又提出了阴性选择算法,他的工作对于人工免疫系统的发展尤其是在信息安全领域应 用的发展具有十分重要意义。随后的研究者不断从生物免疫系统中吸取精髓,使之广泛用于优化、数据分析、机器学习、聚类分析、模式识别、故障诊断、机器人控制、自适应控制领域、计算机及网络安全领域等各个应用领域。人工免疫系统主要关注的是用计算和数学模型对免疫学进行模拟,更好地了解免疫系统。人工免疫包括:免疫系统,遗传系统和神经系统。 按照目前人们普遍接受的观点,基于免疫系统仿生机理开发的入工免疫系统[9-12]的理论研究主要在集中在人工免疫网络模型 和人工免疫算法两个方面。针对人工免疫网络模型的研究多集中在以Jerne的独特性免疫网络为基础的不同模型仿真实验上。而针对人工免疫算法的研究主要是在已有系统 模型的基础上,制定一些目的性较强的计算方法或实施策略,主要包括免疫遗传算法、克隆选择算法、阴性选择算法和免疫学习算法等。 1.2 人工免疫系统处理特性 从信息处理的角度上分析,人工免疫系统具有如下特点: (1)多样性:免疫系统抗体库的多样性特征,能及时对不同类型的入侵抗原进行有效的保证和消除。 (2)容错性:免疫系统在分类和响应中突发的一些比较小的信息处理错误不会使整个信息处理结果造成严重影响。 (3)分布自律性:免疫系统没有集中控制系统,它是由许多局部的并且相互作用的基本信息单元联合起来达到对全局的保护。 (4)动态稳定性:免疫系统要消除各种外来的不断变化的入侵抗原,并保持整个系统的稳定。 (5)自适应鲁棒性:免疫系统具有非常强的自我学习能力,并且通过此学习使其成为能够随环境不断变化而不断改变和完善的一个自适应型的鲁棒进化系统。 2、免疫算法[6-8]介绍 人工免疫系统是借鉴免疫系统机理特点和功能的智能系统,具有广泛的应用和理论基础。在此着重阐述免疫算法的研究和AIS的应用研究。 2.1 免疫遗传算法 为了使遗传算法在个体多样性和群体收敛性之间取得平衡,并克服遗传算法的缺

免疫算法

目录 1选题依据和意义 (2) 1.1研究背景及意义 (2) 1.2免疫算法的概述 (2) 1.3免疫算法的研究现状 (3) 1.4物流配送中心选址的概述 (4) 1.5物流配送中心的研究现状: (4) 1.6论文组织结构 (5) 2基本的免疫算法 (5) 2.1免疫算法的相关概念介绍: (6) 2.2免疫算法的步骤 (7) 2.3免疫算法流程图: (8) 2.4选择参数 (11) 2.5免疫算法与遗传算法的比较: (12) 3物流配送中心选址的数学模型的建立 (13) 4免疫算法物流配送中心选址中的应用: (14) 5实验: (15) 5.1小结 (18) 6总结与展望 (18)

1选题依据和意义 1.1研究背景及意义 科技日新月异的发展的21世纪,学科之间的融合成为了各学者的研究新方向,各学科之间相互渗透、相互影响、相互作用成为了新世纪科技发展的新特征。其中,由计算机科学与生命学科相互结合而产生的新型智能算法——免疫 算法就是其中的代表之一。 近年来,随着我国经济的快速发展并逐渐走向全球化的道路,物流已成为 了经济发展的重要产业之一,现如今各大城市都建设有自己的物流配送网络, 这对于城市的招商引资,资源的优化配置,经济产业的运行效率都有着促进作用。物流配送中心作为物流业重要的环节,其选址问题吸引着专家学者投身研 究当中。由于物流配送中心一旦选定并进行建设,其位置是固定的,所以在地 址的选定上尤为重要。相比较于传统的选址方法,免疫算法以其收敛速度快, 鲁棒性强等特点,得到专家学者们的青睐。 免疫算法是模仿生物免疫机制,结合基因的进化机理,人工地构造出的一 种新型智能搜索算法。免疫算法具有一般免疫系统的特征,免疫算法采用群体 搜索策略,一般遵循几个步骤”产生初始化种群→适应度的计算评价→种群间个 体的选择、交叉、变异→产生新种群”。通过这样的迭代计算,最终以较大的概 率得到问题的最优解。相比较于其他算法,免疫算法利用自身产生多样性和维 持机制,保证了种群的多样性,克服了一般寻优过程中特别是多峰值的寻优过 程中不可避免的“早熟”问题,求得全局最优解。大量表明,免疫算法能在较少 的迭代数能快速收敛到全局最优。因此,免疫算法在物流配送中心选址问题的 研究具有一定的应用价值和参考价值。 1.2免疫算法的概述 人们对人工免疫算法的研究从免疫学的基础上开始的。对免疫算法的深入研究,发现其在解决复杂问题上西安实处了强大的信息处理能力。

蚁群算法

社会性动物的群集活动往往能产生惊人的自组织行为,如个体行为显得盲目的蚂蚁在组成蚁群后能够发现从蚁巢到食物源的最短路径。生物学家经过仔细研究发现蚂蚁之间通过一种称之为“外激素”的物质进行间接通讯、相互协作来发现最短路径。受其启发,1991年由意大利学者 M. Dorigo,V. Maniezzo 和 A. Colorni 通过模拟蚁群觅食行为提出了一种基于种群的模拟进化算法——蚁群优化。本文阐述了算法的基本原理及特性以及一些优化的蚁群算法,阐述了蚁群算法在数据挖掘中的应用,最后总结了蚁群算法在数据挖掘应用中尚待解决的问题。 关键词: 蚁群算法; 蚁群优化; 数据挖掘 正文文字大小:大中小 1 蚁群算法原理 自1991年由意大利学者 M. Dorigo,V. Maniezzo 和 A. Colorni 通过模拟蚁群觅食行为提出了一种基于种群的模拟进化算法——蚁群优化。该算法的出现引起了学者们的极大关注,蚁群算法的特点: ①其原理是一种正反馈机制或称增强型学习系统; 它通过【最优路径上蚂蚁数量的增加→信息素强度增加→后来蚂蚁选择概率增大→最优路径上蚂蚁数量更大增加】达到最终收敛于最优路径上L ②它是一种通用型随机优化方法, 它吸收了蚂蚁的行为特(内在搜索机制) , 它是使用人工蚂蚁仿真(也称蚂蚁系统) 来求解问题L但人工蚂蚁决不是对实际蚂蚁的一种简单模拟, 它融进了人类的智能L人工蚂蚁有一定的记忆; 人工蚂蚁不完全是瞎的; 人工蚂蚁生活的时空是离散的L ③它是一种分布式的优化方法, 不仅适合目前的串行计算机, 而且适合未来的并行计算机L ④它是一种全局优化的方法, 不仅可用于求解单目标优化问题, 而且可用于求解多目标优化问题L ⑤它是一种启发式算法, 计算复杂性为o (Nc*n2*m) , 其中Nc 是迭代次数, m 是蚂蚁数目, n 是目的节点数目L 蚁群发现最短路径的原理和机制[1] 下面用图 1解释蚁群发现最短路径的原理和机制。 如图 1(a)所示,在蚁巢和食物源之间有两条道路 Nest-A-B-D-Food 和Nest-A-C-D-Food,其长度分别为 4 和 6。单位时间内蚂蚁可移动一个单位长度的距离。开始时所有路径上都没有外激素。 如图 1(b),在 t=0 时刻,20 只蚂蚁从蚁巢出发移动到 A。由于路径上没有外激素,它们以

免疫算法 matlab程序解析

免疫算法 matlab程序 这是免疫算法。这个算法几乎与遗传算法一样,只是多用了一个免疫函数免疫算法是遗传算法的变体, 它不用杂交, 而是采用注入疫苗的方法。疫苗是优秀染色体中的一段基因,把疫苗接种到其它染色体中。 注意:标准遗传算法的一个重要概念是,染色体是可能解的 2进制顺序号, 由这个序号在可能解的集合 (解空间中找到可能解。 这是免疫算法的主程序,它需要调用的函数如下。 接种疫苗函数: %function inoculateChromosome=immunity(chromosomeGroup,bacterinChromosome,paramet er %parameter:1,随机制取染色体接种。 2,每个染色体都接种。 3,每个染色体都接种,但接种的位置是随机的 %这个函数实现对染色体的疫苗接种 %由染色体 (可能解的 2进制顺序号找到可能解: %x=chromosome_x(fatherChromosomeGroup,oneDimensionSet,solutionSum; %把解代入非线性方程组计算误差函数:functionError=nonLinearSumError1(x; 判定程是否得解函数:[solution,isTrue]=isSolution(x,funtionError,solutionSumError; %选择最优染色体函数: %[bestChromosome,leastFunctionError]=best_worstChromosome(fatherChromoso m eGroup,functionError; %误差比较函数:从两个染色体中,选出误差较小的染色体

人工免疫算法介绍

Immune(免疫)是从拉丁文Immunise衍生而来的。很早以前,人们就注意到传染病患者痊愈后,对该病有不同程度的免疫力。因此,在相当长时期内,免疫在微生物学和病毒学上是指免除瘟疫;换言之,是指对传染因子的再次感染有抵抗力,这是机体在初次感染后对该传染因子产生了免疫应答的结果。在医学上,免疫是指机体接触抗原性异物的一种生理反应。免疫系统有能力产生很多种抗体,免疫系统的控制机制可完成这一调节功能,即只产生所需数量的抗体。根据网络理论,如果任一细胞系中的细胞由于抗原的刺激而被激活并开始繁殖,其它能识别这种基因类型的细胞系也被激活并开始繁殖。这样,如果这一过程连续地进行,就构成了对自身的免疫,并且通过所有淋巴细胞的作用实现了调节机制。 基本免疫算法 基本免疫算法基于生物免疫系统基本机制,模仿了人体的免疫系统。基本免疫算法从体细胞理论和网络理论得到启发,实现了类似于生物免疫系统的抗原识别、细胞分化、记忆和自我调节的功能。如果将免疫算法与求解优化问题的一般搜索方法相比较,那么抗原、抗体、抗原和抗体之间的亲和性分别对应于优化问题的目标函数、优化解、解与目标函数的匹配程度。 通俗地说,抗原就是入侵人体的病原体,而人体内的免疫系统会相应地产生免疫应答,产生抗体。而其中B细胞和T细胞的重要作用: B 细胞的主要功能是产生抗体,且每个B细胞只产生一种抗体.免疫系统主要依靠抗体来对入侵抗原进行攻击以保护有机体.T细胞的主要功能是调节其它细胞的活动或直接对抗原实施攻击.成熟的B细胞产生于骨髓中,成熟的T细胞产生于胸腺之中。B细胞和T 细胞成熟之后进行克隆增殖、分化并表达功能.两种淋巴细胞共同作用并相互影响和控制对方功能,形成了机体内部高度规律的反馈型免疫网络. 对于不同的系统,你所要关注的量不同的话,人工免疫的应用也就有不同的意义. 比如说,我要应用到通过估计饭堂里吃饭的人数,来寻优哪个时间点是最好的吃饭点(人数较少,饭又比较多等条件),这是你可以先定义一个目标函数minf (x)+约束条件来作为抗原,而争对抗原的变量计算,可以产生很多抗体(就是许多种可以选择的情况),再通过判断抗原和抗体的亲和力(亲和力高表示这个抗体是比较好的),和抗体之间的排斥力(相似度,相似度高的两个可以排除一个,使抗体多样化),再同通过交叉变异等操作来更新抗体,一直循环到满足一定条件就可以退出循环。 免疫的机理是具有特定性的,最可以说明问题的就是种牛痘只能防止天花,他不可能产生免疫防止肝炎。并且多目标优化多是互相矛盾的,没有又想让马儿跑还想让马儿不吃草的好事情。解决优化最简单的是图论中著名的柯尼斯堡七桥问题和欧拉示性一笔画方法。再就是优选法的0.618黄金分割和QC的质量控制方法。免疫算法是基于生物免疫学抗体克隆的选择学说,而提出的一种新人工免疫系统算法-免疫克隆选择算法ICSA(Immune Clonal Selection Algorithm),ICSA算法具有自组选择学习、全息容错记忆、辩证克隆仿真和协同免疫优化的启发式人工智能。由于该方法收敛速度快,求解精度高,稳定性能好,并有效克服了早熟和骗的问题,成为新兴的实用智能算法。

模型建立于蚁群算法

确定型模型的建立 1、模型的基本假设与前提 ①模型中包含一个回收中心和多个回收客户点,每辆车都由回收中心出发,经由各个客户点完成回收任务后,再次回到回收中心。 ②回收中心的容量没有限制。 ③每个回收客户点的回收量已知。 ④回收中心同各回收客户点相对位置坐标己知,且路径长度对称。 ⑤每个回收客户点仅被一辆车服务一次。 ⑥每辆车的载重能力和总容积限制已知,单个回收客户点的回收量不能超出单车载重能力和容积约束的1/2。 ⑦对于每一辆车,只有当其路径上所有回收量大于最小载重量和最小容积时才能出车。 ⑧每辆车每次任务的总行驶里程不能超过车辆允许最大行驶距离。 ⑨回收的货物可以混装。 ⑩单位运输成本同运输距离呈线性关系。 2、模型参数及变量定义 P:所有节点集合,P={i},i=0表示回收中心,i=1,2,…,n 表示回收客户 点 S:回收客户点集合,且P=SU{0} V:所有车辆集合,V={k},k=1,2,…,m D:各节点间距离矩阵,D=)1)*(1(][++n n ij d ij d :各节点间距离,且0==jj ii d d ,ji ij d d =,P j i ∈?, k C 0:第k 辆车的固定成本,即增加一辆车所产生的费用 k C :第k 两车的单位距离费用 k Z max :第k 辆车的额定最大载重量 k Z min :第k 辆车的额定最小载重量 k R max :第k 辆车的额定最大容积 k R min :第k 辆车的额定最小容积

k L :第k 辆车允许的最大行驶距离 i w :第i 个回收客户点出货物的总重量 i v :第i 个客户点处货物的总体积 ijk x :0-1变量,当第k 辆车从i 至j 进行回收时,值为1,否则为0 ik y :0-1变量,当第k 辆车服务第i 个回收客户点时,值为1,否则为0 (3)目标函数 ??? ? ??+=∑∑∑∑∈∈∈∈V k P i P j V k ijk ij k k x d C C F 0min (1) (4)约束条件 ∑∈=V k ik y 1 )n 2,1(??∈S i n=3,m= 2 (2) ∑∈=P j ik ijk y x )2,1(),2,1,0(m V k n P i ??∈??∈ (3) ∑∈=P i jk ijk y x ),2,1(),2,1,0(m V k n P j ??∈??∈ (4) k s i ik i Z y w max ≤∑∈ ),2,1(m V k ??∈ (5) ∑∈≥S i k ik i Z y w min ),2,1(m V k ??∈ (6) k S i ik i R y v max ≤∑∈ ),2,1(m V k ??∈ (7) ∑∈≥S i k ik i R y v min ),2,1(m V k ??∈ (8) ∑∑∈∈≤P i P j k ijk ij L x d ),2,1(m V k ??∈ (9) 点进行回收开至辆车从点,第否则 j i k ijk x 1,0{= ),2,1(m V k ??∈ (10) 的货物辆车回收点,第否则 i ik y k 1,0{= ),2,1(m V k ??∈ (11) 目标函数(1)表示车辆使用、运行成本最小;约束条件(2)保证每个客户点均被服务; (3)、(4)保证驶入和驶出某个客户点的车辆为同一辆,保证每个节点仅被服务一次;(5)、 (6)为车辆最大、最小载重限制;(7)、(8)为车辆最大、最小容积约束;(9)为车辆最大行驶距离约束;(10)、(11)为变量ijk x 、ik y 取值。

免疫+蚁群求解旅行商问题

基于免疫的蚁群算法求解旅行商问题 温晋杰 (石家庄铁道大学,河北省石家庄市,050043) 摘要:人工免疫算法具有快速随机的全局搜索能力,但对于系统中的反馈信息利用不足,往往做大量无为的冗余迭代,求解效率低。蚁群算法具有分布式并行全局搜索能力,通过信息素的积累和更新收敛于最优路径上,但初期信息素匮乏,求解速度慢。本文根据人工免疫算法和蚁群算法各自的性能及优缺点,将人工免疫算法和蚁群算法相结合,提出新的结合方式形成免疫蚁群算法,采用人工免疫算法生成信息素分布,利用蚁群算法求优化解。将该算法用于求解旅行商问题进行计算机仿真,结果表明,该算法是一种收敛速度和寻优能力都比较好的优化方法。 关键词人工免疫算法蚁群算法旅行商问题 1.引言 旅行商问题(Traveling Salesman Problem,TSP)是具有重要意义的组合优化问题。是旅行商要到若干个城市旅行,各城市之间的费用是已知的,为了节省费用,旅行商决定从所在城市出发,到每个城市旅行一次后返回初始城市,问他应选择什么样的路线才能使所走的总费用最短?此问题可描述如下:设G=(V,E)是一个具有边成本cij的有向图,cij的定义如下,对于所有的i和j,cij>0,若不属于E,则cij=∞。令|V|=n,并假设n>1。G的一条周游路线是包含V中每个结点的一个有向环,周游路线的成本是此路线上所有边的成本和。TSP问题描述简单却难以求解,因而一直作为衡量各种优化算法性能的标准。近年来,人们从仿生学的机理中受到启发,提出了许多用于求解TSP 问题的新方法,如:禁忌搜索算法、遗传算法、摸拟退火算法、人工免疫算法和蚁群算法等。然而,面对TSP问题的复杂性,每种算法都表现出各自的优势和缺陷[5]。 从信息处理的观点看,免疫系统是与遗传系统、神经系统并列的人体三大信息系统之一[3]。人类从免疫系统中不断获得新的启示并创造出越来越多智能方法,人工免疫算法就是其中的一种方法。在人工免疫算法中,被求解的问题视为抗原,抗体则对应于问题的解,改进的人工免疫算法与GA 相似,人工免疫算法也是从随机生成的初始解群出发,采用复制、交叉、变异等算子进行操作,产生比父代优越的子代,这样循环执行,逐渐逼近最优解。不同的是人工免疫算法的复制算子模拟了免疫系统基于浓度的抗体繁殖策略,出色地保持了解群(对应于免疫系统中的抗体)的多样性,从而克服了GA解群多样性保持能力不足的缺点。 蚁群算法最初是通过对蚂蚁群落的观察,受蚁群行为特征启发而得出的[2]。蚁群算法特点是并发 作者简介:温晋杰,信息学院研2013班,120137906,研究方向:智能算法,联系方式:石家庄铁道大学信息学院

蚁群免疫算法在反应精馏优化中的应用

第28卷第2期 2010年3月 研究与开发(105—108) 石化技术与应用 PetrochemicalTechnology&Application V01.28No.2 Mar.2010 蚁群免疫算法在反应精馏优化中的应用 郎宪明,屈宝存,杨艳,刘晓梅 (辽宁石油化工大学信息与控制工程学院,辽宁抚顺113001) 摘要:利用RBF人工神经网络模型模拟合成乙酸乙酯反应精馏过程。在建立RBF神经网络模型时,首先用AspenPlus软件模拟计算出多组数据以弥补实验数据稀少的不足,并在此基础t用蚁群免疫算法进行操作条件的优化。结果表明,蚁群免疫算法结合RBF人工神经网络模璎模拟对反应精馏进行优化是可行的,且能达到很高的精度。 关键词:反应精馏;RBF人工神经网络;蚁群算法;免疫算法;AspenPlus软件;乙酸乙酯 中图分类号:TP273文献标识码:B文章编号:1009—0045(2010)02—0105—04 反应精馏是一种将反应过程和精馏过程结合在一起,且在同一个设备(蒸馏塔)内进行的耦合过程。因具有工艺流程短、设备数量少、投资小等优点,反应精馏可以应用于某些传统工艺过程如醚化、加氢、芳烃烷基化、酯化等反应。影响反应精馏复合过程的因素很多,如反应速率、催化剂性能、塔板数、进料位置和进料配比等,其过程还表现为高度的非线性,而且又含有整数变量,如塔板数、进料位置等参数,因此反应精馏过程的工艺优化是一个混合整数非线性规划问题。其优化方法主要有混合整数非线性规划(MIN—LP)法¨1、人工智能法雎1和动态优化法p1。 在反应精馏的整个生产流程不确定及费用函数未知的时候,如果对目标变量有新的要求,则操作条件需要进行相应的改变,此时提供多组可行的操作条件就很有必要。王泳H1为这一问题提出了一个新的思路,即充分利用神经网络强大的非线性映射能力和遗传算法(C,A)的全局优化能力,进行多输入多输出的函数映射,进而进行多目标的寻优。 反应精馏在工业生产中得到了广泛的应用,但是现有的模拟方法都不能令人满意,且优化方法也较少。本工作采用径向基神经网络RBF与 AspenPlus软件相结合的方法模拟合成乙酸乙酯反应精馏过程,建立操作变量与控制变量之间的函数关系,在此基础上应用基于免疫机制的多目标蚁群算法对反应精馏过程进行了操作条件的优化,得到一系列优化解。 1RBF神经网络 在反应精馏工艺中,存在多种过程相互耦合作用,使整个过程呈现出很强的非线性,很难用简明的数学方程式进行描述,因此采用RBF神经网络【5o进行模拟,这样可以不用了解精馏反应过程的详细机理。 RBF神经网络是3层的神经网络,其结构如图1所示。输入层由感知单元组成,它们将网络与外界环境连接起来;RBF层是仅有的一个隐层,其作用是进行输入空间到隐层空间的非线性变换;输出层是线性的,它为作用于输入层的激活信号提供响应。RBF神经网络不依赖于精确的数学模型,具有较好的鲁棒性和较强的自适应性。 圈1RBF神经网络结构图 收稿日期:2009一09—07;惨回日期:2009—12—05 作者简介:郎宪明(1984一),男,黑龙江绥化人。硕士研究生。 研究方向为过程计算机控制与智能控制等。 万方数据

免疫算法

免疫算法理论与应用近代免疫的概念是指机体对自己或非己的识别并排除非己的功能,目的是维持自身生理平衡与稳定.免疫算法就是模拟免疫系统抗原识别、抗原与抗体结合及抗体产生过程,并利用免疫系统多样性和记忆机理抽象得到的一种免疫算法。这里介绍免疫算法的算法流程与代码.免疫学中基本概念的思想在免疫算法设计中得到有效应用,即亲和力,相似度,浓度及激励度,根据算法需要给出描述. 定义1 亲和力指抗体与抗原的匹配程度.反映在优化问题上,抗体(NBP)的亲和力定义为函数,与成反比,在此仍表示抗 (x)f(x)f(x)x体对应的可行解的目标函数.这里选 择 1 定义2 相似度指抗体 与其他抗体的相似程度,其被定义为,此根据信息熵理论设计.设M为含有m个字符的字符集,群体G为由N个长度为的字符串构成的集合,即l,其中G中基因座的信息熵定义为其中为M 中第个符号出现在基因座上的概率p ij定义3 抗体浓度指抗体在抗体群中与其相似的抗体所占的比例,定义为函数即 ,其中为 浓度阈值,,在此称为浓度抑制半径. 定义 4 激励度是指抗体应答抗原和被其他抗体激活的综合能力,定义为函 e 数,其中为调节因子,.抗体应答

抗原综合能力与其亲和力成正比,与其在抗体群中浓度成反比定义 5 克隆选择是 指在给定的选择率下,,在抗体群中选择亲和力较高的抗体.亲和力低的抗体则被清除. 定义6 细胞克隆是指在给定 的繁殖数M下,抗体群X中所有抗体依据自 s2身的亲和力及繁殖率共繁殖M个克隆的映射.,它是确定性映射,即设为抗体群的繁殖率函数,为抗体群,则定义x抗体繁殖个相同的克隆构成的集合. 由下式确定: mmiiim . 定义 7 亲和突变是指抗体空间到自身的随机映射,,其作用方式:S T m是抗体按与其亲和力成正比的可变概率独立地改变自身的基因,可选 . 定义 8 克隆抑制指在抗体群中依据抗体的亲和力和相似度抑制部分抗体的确定性映射,.克隆抑制算子的设计,设X是群体规模为M的抗体群,依据抗体的相似度和抑制半径以及式,将X划分为子群,不妨设获q个子群,利用处罚函数对中亲和力低的抗体进行处罚. 定义9 免疫选择是指在抗体群中依据抗体的激励度选择抗体的随机映射,N按其概率 规则 . x(X)ii j定义 10 募集

相关文档
最新文档