Equivalência de verificação de viabilidade e otimização para sistemas lineares


15

Uma maneira de mostrar que verificar a viabilidade de um sistema linear de desigualdades é tão difícil quanto a programação linear é através da redução dada pelo método elipsóide. Uma maneira ainda mais fácil é adivinhar a solução ideal e apresentá-la como uma restrição via pesquisa binária.

Ambas as reduções são polinomiais, mas não fortemente polinomiais (isto é, elas dependem do número de bits nos coeficientes das desigualdades).

Existe uma redução fortemente polinomial da otimização do LP para a viabilidade do LP?


1
na verdade não. É como você diz. Percebo que a otimização do LP resolve a viabilidade do LP. Estou pedindo a redução oposta.
Suresh Venkat

3
Bem, a saída para otimização pode ter tantos bits quanto "o número de bits nos coeficientes", enquanto a viabilidade é sim / não. Assim, se por redução você quer dizer algo "caixa preta" -ey, então a resposta deve ser negativa.
Noam

1
Mas, se a verificação de viabilidade não der apenas uma resposta sim / não, conforme discutido por Noam acima, mas, no caso de viabilidade, fornecer uma solução viável, a resposta será sim, pela dualidade do LP.
Kristoffer Arnsfelt Hansen

2
@SureshVenkat: Suponha que o primal seja um programa de maximização nas variáveis , com o dual sendo um programa de minimização nas variáveis y . Em seguida, forme o sistema de desigualdades nas variáveis x , y , tomando as restrições tanto do primal quanto do dual, juntamente com uma desigualdade que declara que o valor da solução primal é pelo menos o valor da solução dupla. Os casos em que o LP é inviável e ilimitado também podem ser tratados. xyx,y
Kristoffer Arnsfelt Hansen

1
E os politopos / poliedros definidos por restrições implícitas?
precisa saber é o seguinte

Respostas:


8

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. Axb ; x0

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={Bzd}

A redução agora prossegue da seguinte maneira:

  1. Teste se é viável. Caso contrário, podemos relatar que P é INFEASIBLE.S1={Axb ; x0}
  2. Forme o programa duplo D: .minbTy s.t. ATyc ; y0
  3. Teste se é viável. Caso contrário, podemos relatar que P não está limitado.S2={Axb ; x0 ; ATyc ; y0 ; bTycTx}
  4. 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
  5. Usando a eliminação gaussiana no sistema calcule uma solução ótima x para P.S3x

S2P

@hengxin. Escreve na primeira linha da minha resposta que a resposta é sim, mesmo quando se pensa em reduzir ao problema de decisão. Abaixo, obviamente, faço essa suposição e, portanto, as etapas 4 e 5 são necessárias.
Kristoffer Arnsfelt Hansen
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.