i want to assign number of tasks to fog nodes randomly son in the matrix i will have different solution and i got the same solution repeated
1 次查看(过去 30 天)
显示 更早的评论
lb=250;
ub= 1000;
dim = 5;
pop=5;
offloading = lb + (ub - lb) .* rand(1,dim);
%Initialization
fognodesnumber = 3;
for i = 1 : pop %pop=N, population size
for task = 1 : dim
indices = randperm(length(offloading));
indices2 = randperm(fognodesnumber);
for FN=1:fognodesnumber
x(task,indices2(FN))=offloading(indices(task));
% Evaluate the fitness of the new solution
fit(task,FN)=fobj(x(task,indices2(FN)));
end
end
end
so the reult i got for x is
x =
357.1360 357.1360 357.1360
520.0463 520.0463 520.0463
370.7144 370.7144 370.7144
370.7144 370.7144 370.7144
663.3892 663.3892 663.3892
but i need each column the numbers to be distributed differently
0 个评论
采纳的回答
Shravan Kumar Vankaramoni
2021-8-17
Hi,
for FN=1:fognodesnumber
x(task,indices2(FN))=offloading(indices(task));
end
In the above loop, task( row number ) is a constant value. Basically you are storing same value in the entire row. To get different values in the columns of the same row, you can try the below code. It is randomizing the value to be stored.
for FN=1:fognodesnumber
x(task,indices2(FN))=offloading(indices(randi([1,dim])));
end
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Mathematics and Optimization 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!