Was ist Zahl-lineare Programmierung?

Probleme der linearen Programmierung der ganzen Zahl entstehen beim Versuchen, lineare Systeme zu lösen während, spezifizierend, dass alle unbekannten Variablen ganze Zahlen sein müssen, oder vollständige Zahlen. Lineare Systeme sind Sätze Gleichungen, die eine Situation beschreiben, für die der Programmierer versucht, eine Lösung zu finden. Sie bestehen normalerweise einer Gleichung, die maximiert werden oder herabgesetzt werden muss und aus einen oder mehreren einschränkengleichung, die Begrenzungen auf unbekannte Variablen setzen. Damit das System, jede Beschränkung muss eine lineare Gleichung sein linear ist; das heißt, muss es keine Fälle der unbekannten Variable mit Exponenten grösser als einer enthalten.

Regelmäßige lineare Systeme können using einen Computer leicht gelöst werden. Das Programm kann eine Lösung kennzeichnen, indem es die Ableitung findet und sie gleich bis null einstellt. Es kann dann überprüfen, dass der Punkt ein Maximum oder ein Minimum ist, indem er seine sofortige Nachbarschaft auf der Funktion überprüft. Solange die Ableitung an jedem Punkt entlang der Funktion definiert, hat der Computer nur eine beschränkte Anzahl mögliche Lösungen, zum zu überprüfen.

Die lineare Programmierung wird lineare Programmierung der ganzen Zahl mit der Einführung der Zahlbeschränkung. Dies heißt, dass das Problem das selbe bleibt, aber die Antwort muss aus Zahlwerten für die unbekannten Werte bestehen: sie müssen vollständige Zahlen sein. Manchmal bedeutet dieses, dass die Lösung verglichen mit dem Fall suboptimales ist, in dem Brüche erlaubt; es ist jedoch von der realen Welt reflektierend, in der Einzelteile häufig in die getrennten, unteilbaren Maßeinheiten kommen. Dieses bildet die lineare Programmierung der ganzen Zahl wichtig für Geschäftsanwendungen, da Unternehmen Profite so viel wie möglich maximieren möchten, aber nicht beschließen können, einen Bruch eines Produktes zu verkaufen.

Sobald die Zahlbeschränkungen in place sind, ist das Problem des Lösens des linearen Systems NP-komplett. Dies heißt, dass die Zeit, die notwendig ist, damit ein Computer um das System zu löst, unbestimmt ist. Mit Zahlbeschränkungen können Computer das Werkzeug der Ableitung nicht benutzen, weil es keine Garantie gibt, dass der nullpunkt der Ableitung auf eine ganze Zahl fällt. Die Lösung ist die ganze Zahl mit dem höchsten oder niedrigsten Wert aus allen ganzen Zahlen heraus, also müssen der Computer sie alle überprüfen - ein Prozess, der eine endlose Zeitmenge nehmen könnte.

Programmierer entwickelt Heuristik oder Methoden des Problemlösens, um die Kompliziertheit dieser Probleme zu beschäftigen. Eine Methode des Lösens von Problemen der linearen Programmierung der ganzen Zahl ist der Verzweigungsalgorithmus, in dem der Computer eine Reihe Probleme löst, die bis das ursprüngliche bezogen, um die vorhandene Strecke der Werte zu einer Lösung unten zu verengen. Für komplizierte Probleme jedoch kann dieses eine lange Zeit nehmen.