Bonsoir.
Il s'agit pour l'instant de construire un algorithme autre qu'en force brute.
Exposé du contexte:
Il s'agit d'un broker qui a un hangar de pièce d'avions. Il a disons 100.000 pièces classées en 8.000 références différentes (donc il a plusieurs exemplaires de certaines). Il a aussi 1.000 plans d'avions différents.
Dans ces plans, certains ont des pièces communes entre eux certains ont quelques pièces spécifiques.
Problème :
Pour vider son hangar, notre broker souhaite établir toutes les listes différentes d'avions qu'il peut construire. Ensuite, il choisira en fonction d'autres paramètres ce qu'il fera de son hangar. Par exemple, il pourra chercher la liste permettant le plus d'avions (pour satisfaire le plus de client), la liste permettant le maximum de bénéfices (en associant les prix des avions) ou bien en s'obligeant à certains appareils pour satisfaire certains client et maximiser son profit ou d'autres...
Comment faire et optimiser les parcours?
Pour réduire le problème, j'ai chercher comment trouver ce qu'on ne peut pas faire. Donc, il faudrait parcourir les 1.000 plans et vérifier que chaque pièces est disponible ou extraire des 1000 plans ceux qui sont complets. Déjà, là ça coince je ne sait pas le faire "élégamment", c'est à dire sans créer de monstrueux tableaux de nombre...
Ensuite, en supposant qu'il ne reste que ce que l'on peut faire, comment sortir toutes les listes en supposant qu'on a fait tel ou tel appareil. De plus, on est pas à l'abri d'obtenir des permutations dans les listes. Si je dit je fais le modèle Y et je vois ce qu'il reste, tiens le X. Mais je fais le X, et je vois ce qu'il reste tiens le Y... Même liste mais obtenu autrement...
J'avais penser à une sorte de récursivité comme pour le calcul des factoriels mais ça revient à tout passer en revue...
Du coup, est-ce que quelqu'un peut m'indiquer un modus operandus pour savoir comment partir...
Évidemment, la question n'a pas de sens avec 100 pièces, 5 références et 2 plans...
Merci d'avoir lu et si vous pouvez m'aider.
@+
Ps: j'aimerais autant ne pas avoir à implémenter des réseaux neuronaux ou autre usine à gaz...
Partager