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
    6 views (last 30 days)
  
       Show older comments
    
    maria alseid
 on 14 Aug 2021
  
    
    
    
    
    Commented: maria alseid
 on 20 Aug 2021
            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 Comments
Accepted Answer
  Shravan Kumar Vankaramoni
    
 on 17 Aug 2021
        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
More Answers (0)
See Also
Categories
				Find more on Get Started with MATLAB in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
