Erstens kann dies durch lineare Programmierung gelöst werden. Lassenx1, x2, …, xnseien Sie Ihre Variablen. Das lineare Programm, das Ihre Frage löst, ist dann
maxt
unterliegt , für , .
t≤xii=1...n
Ax=0
Wenn das Maximum 0 ist, gibt es keine positive Lösung. Wenn das Maximum (dh das lineare Programm ist unbegrenzt ), gibt es eine positive Lösung.∞
Zweitens kann mithilfe von Standardtransformationen für lineare Programme das Machbarkeitsproblem für ein beliebiges lineares Programm mit strengen Ungleichungen auf Ihr Problem reduziert werden. Wir beginnen mit dem Machbarkeitsproblem
Existiert so, dass ?x
Ax<b
Wir können jetzt eine neue Variable auf der rechten Seite all dieser Gleichungen und eine Ungleichung hinzufügen , um alles homogen zu machen. Für die te Gleichung haben wir jetztxn+1xn+1>0k
ak,1x1+…+ak,nxn−bkxn+1<0 .
Dies ergibt ein äquivalentes Problem für eine neue Matrix :A′
Existiert so, dass ?x
A′x<0
Als nächstes können wir die Ungleichungen in Gleichungen indem wir einige Variablen hinzufügen und verlangen . Die te Gleichung für das neue Problem wird zuyiyi>0k
a′k,1x1+…+a′k,nxn+a′k,n+1xn+1+yk=0 .
Schließlich möchten wir zulassen, dass alle Variablen positiv sind. Wie machen wir das? Für jede Variable mit einem beliebigen Vorzeichen ersetzen wir durch und benötigen , .xixizi−wizi>0wi>0
Das Machbarkeitsproblem ist im Wesentlichen so schwierig wie ein beliebiges lineares Programmierproblem. Daher gibt es im Allgemeinen keinen einfacheren Weg, Ihr Problem zu lösen, als die lineare Programmierung.