CPLEX:内存不足
CPLEX: not enough memory
我正在 运行CPLEX 12.9.0 上的 MILP (OPL),但出现错误 "Exception from IBM ILOG Concert: notenough memory"。
我尝试在 32 GB RAM 系统上 运行 模型,但仍然出现错误。
现在,我不确定原因是否是编码?我真的需要帮助。谢谢。
这些是我的附件。
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
我认为你的问题在ct19
:你有这个:
ct19: forall(p in plant, k1 in truck, k2 in truck : k1 != k2, j1 in jobs, j2 in jobs) //only one tuck can load RMC at the same plant/time
{
...
forall(p in plant, k1 in truck, k2 in truck : k1 != k2, j1 in jobs, j2 in jobs)
...
}
您嵌套了这两个 forall
语句。这将产生 大量 所有这些索引的组合。我猜你不想将第二个 forall
嵌套到第一个中,而是将其置于同一级别:
ct19: forall(p in plant, k1 in truck, k2 in truck : k1 != k2, j1 in jobs, j2 in jobs)
{
...
}
ct19_2:
forall(p in plant, k1 in truck, k2 in truck : k1 != k2, j1 in jobs, j2 in jobs) {
...
}
请注意,其他一些约束似乎也存在同样的问题。
我正在 运行CPLEX 12.9.0 上的 MILP (OPL),但出现错误 "Exception from IBM ILOG Concert: notenough memory"。
我尝试在 32 GB RAM 系统上 运行 模型,但仍然出现错误。
现在,我不确定原因是否是编码?我真的需要帮助。谢谢。
这些是我的附件。
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
我认为你的问题在ct19
:你有这个:
ct19: forall(p in plant, k1 in truck, k2 in truck : k1 != k2, j1 in jobs, j2 in jobs) //only one tuck can load RMC at the same plant/time
{
...
forall(p in plant, k1 in truck, k2 in truck : k1 != k2, j1 in jobs, j2 in jobs)
...
}
您嵌套了这两个 forall
语句。这将产生 大量 所有这些索引的组合。我猜你不想将第二个 forall
嵌套到第一个中,而是将其置于同一级别:
ct19: forall(p in plant, k1 in truck, k2 in truck : k1 != k2, j1 in jobs, j2 in jobs)
{
...
}
ct19_2:
forall(p in plant, k1 in truck, k2 in truck : k1 != k2, j1 in jobs, j2 in jobs) {
...
}
请注意,其他一些约束似乎也存在同样的问题。