Quelqu'un a-t-il des exemples de vie réels où ils résolvent régulièrement NP compléter ou NP problèmes de difficultés (par heuristique ou une solution sous-optimale ou autre) dans leur travail? Je sais qu'ils se produisent dans la planification, la planification, la conception de VLSI, etc., mais j'essaie d'avoir une idée des principales industries employant des programmeurs ou des ingénieurs aujourd'hui qui le font régulièrement. Si l'on développait une expertise ou une bibliothèque, par exemple, Optimisation combinatoire où pourrait-on utiliser cela dans le cadre d'un emploi de programmation?
Des comptes personnels?
Certaines des choses que je peux penser (la plupart d'entre elles ont été impliquées dans plus ou moins):
Il existe de nombreux exemples standard tels que la recherche de la route la plus courte, la planification des infirmières, etc., mais si vous êtes en optimisation combinatoire, vous savez tout à propos de ceux :)
J'ai utilisé le temps contraint du recuit simulé pour résoudre un salemier itinérant comme un problème dans la fabrication du panneau tactile. Chaque milliseconde que nous pourrions raser de la durée du cycle de la gravure au laser de chaque panneau augmenterait le débit, l'utilisation et ainsi la rentabilité de la machine, donc je mets beaucoup d'efforts pour minimiser le temps mort (pistes non raccords) entre les chemins de griffonnage (qui évidemment ne pouvait pas être optimisé).
J'ai utilisé un algorithme délimité par le temps pour contourner le NP Durée du problème, car nous ne pouvions pas nous permettre le risque que le calcul d'optimisation puisse prendre plus de temps que le temps enregistré par le chemin le plus optimal. Tandis que la machine déplaçait le panneau de la position de chargement vers la position où la tête laser était au-dessus du coin le plus proche, j'ai eu le temps de lancer des simulations. L'algorithme n'a presque jamais couru à l'achèvement dans quelques centaines de millisecondes du mouvement, mais presque Toujours renvoyé un meilleur chemin de scribe que n'importe lequel des modèles simples et non adaptatifs que nous avions toujours utilisés auparavant (comme une spirale ou des chemins de serpent).
Je travaille (en ce moment, en réalité) sur le problème de la bioinformatique de plusieurs alignements de séquence d'ADN locale. Le point de ceci est que si beaucoup de séquences de gènes avec une même propriété commune (profil d'expression similaire ou la même liaison de facteur de transcription dans une expérience à puce de puce) alignent fortement à un moment donné, vous avez probablement trouvé la raison de leur commun. biens. Là encore, je suis plus intéressé par les aspects statistiques du problème. Même si c'est NP-Hard, vous ne perdez pas grand chose en utilisant des heuristiques dans la pratique. La partie intéressante du problème, IMHO, est un problème de ratio de bruit.
Je ne sais pas vraiment, qu'est-ce que NP complet/dur signifie, mais je pense, approvisionnement AutoPlanning est une sorte de ça.
Vous avez une demande de demande 90 jours en avant pour 100 produits SKUS: la bière! Le SKU de 100 produits vient de:
Il y a des "lignes" de machine pour chaque opération: de brasser à l'emballage. Les machines peuvent effectuer plus d'opérations, disent que certaines machines à emballage peuvent effectuer 6 paquets et 3 pack, mais d'autres ne peuvent faire que 6 paquets. Il y a des contraintes, par exemple La vitesse ou la grande bouilloire brassée est pour brasser min. 6000, max, 8000 L de bière (mais si le type de bière est léger, alors le min. Est de 5000 l et le max. Est de 7 000 l). Et ainsi de suite, à tous les niveaux.
La tâche: comme je l'ai mentionnée, il y a un plan de demande, pour les 100 types de niveau 5 (la bouteille, des trucs emballés). Faire un plan de fabrication optimal pour tous les niveaux, toutes les machines. Minimiser les commutateurs de la machine (par exemple, la mise en bouteille .5, 0,5, .5, .3, .3, .3 est meilleur que .3, 0,3, 0,3, .5, .5, .5, .5,. moins de temps mort pour les machines d'embouteillage). Prix par le client: Certains clients nécessitent d'expédier la bière qu'avec plus de 50% du temps d'expiration restent. Etc.
Découvrez des goulots d'étranglement (EH), effectuez des plans alternatifs avec Ajout des machines non existantes à ces points, puis le meilleur scénario virtuel peut être utilisé pour suggérer d'acheter un nouvelles machines.
Est-ce assez difficile, ou devrais-je vous dire comment une usine textile fonctionne?
(Remarque personnelle: Le Web, la banque et la logistique sont des domaines difficiles, mais ils sont des jouets pour bébés comparés à la fabrication de problèmes.)
Disclaimer: les chiffres sont déformés pour une raison de sécurité, l'ordre de grandeur est réel.