✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
⛄ 内容介绍
提出了利用遗传算法来解决指派问题,主要将每项任务作为一个基因位,形成染色体,然后借助遗传操作的选择,交叉和变异等操作来对问题进行优化操作.实验结果表明设算法是有效的.
⛄ 部分代码
popnew=pop1;
s=1;
if m<3
popnew=pop1;
else
for i=1:size(pop1,1)
X=pop1(i,:);
p=round(100*pm);
test(1:100)=0;
test(1:p)=1;
n=round(rand*99)+1;
pmm=test(n);
if pmm==1
c1=round(rand*(m-2))+1;
c2=round(rand*(m-2))+1;
chb1=min(c1,c2);%变异片段的初点
chb2=max(c1,c2);%变异片段的终点
x1=X(1,chb1+1:chb2); %变异片段
newx=fliplr(x1); %fliplrx 倒序
v=zeros(1,m);
v=[X(1,1:chb1),newx,X(1,chb2+1:m)];
popnew(size(pop1,1)+s,:)=v;
s=s+1;
end
end
%fprintf('变异成功%d次',s-1);
end
end
⛄ 运行结果
⛄ 参考文献
[1]吴海军. 基于遗传算法的指派问题求解[J]. 智能计算机与应用, 2005(6):23-24.
[2]齐安智. 一种遗传算法求解指派问题的改进策略[J]. 价值工程, 2013, 32(4):2.
[3]张权修宏伟. 遗传算法在指派问题中的应用[J]. 沈阳建筑大学学报(自然科学版), 1997, 000(001):25.
⛄ 完整代码
❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料