Algoritmos genéticos: ¿Cómo hacer un crossover en problemas de "subconjunto"?

Tengo un problema que estoy tratando de resolver con algoritmos genéticos. El problema es seleccionar algún subconjunto (digamos 4) de 100 enteros (estos enteros son solo identificadores que representan algo más). El orden no importa, la solución al problema es un CONJUNTO de enteros, no una lista ordenada. Tengo una buena función de acondicionamiento físico, pero tengo problemas con la función de cruce.

Quiero poder aparear los siguientes dos cromosomas:

[1 2 3 4] y [3 4 5 6] en algo útil. Claramente, no puedo usar la típica función de cruce porque podría terminar con duplicados en mis hijos que representarían soluciones no válidas. ¿Cuál es el mejor método cruzado en este caso?

Respuestas a la pregunta(5)

Su respuesta a la pregunta