Congratulations on your successful grant! This is wonderful news.
> 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?
A few things come immediately to mind:
- make ECJ much easier to use programmatically. Running experiments typically requires frequent invocation of ECJ, and I’d much rather do this from within my own code via a clean elegant API.
- try to simplify the design. I’ve heard a lot of people say they found ECJ unwieldy at first. I have some vague ideas on what to simplify/remove, but this would required some further thought.
- (this is just a suggestion) - consider Scala, either in terms of providing a Scala API or else rewriting some/all of ECJ in Scala. This is a controversial idea, I realise! I’m not sure whether it is on the whole a sensible decision or not, it would require some debate. With the rise of data analysis via Apache Spark etc., ECJ might want to at least consider going in this direction.
- get rid of the parameter file system. A lot of students have complained about this in the past. The “cascading” nature of the files can be very confusing and error-prone. It also results in an inelegant approach to using the system programmatically (see my first point).
- consider interoperability with other frameworks, e.g. in terms of being able to reuse their variation operations.
- consider supporting hyper heuristics.
> 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.
I’d like to volunteer!
This is great news, congratulations again!