Chciałbym dowiedzieć się czegoś o tym problemie optymalizacji: dla podanych nieujemnych liczb całkowitych znajdź funkcję minimalizującą wyrażenie f
Przykład użycia innej formuły może być jaśniejszy: Otrzymałeś zestaw zestawów wektorów takich jak
{
{(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)}
}
Wybierz jeden wektor z każdego zestawu, aby maksymalny składnik ich sumy był minimalny. Na przykład możesz wybrać
(1, 0, 2, 0, 0) + (0, 1, 0, 0, 0) + (0, 1, 0, 1, 0) = (1, 1, 2, 1, 0)
z maksymalną składową równą 2, co jest tutaj wyraźnie optymalne.
Jestem ciekawy, czy jest to dobrze znany problem i jakie są dostępne przybliżone metody rozwiązania problemu. Powinien być szybki i łatwy do zaprogramowania (bez solvera ILP itp.). Nie jest potrzebne dokładne rozwiązanie, ponieważ jest to jedynie przybliżenie prawdziwego problemu.
Widzę, że powinienem dodać kilka szczegółów na temat problemów, którymi jestem zainteresowany:
- , tzn. zawsze są 64 wiersze (przy zapisie jak w powyższym przykładzie).
- , tzn. są tylko 2 wektory na wiersz.
- N gdzie (długość wektora) wynosi od 10 do 1000.
Ponadto w każdym wierszu suma elementów wszystkich wektorów jest taka sama, tj.
a suma elementów wektora sumy jest mniejsza niż jego długość, tj.