Quero resolver a tarefa de otimização (convexa):
sujeito às duas restrições a seguir \ | z \ | \ leq 1 r \ geq0
‖ z ‖ ≤ 1 r ≥ 0
é um escalar, é um vetor, os são vetores da mesma dimensão e é o eucl simples. norma. Pode-se supor que a região viável não esteja vazia.
Existe uma maneira fácil de resolver isso? Eu acho que isso deve ser fácil, porque sem a restrição , este é apenas um programa linear. Antes de consultar meus pacotes de software, você pode dar uma dica sobre a abordagem geral que é útil para esse tipo de tarefa?
Graças DG
Como vemos na resposta de Geoffs, esse é um problema quadraticamente restrito muito simples, ou mais geralmente um programa de cone de segunda ordem. Se você não possui requisitos extremos de desempenho ou dimensões enormes, resolvê-lo usando um solucionador não-linear padrão na forma quadrática ou usando um solucionador SOCP na formulação de normas funcionará perfeitamente bem.″ z ″ ≤ 1zTz≤ 1 ∥ z∥ ≤ 1
Se você precisar melhorar o desempenho, existem métodos para explorar o recurso de cone único. Aqui está um exemplo
Gostaria de salientar que a substituição da norma por uma norma 1 provavelmente não funcionará bem. A norma quadrática tem sua origem no fundo geométrico desse problema (que eu interpreto como encontrar um vetor que tenha o menor ângulo para um determinado conjunto de vetores).
Curiosamente, uma aproximação de QP do problema parece funcionar extremamente bem. Remova a restrição quadrática e adicione uma penalidade ao objetivo. Eu não ficaria surpreso se for possível provar algo sobre isso.α zTz
No código abaixo, implementado usando o YALMIP (Disclaimer, desenvolvido por mim) no MATLAB, usando o CPLEX como solucionador, a distância média do verdadeiro e calculado usando as heurísticas do QP é da ordem de , enquanto a distância para a solução da formulação LP (1 norma) está na ordem .z 10 - 6 10 - 1z z 10- 6 10- 1
Por fim, o uso de insight geométrico pode levar a uma abordagem muito melhor para resolver esse problema. Você está procurando essencialmente um centro particularmente definido de um conjunto de pontos na esfera unitária.
fonte