Comments 1
Отличная статья, мне импонирует ваш подход.
Как я понял вы заставляете нейросеть искать корреляты среди параметров входного набора переменных и отбрасывать малозначимые переменные для ускорения расчёта решателем. Но как показывает практика решения MILP, такие переменные почти не дробятся и так. Выигрыш получается только на уменьшении симплекс матрицы, и довольно скромный.
Обычно для решения MILP используются решатели вроде Gurobi и Cplex.
Да эти коммерческие решатели очень хороши, но как альтернативу я бы предложил не SCIP, а CBC от COIN-OR. По крайней мере в моих задачах он в разы быстрее и точнее.
Ещё мне очень зашла библиотека scipy.optimize для Python, с методами:
scipy.optimize.linprog
scipy.optimize.milp
Там есть некоторая проблема с точностью, но зато библиотека очень хороша за счёт разреженных матриц на задачах от 10к переменных.
И ещё, мне думается, что для задач распределения лучше подходит не линейное программирование, а Constraint programming. Хотя часто для последнего и используется линейные решатели.
Как мы в 2 раза ускорили решение MILP-проблем за счет ML