Well, if you're collecting framework requests—I'd love to see support for quality-diversity methods (viz. Novelty Search and its descendants, like MAP-Elites).

It's kind of a young, niche area, I suppose, but I think it makes sense for ECJ in the MASON context: QD methods' primary application is the evolution of agent behaviors.  And if you're already implementing NEAT anyway, you'll have their favorite representation covered.


On Mon, Jul 25, 2016 at 12:40 PM, Sean Luke <[log in to unmask]> wrote:
George Mason University has won a 3-year NSF grant specifically to enhance the ECJ evolutionary computation toolkit into a broad-based library useful to the entire metaheuristics community.


We need two things:

        1. We need suggestions for what we should do beyond the list below (which is a summary of roughly what we proposed).  In order to convert ECJ into a general-purpose toolkit that could serve as a central library to the generl metaheuristics community, what is missing from our proposed work below?  What would you like to see?

        2. We'll be building a board of "power users" of ECJ to assess the work and make recommendations here and there.  It'll be infrequent and minimal work on your part, but it's important for us.  I would like you to recommend (directly to me) people to be on that board.  Yes you can recommend yourself.

Here's what we have proposed.  What do you think should also be there?

1. Make ECJ More Robust
        1A. Construct a test harness for ECJ
        1B. Make distribution-based system tests for ECJ
        1C. Make unit tests for ECJ

2. Add Metaheuristics Frameworks to ECJ
        2A. Build an Efficient Single-State optimization package (for hill-climbing simualted annealing, tabu search, etc.)
        2B. Build a Combinatorial Optimization package (for GRASP, AS, ACS, and likely certain more recent ACO algorithms -- suggestions?)
        2C. Abstract and extend the Model Fitting Package beyond CMA-ES (probably to PBIL, UMDA, BIPOP-CMA-ES or AMaLGaM IDEA -- suggestions?)
        2D. Build tools to permit hybrid architectures (ILS, memetic algorithms), building off if our mete-evolution facility. Suggestions of specific algorithms to include?
        2E. Add NEAT

3. Make ECJ Easier to Use
        3A. Eclipse integration (wizards, code skeletons)
        3B. Very significantly revise and update ECJ's GUI

4. Make ECJ More Useful for Analysis
        4A. Facilities to dump statistics directly to R.
        4B. Integrate standard implementations of statistical analyses, such as T-tests etc.
        4C. Add significant number of vector benchmarks, from BBOB etc.
        4D. Work with representation-specific communities (notably GP, ACO, NEAT) to add often-used benchmark problems.



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