Ah I see. Yeah this probably depends a lot on the way you are representing the bits and how you split the objectives. If each objective is an ASCIIString of bits and they're held separately (i.e. objectives is a Vector{ASCIIString}) what I have provided should work because the isless function works on strings. It probably isn't the most efficient way to compare them however.
On Friday, April 24, 2015 at 1:34:25 PM UTC-3, Ronan Chagas wrote: > > Hi Duane Wilson, > > Em sexta-feira, 24 de abril de 2015 11:52:08 UTC-3, Duane Wilson escreveu: >> >> Actually I was able to get the go ahead from my boss to create a gist of >> the code I've produced. I've modified it a little bit, as some of the >> things in there are really relevant. >> >> http://nbviewer.ipython.org/gist/dwil/5cc31d1fea141740cf96 >> >> Any comments for optimizing this a little be more would be appreciated :) >> >> > Thanks very much, it will help me and, if I can contribute, I will tell > you :) > > The problem is that for each generation of this evolutionary algorithm I > will need to check if n candidate points belong to the Pareto frontier, > where n is the number of bits in the string. > Thus, I need a really fast algorithm for this kind of operation. As I am > doing now (I will post the code in github), it works fine until the > frontier has a large number of elements. > Just one example, suppose that I'm using n = 16 and I have 6,000 elements > in the frontier. If I generate 1000 generations, then I will need to check > if 16,000 points are in the frontier. > It will lead to 96,000,000 comparisons considering that no point will be > added to the frontier. > > Thanks, > Ronan > >