roulette_wheel.m
来自「用蚁群算法解决0-1背包问题,matlab实现,自己亲自写的,没问题」· M 代码 · 共 12 行
M
12 行
%轮盘赌程序
function f=roulette_wheel(u,q)
r=rand*u; %生成随机数r
s=0;
n=length(q);
for i=1:n %i从1开始,这也是对原算法的修改
s=s+q(i);
if(s>r) %原算法是s>=r,而我写的是s>r,想想是为什么,这避免了什么错误?这也是对原算法的一个修改
f=i; %将选择到的点返回
break;
end
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?