Note that we've made a lot of changes recently to the SPEA package,
simplifying it and orthogonalizing it. You may wish to make sure you
have the CVS version.
David Robert White wrote:
> Hi Paul,
> Not sure what info you want, but here's an overview.
> The SPEA2 algorithm is documented at:
> Like many multi-objective optimisation algorithms, SPEA2 maintains an
> archive of individuals that is intended to approximate the pareto front,
> or the best representation of the pareto front given the search
> algorithm's progress so far.
> SPEA2 works by generating a population, evaluating it, then populating
> the archive with individuals based on their pareto non-dominance and a
> niching mechanism, and failing that (if there aren't enough
> non-dominated individuals in the population) then it "tops up" the
> archive with dominated individuals.
> The archive and population are really two distinct entities in SPEA2,
> although the ECJ implementation stores all individuals within the usual
> population array for convenience.
> The archive_size parameter effectively determines how large a number of
> individuals are kept between generations, a kind of elitism.
> As a rule of thumb, you'd probably want to keep the archive size quite
> large compared to the population - otherwise your search may converge
> too quickly. Some people use pop size == archive size, generally I go
> for somewhere between 50% to 75%. Of course, these are arbitrary
> decisions and the outcome will depend on other parameters, the nature of
> the problem and the seed.
> Hope that's some use.
> Paul Fisher wrote:
>> I'd like to use the SPEA2 package, but don't understand what the
>> purpose of the archive_size parameter is in the SPEA2Subpopulation class.
>> Any advice appreciated.