Bonjour,

Je code un algo mémétique et j'ai besoin d'une fonction de croisement. J'utilise le LOX crossover et j'aimerais de l'aide pour optimiser cette fonction.


LOX : Deux points de croisement sont choisis au hasard dans le premier parent P1. Les clients entre ces deux points sont recopiés dans C1 à la même position et sont supprimés de P2. C1 est ensuite complété par les clients restants de P2 dans le même ordre de gauche à droite.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
QList<int> LOX(const QList<int> & P1, const QList<int> P2) {
    QList<int> C1;
 
    [...]
 
    return C1;
}
J'ai déjà coder une fonction mais elle est trop lente et fait des parcourts inutiles.

Merci.