Hello Norliza,

Could you share the parameter file you are using?

We've been working on fixing some issues that affect SPEA2 in ECJ 25, but I'd like to try and reproduce the exact exception you're getting.


On Tue, Nov 28, 2017 at 2:52 PM, Norliza Abdullah <[log in to unmask]> wrote:

I am running the moosuite problem using SPEA2 in ECJ25, and this error occurred (after I change this line for (int i = 0; i < reduceBy.length; i++)

FloatVectorSpecies is using polynomial mutation as its global mutation type, but alternative-polynomial-version is not defined.  Assuming 'true'
Subpop 0 best fitness of generation Fitness: [-20.82654708545083 -8.87740942183433]
Strength: 41.0
Distance: 0.1170973657236295 Fitness: 0.1170973657236295
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -50
        at java.util.ArrayList.elementData(ArrayList.java:418)
        at java.util.ArrayList.set(ArrayList.java:446)
        at ec.multiobjective.spea2.SPEA2Breeder.buildArchive(SPEA2Breeder.java:138)
        at ec.multiobjective.spea2.SPEA2Breeder.loadElites(SPEA2Breeder.java:61)
        at ec.simple.SimpleBreeder.breedPopulation(SimpleBreeder.java:257)
        at ec.simple.SimpleEvolutionState.evolve(SimpleEvolutionState.java:104)
        at ec.EvolutionState.run(EvolutionState.java:482)
        at ec.Evolve.main(Evolve.java:773)

But when I change it back to ECJ previous version it's running fine. The difference between both SPEA2Breeder.java in ECJ25 and the previous one is one called individual size (ECJ25) instead of the previous one called individual length.


Ph.D student in Computer Science, George Mason University
Web Director, Journal of Mason Graduate Research