Vorrei imparare qualcosa su questo problema di ottimizzazione: per determinati numeri interi non negativi , trova una funzione minimizza l'espressione f
Un esempio che utilizza una diversa formulazione potrebbe renderlo più chiaro: ti viene dato un set di insiemi di vettori come
{
{(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)}
}
Scegli un vettore da ogni set, in modo che il componente massimo della loro somma sia minimo. Ad esempio, puoi scegliere
(1, 0, 2, 0, 0) + (0, 1, 0, 0, 0) + (0, 1, 0, 1, 0) = (1, 1, 2, 1, 0)
con il componente massimo pari a 2, che qui è chiaramente ottimale.
Sono curioso di sapere se si tratta di un problema noto e di quali metodi di soluzione approssimativi specifici per il problema sono disponibili. Dovrebbe essere veloce e facile da programmare (nessun risolutore ILP , ecc.). Non è necessaria una soluzione esatta in quanto è solo un'approssimazione del problema reale.
Vedo che avrei dovuto aggiungere alcuni dettagli sulle istanze del problema a cui sono interessato:
- , ovvero ci sono sempre 64 righe (se scritte come nell'esempio sopra).
- , cioè ci sono solo 2 vettori per riga.
- N dove (la lunghezza del vettore) è compreso tra 10 e 1000.
Inoltre, su ogni riga la somma degli elementi di tutti i vettori è la stessa, ovvero
e la somma degli elementi del vettore somma è inferiore alla sua lunghezza, cioè