Tengo un problema de este tipo:
$$\min_x |Ax|_\infty \text{ s.t. } \sum_i x_i = c$$
Es decir, quiero encontrar el vector $x$ cuyos elementos suman una constante $c$ que minimiza la norma del infinito de $Ax$ .
¿Tiene este problema un nombre concreto? No he podido encontrar una función para hacer algo así en cosas como lpsolve, glpk, etc. ¿Puede alguien sugerir un solucionador de c/c++ para este problema?
6 votos
Minimizar $\lVert Ax\rVert_\infty$ es equivalente a minimizar $y$ sujeto a $-y\le(Ax)_i\le y$ para todos $i$ . Esto lo convierte en un problema de programación lineal en $n+1$ variables.
0 votos
Hay un comando de Mathematica que lo hará por ti. Vea aquí .
0 votos
@AlexBecker Me encontré con eso, pero no lo seguí. En la ecuación 53, ¿qué es 'e'? (Repetido aquí, en esa web pone: Minimizar la norma infinita es similar a minimizar la norma 1. Se trata de encontrar el valor de que minimiza la siguiente. Min ||Ax-b|_ \infty Para ello, se forman nuevas variables y se busca el mínimo. Mín z en función de ze \geq Ax-b, ze \geq -(Ax-b) ) Que en realidad creo que es exactamente lo que Rahul acaba de decir
0 votos
Rahul ¿Por qué n+1 variables? ¿No tiene y la misma dimensión que la x original? ¿Y no es esa restricción de desigualdad que escribiste simplemente igual a y >= Ax? (¿y se supone que es y_i >= (Ax)_i ?)
1 votos
Minimizar $\max |z_i|$ es equivalente a minimizar $y$ tal que $y \geq |z_i|$ que a su vez equivale a $ -y \leq z_i \leq y$ . En este caso tenemos $Ax = z$ . Para responder a sus preguntas, $y$ es un escalar, por lo que también podríamos escribirlo como $-y\mathbf{1} \leq Ax \leq y\mathbf{1}$
0 votos
@DavidDoria No estoy muy seguro de lo que es la 'e'. Pero el proceso que describen es el mismo que el de Rahul.
0 votos
Rahul Narain ¿Hay algún nombre para esto o algún sitio donde pueda leer más sobre por qué funciona?
0 votos
@RossB. Además, no sé las x (que es lo que estoy tratando de minimizar), así que ¿cómo puedo añadir esos como restricciones a un solucionador?
0 votos
Funcionó, ¡gracias a todos! He añadido una respuesta - si alguien quiere reclamarla estaré encantado de marcar la casilla Aceptar :)