% update 更新策略
for j=1:n %n个个体,依次更新
if t==1
if fit(j)>=MAX0(number);
sign=1;
else sign=0;
end
elseif fit(j)>=MAX(number,t-1)%本代的最优解比上代保持的最优解
sign=1;
else sign=0;
end
i=0;
while i<m %n位
i=i+1;
if x(j,i)==0 %新解此位状态为‘0’,即第j个个体的第i位 为0
if BEST(number,i)==0 %上代保持的最优解此位为0
angle=0;%不旋转
elseif sign==0 %上代保持的最优解此位为‘1’,且新解不如上代保持的最优解适应度值高
angle=0;%不旋转
elseif q(1,i,j)*q(2,i,j)>0 %上代保持的最优解此位为‘1’,且新解比上代保持的最优解适应度
%值高,且新解的‘0’态、‘1’态系数同号,即在一、三象限
angle=-0.05*pi;%顺时针旋转,使下一代系数更靠近‘0’态
elseif q(2,i,j)==0 %上代保持的最优解此位为‘1’,且新解比上代保持的最优解适应度值高,
%且新解在实轴上,即b(i)即‘0’态,不旋转
angle=0;
else
angle=0.05*pi;%新解比上代保持的最优解适应度高,还包括两种情况,
%一是新解在虚轴上,即a(i)处于‘1’态,此时无论顺时针还是逆时针旋转
%都可以,使下个状态更靠近‘0’态,本程序使用顺指针逆时针旋转,
%第二种情况是 在二四象限 ,此时必须逆时针旋转
end
elseif BEST(number,i)==0 %新解状态为1,且保持的最优解状态为0
if sign==0 % 新解适应度值小于保持的最优解适应度值
if q(1,i,j)*q(2,i,j)>0%一三象限,所以顺时针旋转
angle=-0.01*pi;
elseif q(2,i,j)==0 %新解适应度值小于保持的最优值,且新解在实轴上,不旋转??
angle=0;
else %两种情况。一是新解在虚轴上,即在‘1’态,顺时针逆时针
%旋转都可,本程序使用逆时针旋转,二是在三四象限,逆时针旋转
angle=0.01*pi;
end
elseif q(1,i,j)*q(2,i,j)>0 %新解为1,保持的最优解为0,且新解适应度值比保持的最优解高,
%且在一三象限,所以逆时针旋转
angle=0.025*pi;
elseif q(1,i,j)==0 %新解为1,保持的最优解为0,且新解适应度值比保持的最优解高,新解在虚轴上,不旋转
angle=0;
else %新解为1,保持的最优解为0,且新解适应度值比保持的最优解高,两种情况
%一是新解在虚轴上,顺时针逆时针旋转都可,本程序使用顺时针旋转,二是在三四象限,顺时针旋转
angle=-0.025*pi;
end
elseif sign==0%新解和保持的最优解都是1,且新解适应度值小于保持最优解
if q(1,i,j)*q(2,i,j)>0 %一三象限,逆时针旋转?
angle=0.005*pi;
elseif q(1,i,j)==0 %新解在虚轴上
angle=0;
else %两种情况。一是新解在实轴上,逆时针顺时针旋转都可,本程序采用顺时针,二是三四象限,顺时针旋转
angle=-0.005*pi;
end
elseif q(1,i,j)*q(2,i,j)>0 %新解和保持的最优解都是1,且新解适应度值高于保持最优解,逆时针旋转
angle=0.025*pi;
elseif q(1,i,j)==0 %新解和保持的最优解都是1,且新解适应度值高于保持最优解,且新解在虚轴上,不旋转
angle=0;
else %新解和保持的最优解都是1,且新解适应度值高于保持最优解。包括两种情况
%一是新解在实轴上,逆时针旋转顺时针旋转都可以。本程序采用顺时针旋转
%二是在二四象限,顺时针旋转
angle=-0.025*pi;
end
z=[cos(angle),-sin(angle);sin(angle),cos(angle)]*[q(1,i,j),q(2,i,j)]';%采用量子门更新
q(1,i,j)=z(1);q(2,i,j)=z(2);%新的‘0’态、‘1’态系数
end
end
q;
背包问题.rar_matlab算法实现背包问题_价值背包算法_背包最大价值_背包问题_遗传算法 背包
版权申诉
22 浏览量
2022-07-15
06:15:09
上传
评论
收藏 4KB RAR 举报
御道御小黑
- 粉丝: 58
- 资源: 1万+
最新资源
- 目标跟踪-基于目标中心点同时进行目标检测+目标跟踪算法实现-项目源码-优质项目实战.zip
- Python《文本特征分析-全唐诗数据挖掘及分析 》+源代码
- Netron-Setup-4.5.0
- 可编辑的地图图形3-世界、各洲、美国地图.xls
- NineAi 新版ChatGPT AI系统网站源码
- Anaconda3-2022.10windows版本
- 基于Servlet的URL访问安全控制.doc
- 可编辑的地图图形-2-中国到省、到市、到县地图.xls
- 快慢指针法判断链表是否有环-go语言实现
- Python《金融新闻数据挖掘分析 (数据抓取、NLP算法分析、量化策略、回测框架等)》+源代码+项目说明
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
评论0