I work on the problem of university planning and use a simple genetic algorithm for this. In fact, it works great and optimizes the value of the objective function for 1 hour from 0% to 90% (approximately). But then the process slows down dramatically, and it takes several days to reach the best solution. I saw a lot of papers that it is wise to mix other algos with a genetic one. Could you give me some tips on which algorithm can be mixed with the genetic one, and how this algorithm can be applied to speed up the decision process. The main question: how can any heuristic be applied to such a complex structured problem? I have no idea how to apply, for example, greedy heuristics.
Thanks to everyone in advance! I really appreciate your help!
Description of the problem:
I have:
- array filled with ScheduleSlot objects
- array filled with Lesson objects
I AM:
- Standard two-point crossover
- Mutation (transferring a random lesson to a random position)
- Rough selection (select only n best people for the next population)
@Dougal @izomorphius:
, , .
: fitness = -1000 * numberOfOverlaps - 1000 * numberOfDistrebutedLessons - 20 * numberOfBreaks. ( - , fron )
, , .
, , :