A resposta é sim e, de fato, pode-se reduzir ao problema de decisão da viabilidade das desigualdades lineares!
Como entrada, recebemos uma instância de LP P:
.maxcTx s.t. Ax≤b ; x≥0
Além disso, temos acesso a um oráculo que, dado um sistema de desigualdades, retorna sim / não, se o sistema é viável.S={Bz≤d}
A redução agora prossegue da seguinte maneira:
- Teste se é viável. Caso contrário, podemos relatar que P é INFEASIBLE.S1={Ax≤b ; x≥0}
- Forme o programa duplo D: .minbTy s.t. ATy≥c ; y≥0
- Teste se é viável. Caso contrário, podemos relatar que P não está limitado.S2={Ax≤b ; x≥0 ; ATy≥c ; y≥0 ; bTy≤cTx}
- Iterar as desigualdades de e tentar adicioná-los um-por-um como igualdades (isto é adicionar a desigualdade inversa) para o sistema S 2 . Se o sistema permanecer viável, mantemos a restrição em S 2 e a removemos novamente. Seja S 3 o sistema de restrições (igualdades lineares) que é adicionado dessa maneira. O sistema S 3 agora determinará completamente uma solução básica ideal para P.S1S2S2S3S3
- Usando a eliminação gaussiana no sistema calcule uma solução ótima x para P.S3x