Есть матрица

, элементы которой - дробные числа из интервала

. Нужно из каждого столбца выбрать по одному элементу так, чтобы дробная часть их суммы оказалась максимальной.
Например,для матрицы
![\[
\left( \begin{array}{cccc}
0.3 & 0.4 & 0.1 & 0.5 \\
0.2 & 0.7 & 0.2 & 0.8 \\
0.1 & 0.6 & 0.3 & 0.2 \end{array} \right)
\] \[
\left( \begin{array}{cccc}
0.3 & 0.4 & 0.1 & 0.5 \\
0.2 & 0.7 & 0.2 & 0.8 \\
0.1 & 0.6 & 0.3 & 0.2 \end{array} \right)
\]](https://dxdy-04.korotkov.co.uk/f/7/6/e/76eeb7c30bac9a25d281416c8fd74da682.png)
одним из решений будет

, так как дробная часть суммы этих элементов равна

.
Очевидное решение - полный перебор, потребует времени

, что неприемлемо много. Имеются ли какие-нибудь более эффективные алгоритмы?