Я решаю большой экземпляр целочисленного программирования, используя 64-разрядную версию Gurobi 7.0 на компьютере с 16 ГБ ОЗУ. Иногда я получаю из-за ошибки памяти без возможного решения, иногда Gurobi (большую часть времени процессор использует без нагрузки) просто зависает на часы, и вся память используется. Я попытался уменьшить параметры nodefilestart и потоков , но ничего не изменилось.
Могу ли я сделать что-то еще, чтобы уменьшить использование памяти? Когда возникает ошибка нехватки памяти, я могу просто сообщить пользователю, что не хватает памяти, но что делать, если Gurobi просто застрял и не останавливается после ограничения по времени?
Вот вывод:
5378534 variables, all binary
16140318 constraints, all linear; 319218593 nonzeros
77 equality constraints
16140241 inequality constraints
1 linear objective; 4842072 nonzeros.
#presolve 75.2705 1006633000 20529205440
#output 200.524 268435464 20797640904
Gurobi 7.0.0: timelim=3600
threads=2
nodefilestart=0.5
outlev 1
Optimize a model with 16140318 rows, 5378534 columns and 319218593 nonzeros
Variable types: 0 continuous, 5378534 integer (5378534 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+03]
Objective range [1e+00, 4e+03]
Bounds range [1e+00, 1e+00]
RHS range [1e+00, 7e+04]
Found heuristic solution: objective -0