Me gustaría aprender algo sobre este problema de optimización: para números enteros no negativos dados , encuentre una función minimice la expresión
Un ejemplo que utilice una formulación diferente podría aclararlo: se le da un conjunto de conjuntos de vectores como
{
{(3, 0, 0, 0, 0), (1, 0, 2, 0, 0)},
{(0, 1, 0, 0, 0), (0, 0, 0, 1, 0)},
{(0, 0, 0, 2, 0), (0, 1, 0, 1, 0)}
}
Elija un vector de cada conjunto, de modo que el componente máximo de su suma sea mínimo. Por ejemplo, puedes elegir
(1, 0, 2, 0, 0) + (0, 1, 0, 0, 0) + (0, 1, 0, 1, 0) = (1, 1, 2, 1, 0)
con el componente máximo igual a 2, que es claramente óptimo aquí.
Tengo curiosidad por saber si este es un problema bien conocido y qué métodos de solución aproximada específicos del problema están disponibles. Debe ser rápido y fácil de programar (sin solucionador de ILP , etc.). No se necesita una solución exacta ya que es solo una aproximación del problema real.
Veo que debería haber agregado algunos detalles sobre las instancias del problema que me interesan:
- , es decir, siempre hay 64 filas (cuando se escribe como en el ejemplo anterior).
- , es decir, solo hay 2 vectores por fila.
- donde (la longitud del vector) está entre 10 y 1000.
Además, en cada fila la suma de los elementos de todos los vectores es la misma, es decir,
y la suma de los elementos del vector suma es menor que su longitud, es decir,