Pull to refresh

Comments 1

Отличная статья, мне импонирует ваш подход.

Как я понял вы заставляете нейросеть искать корреляты среди параметров входного набора переменных и отбрасывать малозначимые переменные для ускорения расчёта решателем. Но как показывает практика решения MILP, такие переменные почти не дробятся и так. Выигрыш получается только на уменьшении симплекс матрицы, и довольно скромный.

Обычно для решения MILP используются решатели вроде Gurobi и Cplex.

Да эти коммерческие решатели очень хороши, но как альтернативу я бы предложил не SCIP, а CBC от COIN-OR. По крайней мере в моих задачах он в разы быстрее и точнее.

Ещё мне очень зашла библиотека scipy.optimize для Python, с методами:

scipy.optimize.linprog
scipy.optimize.milp

Там есть некоторая проблема с точностью, но зато библиотека очень хороша за счёт разреженных матриц на задачах от 10к переменных.

И ещё, мне думается, что для задач распределения лучше подходит не линейное программирование, а Constraint programming. Хотя часто для последнего и используется линейные решатели.

Sign up to leave a comment.