フィルターのクリア

How can a phrase the constraint for Genetic Algorithms to generate data without duplicates?

3 ビュー (過去 30 日間)
Dear Matlab community,
I am trying use interpolation within the function body to evaluated by the genetic algorithm.
The genetic algorithm shall generate data of 60 variables within lower and upper bounds to be taken as x- and y-values and is therefore reshaped as follows:
datap=reshape(datap,30,2);
The first column is taken as x-values and the second column as y-values for interpolation. The x-values therefore need to be unique and in increasing order. I just cannot figure out how I can phrase the constraint for the x-values to be unique before Matlab generates them. Hope someone can help!
That's the beginning of the function:
function y=cube2shape_3(datap)
% bounds
% ub=[0,linspace(3,3,28),1,linspace(3,3,29),0]
% lb=[linspace(0,0,29),1,linspace(1,1,20),linspace(0,0,10)]
datap=reshape(datap,30,2);
sort(datap(:,1))
%fit graph to data points
ffit=fitit(datap(:,1),datap(:,2));

採用された回答

Vidya Viswanathan
Vidya Viswanathan 2016 年 3 月 30 日
Hi,
As far as I understand, there is no direct option to remove duplication of data points in Genetic Algorithm. However, as a workaround, you could consider one of the two approaches listed below:
  • The best option is to create an initial population by writing your own creation function without duplicate points.
  • The second option is to cache/store the population. You can implement a simple strategy to create a cache inside the fitness function which can store the population evaluated in the past few generations. The size of the cache can be decided upfront so that it remains the same during the iterations. Using vectorized option will send all the population at once to the fitness function and that will be helpful.
If this does not address your query, you could consider contacting MathWorks Technical Support corresponding to the region you belong to using the following link:
Regards,
Vidya

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeGenetic Algorithm についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by