Hat jemand Beispiele aus der Praxis, bei denen er regelmäßig NP-vollständige oder NP-schwierige Probleme (durch Heuristik oder Jagd nach einer suboptimalen Lösung oder was auch immer) in seinem Job löst? Ich weiß, dass sie beim Planen, Planen, VLSI-Design usw. auftreten, aber ich versuche, mir einen Eindruck von den wichtigsten Branchen zu verschaffen, in denen heute Programmierer oder Ingenieure beschäftigt sind, die dies regelmäßig tun. Wenn man zum Beispiel Fachwissen oder eine Bibliothek entwickeln würde, wo könnte man dies als Teil eines Programmierjobs verwenden, um eine kombinatorische Optimierung durchzuführen?
Irgendwelche persönlichen Accounts?
algorithms
optimization
grosse Bandbreite
quelle
quelle
Antworten:
Einige der Dinge, an die ich denken kann (die meisten davon habe ich mehr oder weniger mitgemacht):
Es gibt viele Standardbeispiele wie die Suche nach der kürzesten Route, die Planung von Krankenschwestern usw. Aber wenn Sie sich für die kombinatorische Optimierung interessieren, wissen Sie alles darüber :)
quelle
Ich habe ein zeitlich begrenztes simuliertes Tempern verwendet, um ein Problem zu lösen, das einem reisenden Verkäufer bei der Herstellung von Touchpanels ähnelt. Jede Millisekunde, die wir von der Zykluszeit des Laserätzens jedes Panels an einsparen könnten, würde den Durchsatz, die Auslastung und damit die Rentabilität der Maschine erhöhen. Deshalb habe ich viel Mühe darauf verwendet, die Totzeit (nicht schreibende Pfade) zwischen schreibenden Pfaden (welche) zu minimieren offensichtlich nicht wegoptimierbar).
Ich habe einen zeitlich begrenzten Algorithmus verwendet, um die NP-Härte des Problems zu umgehen, da wir uns das Risiko nicht leisten konnten, dass die Optimierungsberechnung länger dauert als die Zeit, die durch den optimaleren Pfad eingespart wird. Während die Maschine das Panel von der Ladeposition in die Position bewegte, in der sich der Laserkopf über der nächsten Ecke befand, hatte ich die Zeit, einige Simulationen durchzuführen. Der Algorithmus lief fast nie innerhalb von ein paar hundert Millisekunden ab, lieferte jedoch fast immer einen besseren Schreibpfad als jedes der einfachen, nicht adaptiven Modelle, die wir zuvor verwendet hatten (z. B. Spiral- oder Schlangenpfade).
quelle
Ich arbeite (gerade) an dem bioinformatischen Problem der Ausrichtung mehrerer lokaler DNA-Sequenzen. Der Punkt dabei ist, dass, wenn viele Sequenzen von Genen mit einer gemeinsamen Eigenschaft (ähnliches Expressionsprofil oder gleiche Transkriptionsfaktorbindung in einem ChIP-Chip-Experiment) an einem bestimmten Punkt stark übereinstimmen, Sie wahrscheinlich den Grund für ihre Gemeinsamkeit gefunden haben Eigentum. Andererseits interessieren mich eher die statistischen Aspekte des Problems. Obwohl es NP-schwer ist, verlieren Sie nicht viel, wenn Sie Heuristiken in der Praxis anwenden. Der interessante Teil des Problems, IMHO, ist das Problem des Signal-Rausch-Verhältnisses.
quelle
Ich weiß nicht genau, was NP complete / hard bedeutet, aber ich denke, Supply Autoplanning ist so etwas.
Sie haben einen Bedarfsplan von 90 Tagen für 100 Produkt-SKUs: Bier! Die 100-Produkt-SKU stammt von:
Es gibt Maschinenlinien für jeden Vorgang: vom Brauen bis zur Verpackung. Die Maschinen können mehr Operationen ausführen, beispielsweise können einige Verpackungsmaschinen 6er- und 3er-Packungen herstellen, andere dagegen nur 6er-Packungen. Es gibt Einschränkungen, z. B. Geschwindigkeit, oder der große Brühkessel ist für das Brühen von min. 6000, max. 8000 l Bier (aber wenn die Biersorte leicht ist, dann sind die min. 5000 l und die max. 7000 l). Und so weiter, auf jeder Ebene.
Die Aufgabe: Wie ich bereits erwähnt habe, gibt es einen Nachfrageplan für die 100 Arten von Level-5 (abgefülltes, verpacktes Zeug). Erstellen Sie einen optimalen Fertigungsplan für alle 5 Ebenen, alle Maschinen. Maschinenschalter minimieren (z. B. Abfüllen von .5, .5, .5, .3, .3 ist besser als .3, .5, .3, .5, .3, .5, .5, es gibt weniger swithc, weniger Totzeit für Abfüllmaschinen). Priorisierung durch den Kunden: Einige Kunden müssen das Bier nur versenden, wenn mehr als 50% der Verfallszeit verbleiben. Usw.
Entdecken Sie Engpässe (eh), machen Sie alternative Pläne, indem Sie nicht vorhandene Maschinen zu diesen Punkten hinzufügen. Dann kann das beste virtuelle Szenario verwendet werden, um den Kauf einer neuen Maschine vorzuschlagen.
Ist es schwer genug, oder soll ich dir sagen, wie eine Textilfabrik funktioniert?
(Persönliche Bemerkung: Das Internet, die Bank und die Logistik sind herausfordernde Bereiche, aber sie sind Babyspielzeug im Vergleich zu Herstellungsproblemen.)
Haftungsausschluss: Zahlen sind aus Sicherheitsgründen verzerrt, Größenordnung ist real.
quelle