%求解0-1背包问题的改进萤火虫群算法 海神之光
%设置参数:步长因子alpha=0.5,吸引度beta0=1,介质吸收因子gama=1,
%萤火虫的亮度即目标函数值
clc
clear all
close all
%%
%初始化参数
alpha=0.2; % 步长因子Randomness 0--1
gamma=1.0; % 介质吸收因子
beta0=1.0; %最大吸引度
wmax=1;wmin=0.05;%权重,用于计算线性递减惯性权重
Pm=0.1;%变异概率
%使用文献中案例1的参数
W=[95 4 60 32 23 72 80 62 65 46];%物品重量
P=[55 10 47 5 4 50 8 61 85 87];%物品价值
V=269;%背包最大容量
n=size(W,2);%物品个数
iter_max=30;%迭代次数
M=1;%萤火虫种群个数
runtime=100;%运行次数
xn=round(rand(M,n));%随机生成初始解
for i=1:iter_max
%计算线性递减惯性权重
wt=wmax-(i*(wmax-wmin))/iter_max;
%用贪心策略修复当前解
[xn]=f_GA(xn,M,n,V,P,W);
%种群排序
[xn,Lightn]=f_sort(xn,P,W,M,V);
xo=xn;Lighto=Lightn;
vbest=xo(1,:);
Lightbest=Lightn(1);
fbest=Lightbest;
vbest_set(i,:)=vbest;
if i==1
fbest_set(i)=fbest;
else
if fbest>fbest_set(i-1)
fbest_set(i)=fbest;
else
fbest_set(i)=fbest_set(i-1);
end
end
%种群更新
[xn]=f_move(M,n,xn,Lightn,xo,Lighto,alpha,gamma,beta0,wt);
[xn,Lightn]=f_sort(xn,P,W,M,V);
%种群变异
[xn]=f_variation(xn,Pm,M,n);
%将种群离散化
for j=1:M
for k=1:n
if xn(j,k)>0.5
xn(j,k)=1;
else
xn(j,k)=0;
end
end
end
end
figure(1)
plot(fbest_set)
xlabel('迭代次数')
ylabel('适应度')


海神之光
- 粉丝: 6w+
最新资源
- 网站设计专业技术方案及报价.doc
- 项目管理中的关注点.doc
- 计算机教学实习报告范文参考.doc
- 施工进度计划横道图及网络图.xls
- Period3MakeaspeechaboutChina'saidtoothercountries.pptx
- 有关计算机组装与维护试题及答案.doc
- 门户网站策划书.docx
- 新媒体网络用语自查报告.docx
- 计算机实训工作总结.docx
- 高二物理竞赛课件电路复杂可编程逻辑(CPLD).pptx
- 《3-4算法及其实现》优质课教案.doc
- 三菱plc特殊继电器-.doc
- 软件版本升级服务协议.doc
- 防电信网络诈骗宣传心得体会经典优质范文3篇.docx
- 机械CADCAE技术基础教材机械CADCAE(绪论).doc
- C语言总复习-绝对经典.ppt
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈


