Rafal Kicinger donated a significant amount of vector min/max code in the last iteration. We may have a bug. To start, go to InterVectorSpecies.java and modify individualGeneMinMaxUsed() to look like this please: boolean flag = false; public final boolean individualGeneMinMaxUsed() { if (!flag) System.out.println("Used? " + (maxGenes != null) ); flag = true; return (maxGenes!=null); } This should print out (on the Used? line) whether or not we're doing per-gene Min-Max. Let me know what the result is. Sean On Dec 5, 2007, at 12:36 PM, Bradford N Barr wrote: > Hello all, > > I've recently begun learning how to use ecj. I can competently use > GP, and now I'm playing with some GA's. I'm having an issue with my > GA's parameters. I assume it is something simple (like I have got > the base wrong or something). > > I want some of my genes to be of different lengths, for > IntegerVectorSpecies the class documentation says I can use > base.min-gene.n for this purpose. I'm doing this but my genes are > not getting their specific limit, only the overall limit. > > I'm going to include my params file, its pretty small and straight > forward. My gene 5 had a value 94 last run when its limit is 20. > > Thanks in advance! > Brad > > parent.0 = /usr/share/ecj/ec/simple/simple.params > > pop.subpop.0.size = 50 > generations = 100 > > pop.subpop.0.species = ec.vector.IntegerVectorSpecies > pop.subpop.0.species.ind = ec.vector.IntegerVectorIndividual > pop.subpop.0.species.fitness = ec.simple.SimpleFitness > > pop.subpop.0.species.genome-size = 14 > pop.subpop.0.species.crossover-type = two > pop.subpop.0.species.crossover-prob = 1.0 > pop.subpop.0.species.mutation-prob = 0.05 > > pop.subpop.0.species.max-gene = 100 > # pop.subpop.0.species.min-gene = 0 > > pop.subpop.0.species.min-gene.0 = 0 > pop.subpop.0.species.max-gene.1 = 100 > pop.subpop.0.species.min-gene.1 = 0 > pop.subpop.0.species.max-gene.1 = 100 > pop.subpop.0.species.min-gene.2 = 0 > pop.subpop.0.species.max-gene.2 = 100 > pop.subpop.0.species.min-gene.3 = 0 > pop.subpop.0.species.min-gene.3 = 100 > pop.subpop.0.species.min-gene.4 = 0 > pop.subpop.0.species.max-gene.4 = 100 > pop.subpop.0.species.min-gene.5 = 1 > pop.subpop.0.species.max-gene.5 = 20 > pop.subpop.0.species.min-gene.6 = 1 > pop.subpop.0.species.max-gene.6 = 20 > pop.subpop.0.species.min-gene.7 = 1 > pop.subpop.0.species.max-gene.7 = 20 > pop.subpop.0.species.min-gene.8 = 1 > pop.subpop.0.species.max-gene.8 = 20 > pop.subpop.0.species.min-gene.9 = 0 > pop.subpop.0.species.max-gene.9 = 10 > pop.subpop.0.species.min-gene.10 = 1 > pop.subpop.0.species.max-gene.10 = 20 > pop.subpop.0.species.min-gene.11 = 1 > pop.subpop.0.species.max-gene.11 = 20 > pop.subpop.0.species.min-gene.12 = 0 > pop.subpop.0.species.max-gene.12 = 100 > pop.subpop.0.species.min-gene.13 = 0 > pop.subpop.0.species.max-gene.13 = 100 > pop.subpop.0.species.min-gene.14 = 0 > pop.subpop.0.species.max-gene.14 = 100 > pop.subpop.0.species.min-gene.15 = 0 > pop.subpop.0.species.max-gene.15 = 100 > pop.subpop.0.species.min-gene.16 = 0 > pop.subpop.0.species.max-gene.16 = 100 > pop.subpop.0.species.min-gene.17 = 0 > pop.subpop.0.species.max-gene.17 = 100 > pop.subpop.0.species.min-gene.18 = 0 > pop.subpop.0.species.max-gene.18 = 100 > pop.subpop.0.species.min-gene.19 = 0 > pop.subpop.0.species.max-gene.19 = 100 > > pop.subpop.0.species.pipe = ec.vector.breed.VectorMutationPipeline > pop.subpop.0.species.pipe.source.0 = > ec.vector.breed.VectorCrossoverPipeline > pop.subpop.0.species.pipe.source.0.source.0 = > ec.select.TournamentSelection > pop.subpop.0.species.pipe.source.0.source.1 = > ec.select.TournamentSelection > > select.tournament.size = 3 > > eval.problem = fa.meta.MetaProblem