Suponer
donde es una matriz simétrica n × n , y v e c ( U ) reestructura U en un vector unidimensional con n 2 entradas.
La parte del programa anterior que me da problemas es el . (Restringir las soluciones a matrices simétricas no negativas parece ser sencillo).
Gracias de antemano por cualquier ayuda o referencias!
Respuestas:
Editar: Intentemos esta explicación nuevamente, esta vez cuando esté más despierto.
Hay tres grandes problemas con la formulación (en orden de gravedad):
No es evidente una reformulación suave / convexa / lineal
En primer lugar, no hay una reformulación estándar y obvia de cada restricción . La sugerencia de Aron se aplica a la restricción mínima más común , en la que una restricción como U i j ≤ min k { U i k , U k j } se reemplaza por las siguientes dos desigualdades equivalentes: U i j ≤ U i k ,max min
No suavidad
La no suavidad es un gran problema porque:
Posible no convexidad
Estas funciones son cóncavas.
Opciones para resolver el problema.
Pruebe su suerte en su formulación tal como está con un solucionador de paquetes para programas no suaves. No tengo mucha experiencia con este tipo de solucionadores. (Un colega mío los usa en su investigación.) Probablemente sean lentos, ya que no pueden usar información derivada. (Creo que en su lugar utilizan la información de gradiente generalizada de gradiente o Clarke). También es poco probable que pueda resolver grandes instancias de problemas con un solucionador de paquetes.
fuente
fuente
fuente
fuente
No puedo encontrar el botón de comentarios ...
Si se trata de un conjunto convexo, puede realizar un descenso de gradiente en su función objetivo, utilizando algo como el algoritmo de proyección de Dykstra para proyectar nuevamente en el espacio de restricciones.
fuente
fuente