For the past few months a colleague and I have been putting a day aside every six weeks or so to work on a joint project. This is the first time I have programmed with somebody but its working out well. We each take responsibility for a C++ class and then plug everything together at the end of the day.
The first few days went very well and we got results that were close to the best known, but things have slowed down a bit recently and we have stood back and looked at exactly what we are trying to achieve. The programming today was about redesigning the software framework. We did not quite finish, but we made good progress.
The domain we are tackling is the examination timetabling. We chose this as the data is readily available, there has been a lot of work done in this area already and there are lots of results that we can compare against.
(In case you are interested, we are initially using the Carter datasets. There is more recent dataset known as the ITC (International Timetabling Competition) datasets which we might look at in the future.)
But, the main focus of the research is not to solve examination timetabling problems, but to investigate an idea we had about hyper-heuristics. We are not sure if it is going to work yet (that’s the idea of research!) but the outline idea is that we evolve sequences of add/delete heuristics, perhaps in a co-evolutionary environment. That may sound a bit woolly at the moment, and you’d be right as we are still very much in the planning phase. In essence, we are just developing a software development framework that will enable us to test a variety of hypotheses.
So, at the moment, work in progress and more later.