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 existe una reformulación obvia del problema que sea obviamente suave, convexa o lineal.
- No es suave.
- No es necesariamente convexo.
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 ,maxmin
Uij≤mink{Uik,Ukj}
U i j ≤ U k j ,Uij≤Uik,∀k
La reformulación no es ideal, cadarestricción
mínima ha sido reemplazada por
2 n restricciones lineales, pero convierte un programa no lineal no uniforme en un programa lineal, que es de orden de magnitud más rápido de resolver.
Uij≤Ukj,∀k.
min2n
maxmaxn2max2n
max
No suavidad
max
La no suavidad es un gran problema porque:
- inmediatamente hace que su problema no sea lineal
- la mayoría de los solucionadores de programación no lineales asumen dos veces funciones continuamente diferenciables
max
Posible no convexidad
g(x)≤0
Uij−maxk{Uik,Ukj}≤0,∀i,j,k.
Estas funciones son cóncavas.
−Uijmaxk{Uik,Ukj}
g
Opciones para resolver el problema.
Uij≤maxk{Uik,Ukj},∀i,j,k
Uij≤mink{Uik,Ukj},∀i,j,k,
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.