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

采纳的回答

Shravan Kumar Vankaramoni
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 个)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by