0
我做如下遺傳算法的代碼...如何避免遺傳算法輸出中重複值?
lb = [1 1 1 1 1 1 1 1 1 1];
ub = [10 10 10 10 10 10 10 10 10 10];
intCon = 1:10;
[x,fval] = ga(FitnessFunction,10,[],[],[],[],lb,ub,[],intCon,options)
我得到輸出 「X」 爲大小[1 10]舉例如下一個矢量...
(my output eg:) x = 4 3 3 2 9 4 4 6 1 1
但我需要得到一個輸出爲例,
(what i want eg:) x = 2 10 3 8 1 6 4 9 5 7
這就是我不應該得到重複的值,我的outputx應該是如果大小[110] ... ...但我的輸出我得到重複值...請有人告訴我h要刪除重複...我應該設置任何選項,...請做回覆....
您必須將這樣的約束條件編碼到您的「FitnessFunction」中,因此我懷疑除非您編輯您的問題以包含其代碼,否則任何人都無法建議您。 – Dan
您需要的是一種映射功能,可將您的唯一編號排列轉換爲單個編號。我前一陣子(見第4頁圖2)https://arxiv.org/ftp/arxiv/papers/0810/0810.3671.pdf,但這可能是一個非常糟糕的解決方案。這看起來是進一步研究的一個更好的起點:http://www.2ality.com/2013/03/permutations.html否則可能這些http://stackoverflow.com/questions/14212030/number-to-unique-permutation -a-sequence-containing-duplicates或http://stackoverflow.com/questions/1506078/fast-permutation-number-permutation-mapping-algorithms – Dan