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 ?
Cordialement.
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.
N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.
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