0-1 Programação linear: computando a formulação ideal

14

Considere o espaço dimensional e deixe ser uma restrição linear no formato , em que , e .{ 0 , 1 } n c a 1 x 1 + a 2 x 2 + a 3 x 3 + . . . + a n - 1 x n - 1 + a n x nk a iR x i{ 0 , 1 } k Rn{0,1}nca1x1+a2x2+a3x3+ ... +an1xn1+anxnkaiRxi{0,1}kR

Claramente, tem o efeito de dividir em dois subconjuntos S_c e S _ {\ lnot c} . S_c contém todos e apenas os pontos que satisfazem c , enquanto S _ {\ lnot c} contém todos e apenas os pontos que falsificam c .{ 0 , 1 } n S c S ¬ c S c c S ¬ c cc{0,1}nScS¬cSccS¬cc

Suponha que |Sc|n . Agora, seja O um subconjunto de Sc modo que todas as três instruções a seguir sejam válidas :

  1. O contém exatamente n pontos.
  2. Tais n pontos são linearmente independentes.
  3. Tais n pontos são aqueles à distância mínima do hiperplano representado por c . Mais precisamente, seja d(x,c) a distância de um ponto x{0,1}n do hiperplano c . Então, BSc modo que B satisfaça 1 e 2, é o caso xBd(x,c)xOd(x,c) . Em outras palavras, O é, dentre todos os subconjuntos de Sc atendem às condições 1 e 2, aquele que minimiza a soma das distâncias de seus pontos do hiperplano c .

Questões

  1. Dado c , é possível calcular O eficiência?
  2. Qual é o algoritmo mais conhecido para computá-lo?

 

Exemplo com n=3

Exemplo com n = 3

S¬c={(1,0,1)} , O={(0,0,1),(1,1,1),(1,0,0)} .

 

Atualização 05/12/2012

Motivação

A motivação é que o uso de O deverá ser possível para determinar o óptimo de restrição c , como deve ser o hiperplana definido pelos n pontos em O .

A restrição ideal c é aquela que leva ao polítopo ótimo P .

O polítopo ideal é aquele cujos vértices são todos e apenas os vértices inteiros do polítopo inicial (um vértice inteiro é um vértice cujas coordenadas são todas inteiras). PPP

Formulação ideal

O processo pode ser iterado para cada restrição de uma instância 0-1 , substituindo sempre com sua restrição ideal correspondente . No final, isto levará à óptima poliepítopo de . Então, como os vértices de são todos e somente os vértices inteiros do polítopo inicial de , qualquer algoritmo para pode ser usado para calcular a solução inteira ideal. Eu sei que ser capaz de calcular eficiência implicaria , no entanto, a seguinte pergunta adicional ainda permanece:L P I c c P I P P I L P P P = N PcLPIccPIPPILPPP=NP

Pergunta adicional

Existe algum trabalho anterior nesse sentido? Alguém já investigou a tarefa da computação, dado um polítopo , seu correspondente polítopo ótimo ? Qual é o algoritmo mais conhecido para fazer isso?P PP

Giorgio Camerani
fonte
Isso parece ser NP-difícil de fazer exatamente, pela redução da soma do subconjunto. Dados inteiros binários , para testar se existe um subconjunto somando , podemos testar se há um ponto no hiperplano . Você está interessado em aproximações? s v 1 x 1 + + v 1 x n = sv1,,vnsv1x1++v1xn=s
Colin McQuillan
@ColinMcQuillan: A pergunta foi feita para uma solução exata, no entanto, certamente estou interessado também em aproximações. Por que você não transforma seu comentário em resposta?
Giorgio Camerani 04/12/12
@ColinMcQuillan: Além disso, seu hiperplano é definido usando uma igualdade, enquanto o meu é definido usando uma desigualdade. Tem certeza de que isso não faz diferença em termos de dureza? Ainda não chequei, então só estou perguntando.
Giorgio Camerani
Estou um pouco confuso sobre todas as restrições . Se você está procurando informações sobre o casco convexo de , há muitos resultados na literatura de pesquisa de operações sobre o polítopo da mochila 0-1. Em termos de formulações aproximadas, veja isso . S cOSc
Austin Buchanan

Respostas:

6

Parece ser NP-difícil de fazer exatamente, pela redução da soma do subconjunto. Suponhamos que temos um procedimento eficiente para computação . Dados inteiros positivos codificados em binário, desejamos testar se existe um subconjunto somando . Pré-processe jogando fora números inteiros maiores que .v 1 , , v n s sOv1,,vnss

Chame o procedimento para obter um pequeno conjunto de pontos que satisfaçam , satisfazendo suas condições de minimalidade (o pré-processamento garante ). Esse conjunto certamente conterá um ponto no hiperplano se houver um.v 1 x 1 + + v 1 x ns | S c | n v 1 x 1 + + v 1 x n = sOv1x1++v1xns|Sc|nv1x1++v1xn=s

Colin McQuillan
fonte
Talvez eu esteja ignorando algo macroscópico aqui, mas tenho 2 perguntas: 1) Quando você diz "Dados inteiros binários ", o que você quer dizer com binário ? pertence a . Talvez você queira dizer codificado em binário? Ou talvez você quisesse dizer positivo? 2) Por que jogar fora todos os números inteiros maiores que ? Eles podem contribuir para a solução. Por exemplo: se você jogar fora v 2, perderá a única solução { v 2 , v 3 } . v1,...,vnRsv1=3,v2=7,v3=5,s=2v2{v2,v3}
Giorgio Camerani
2
Penso que o que Colin quer dizer é que, se os coeficientes de restrição são números racionais, em sua representação binária usual, então seu problema parece difícil para o NP. (Misturar números reais e NP-difícil é sempre complicado.)ai
Jeffε
1
@GiorgioCamerani: Eu precisava dizer positivo - atualizei minha resposta.
Colin McQuillan
1

Parece-me que você está tentando chegar ao casco convexo do IP - em essência, é isso que os algoritmos de corte tentam alcançar. Embora existam apelações apelativas, esses métodos se dão mal na prática.

Existe toda a teoria sobre a geração de desigualdades válidas. Um bom ponto de partida seria a teoria dos livros de shrijver da programação inteira.

AJ Student
fonte