how can i generate this chromosome?

1 view (last 30 days)
how can i generate this chromosome? I tried to generate randomly this chromosome [2 2 3 1 2 3 1 1 3]. this chromosome represents that I have 3 jobs and each job has 3 tasks. I need this chromosome to use genetic algorithm.

Accepted Answer

Joseph Cheng
Joseph Cheng on 9 Sep 2014
I would start by creating an array containing the numbers you want in it and then using randperm to generate a random random order.
Numjobs = 3;
NumTask = 3;
chromosome = repmat(1:NumTask,Numjobs,1);
order = randperm(NumTask*Numjobs);
chromosome = chromosome(order)
  2 Comments
ghazwan alsoufi
ghazwan alsoufi on 9 Sep 2014
thank you. It is work perfectly.
ghazwan alsoufi
ghazwan alsoufi on 9 Sep 2014
how can I use this chromosome in population. for example if I want to find 100 chromosome.

Sign in to comment.

More Answers (1)

sejo
sejo on 9 Sep 2014
hy, try this:
chrom=randi([1,3],1,9)
  2 Comments
ghazwan alsoufi
ghazwan alsoufi on 9 Sep 2014
Thank you very much for your answer. But I need to repeat each number three times like [1 2 1 3 2 2 3 1 3]
isuru senevirathne
isuru senevirathne on 24 May 2018
chrom=randi([1,10],1,9)
you can not make to repeat each number in three times , becuse it is randomly generate

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!