Primeiro, isso pode ser resolvido por programação linear. Deixeix1, x2, …, xnsejam suas variáveis. O programa linear que resolve sua pergunta é então
maxt
sujeito a
t≤xi, para i=1...n,
Ax=0.
Se o máximo for 0, não haverá solução positiva. Se o máximo é∞(ou seja, o programa linear é ilimitado ), existe uma solução positiva.
Segundo, usando transformações padrão em programas lineares, o problema de viabilidade de um programa linear arbitrário com desigualdades estritas pode ser reduzido ao seu problema. Começamos com o problema de viabilidade
Existe x de tal modo que
Ax<b ?
Agora podemos adicionar uma nova variável xn+1 no lado direito de todas essas equações e uma desigualdade xn+1>0para tornar tudo homogêneo. Então, para okth equação, agora temos
ak,1x1+…+ak,nxn−bkxn+1<0.
Isso gera um problema equivalente em uma nova matriz A′:
Existe x de tal modo que
A′x<0 ?
Em seguida, podemos transformar as desigualdades em equações adicionando algumas variáveis yi e exigindo que yi>0. okA equação do novo problema se transforma em
a′k,1x1+…+a′k,nxn+a′k,n+1xn+1+yk=0.
Finalmente, queremos permitir que todas as variáveis sejam positivas. Como fazemos isso? Para cada variávelxi com um sinal arbitrário, substituímos xi de zi−wie exigem zi>0, wi>0.
O problema de viabilidade é essencialmente tão difícil quanto um problema de programação linear arbitrário; portanto, em geral, não haverá maneira mais fácil de resolver seu problema do que usar a programação linear.