Problema de otimização
Problema de otimização, em matemática ou ciência da computação, é um problema de encontrar a melhor solução de todas as soluções viáveis. O problema de otimização pode ser dividido em duas categorias dependendo se as variáveis são continuas ou discretas. Um problema de otimização com variáveis discretas é conhecido como um problema de otimização combinatória. Em um problema de otimização combinatória, procuramos por um objeto como um inteiro, uma permutação ou grafo de um conjunto finito (ou possivelmente enumerável). Problema da otimização contínuaA forma padrão de um problema de otimização contínuo é: Minimiza X f(x) Sujeito a:
onde
Pela convenção, a forma padrão define um problema de minimização. Um problema de maximização pode ser tratado pela negação da função objetiva. Problema de otimização combinatóriaFormalmente, um problema de otimização combinatória A é um quádruplo (I, f, m, g), onde
O objetivo é então encontrar, por alguma instancia x , uma solução ideal, que é, y uma solução viável com m(x,y) = g{m(x,y’) | y’ e f(x)}. Para cada problema de otimização combinatória, existe um problema de decisão correspondente que pergunta se existe uma solução viável por alguma medida particular m0. Por exemplo, se existe um grafo G que contem vértices u e v, um problema de otimização pode “encontrar um caminho de u para v que usa os menores caminhos”. Este problema pode ter uma pergunta de, digamos, 4. Um problema de decisão correspondente poderia ser “Existe um caminho de u para v que use 10 ou menos?” Este problema pode ser respondido com um “sim” ou um “não”. Em um campo de algoritmos de aproximação, algoritmos são projetados para encontrar soluções quase ótimas para problemas difíceis. A versão normal de decisão é então uma definição inadequada dos problemas uma vez que só especifica soluções aceitáveis. Mesmo que pudéssemos apresentar problemas de decisão adequados, o problema é mais naturalmente caracterizado como um problema de otimização. Problema de otimização NPUm problema de otimização NP (NPO) é um problema de otimização combinatória com as seguintes condições adicionais. Note que os polinômios referidos abaixo são funções do tamanho de entradas de respectivas funções, não o tamanho de algum conjunto implícito de instancias de entradas.
Isto implica que o problema de decisão correspondente é em NP. Em ciências da computação, problemas de otimização interessantes normalmente tem as propriedades acima referidas e são, portanto, problemas NPO. Um problema é adicionalmente chamado de problema otimização-P (PO), se existe um algoritmo que encontra soluções ideais em tempo polinomial. Muitas vezes quando se lida com a classe NPO, um está interessado em problemas de otimização para que as versões decisivas sejam NP-dificil. Note-se que as relações de dificuldade são sempre em relação a uma redução. Devido à conexão entre algoritmos de aproximação e problemas de otimização computacional, reduções que preservam a aproximação em alguma circunstancia são assuntos preferidos do que o usual Turing e as reduções de Karp. Um exemplo para tal redução poderia ser a redução de L. Por esta razão, problemas de otimização com versões decisivas de NP-completo não são necessariamente chamadas NPO-completo. NPO é dividido entre as subclasses seguidas segundo sua aproximação:
Outra classe de interesse é NPOPB, NPO com funções de custo polinomial limitadas. Problemas com esta condição tem muitas propriedades desejáveis. Referencias
|