Well, the genetic algorithm in its canonical form is one of the most suitable metaheuristics for binary solutions. The default configuration that I would like to try is a genetic algorithm that uses 1 elitism, and which is configured with a choice of a roulette wheel, a single-point crossover (100% crossover) and a bit-flip mutation (for example, a 5% chance of mutation ) I would suggest you try this combination with a modest population size (100-200). If this does not work, I would suggest increasing the population, but also changing the selection scheme to the tournament selection scheme (start by authorizing the binary tournament and increasing the size of the tournament group if you need even more pressure to choose). The reason is that with a higher population size, the suitability proportionality selection scheme may not provide the necessary amount of selection pressure in order to search for the optimal area.
As an alternative, we developed an extended version of GA and called it the “Genetic Sibling Selection Algorithm” . You can also try to solve this problem with a trajectory-based algorithm such as Tabu Search or Simulated Annealing, which simply uses a mutation to move from one solution to another by making small changes.
We have GUI-oriented software ( HeuristicLab ) that allows you to experiment with multiple metaheurists on several issues. Your problem, unfortunately, is not included, but it is licensed by the GPL, and you can implement your own problem there (even through the GUI, there is a way for this).
source share