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.

 採用された回答

Joseph Cheng
Joseph Cheng 2014 年 9 月 9 日

0 投票

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 件のコメント

ghazwan alsoufi
ghazwan alsoufi 2014 年 9 月 9 日
thank you. It is work perfectly.
ghazwan alsoufi
ghazwan alsoufi 2014 年 9 月 9 日
how can I use this chromosome in population. for example if I want to find 100 chromosome.

サインインしてコメントする。

その他の回答 (1 件)

sejo
sejo 2014 年 9 月 9 日

0 投票

hy, try this:
chrom=randi([1,3],1,9)

2 件のコメント

ghazwan alsoufi
ghazwan alsoufi 2014 年 9 月 9 日
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 2018 年 5 月 24 日
chrom=randi([1,10],1,9)
you can not make to repeat each number in three times , becuse it is randomly generate

サインインしてコメントする。

カテゴリ

Community Treasure Hunt

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

Start Hunting!

Translated by