Bonjour,
Question bête: est-ce que toutes les variables ont le même nombre d'éléments et que ce nombre d'éléments correspond aux nombre de variables ?
Bonjour,
Question bête: est-ce que toutes les variables ont le même nombre d'éléments et que ce nombre d'éléments correspond aux nombre de variables ?
Bonjour et non et non.
Pire : le choix de certaines valeurs peut engendrer de nouvelles variables (nouveaux enfants dans le dataflow).
J'ai testé une variante, et ça marche beaucoup mieux :
j'avais parlé d'une solution.
Voici ce que j'ai fait :
- on a N ensembles , disons N=1000 pour reprendre les mêmes valeurs.
- Chaque ensemble est trié.
- On prend la combinaison la plus basse : le premier élément de chaque ensemble. Et on teste cette combinaison.
- Et surtout , on met dans une file d'attente tous les voisins immédiats de la solution testée , et on teste tous les voisins en question.
Si un des voisins immédiats convient on a une solution (pas forcément optimale), et on peut donc retirer de notre file d'attente toutes les solutions avec un 'cumul des valeurs' supérieur à ce seuil.
- Et on boucle :
- tri du tableau contenant toutes les combinaisons en file d'attente
- dédoublonnement de ce tableau
- analyse de toutes les lignes de ce tableau (toutes les lignes non déjà testées), en s'arrêtant à la première ligne renvoyant Vrai.
- Si la première ligne renvoie Vrai, on a trouvé la solution optimale.
- ajout dans la file d'attente de la liste des voisins immédiats de cette première ligne.
En faisant des tests avec une fonction d'évaluation "aléatoire" qui renvoie Vrai environ 1 fois sur 5000, ça diminue très nettement les temps de traitement. On a une file d'attente qui dépasse rarement 100000 lignes.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager