在 Gurobi 中附加 .lp 文件
Appending .lp files in Gurobi
我正在尝试解决 Gurobi 上的 MIP,但构建时间非常长。我有一个看起来像这样的循环(我有一个显式循环,但这个内置函数更优化):
m.addConstrs((quicksum(X_rdc_to_dist[j,i,s,t] for j in rdc_list) == demand_fcst_df.loc[(demand_fcst_df['ADDR_BOOK_N'] == i)&
(demand_fcst_df['SKU'] == s)&
(demand_fcst_df['DATE'] == t),'CASES'].sum())
for i in dist_list
for s in sku_list
for t in time_periods_list
)
每个列表的长度如下:
len(rdc_list) = 10
len(cdc_list) = 5
len(sku_list) = 20
len(dist_list) = 1333
len(time_period_list) = 100
这个循环的构建时间非常长。 Gurobi 不支持同一模型的多线程构建。但是,它确实允许在不同的线程上构建单独的模型。有没有办法构建单独的 .lp
文件(可以将其保存为 .txt 文件),然后将它们附加到一个模型中并解决它?
我正在努力减少构建时间。
还有其他支持多线程的开源包吗?我可以使用它构建一个 .lp
文件,然后使用 Gurobi 解决它。
.loc
函数正在减慢循环。我将 DataFrame
转换为 dict
并将其保存为 pickle
(仅一次)。然后每次模型运行时,我都会从 pickle
中读取数据。如果需要更改数据,我会创建一个新的 pickle
。
我正在尝试解决 Gurobi 上的 MIP,但构建时间非常长。我有一个看起来像这样的循环(我有一个显式循环,但这个内置函数更优化):
m.addConstrs((quicksum(X_rdc_to_dist[j,i,s,t] for j in rdc_list) == demand_fcst_df.loc[(demand_fcst_df['ADDR_BOOK_N'] == i)&
(demand_fcst_df['SKU'] == s)&
(demand_fcst_df['DATE'] == t),'CASES'].sum())
for i in dist_list
for s in sku_list
for t in time_periods_list
)
每个列表的长度如下:
len(rdc_list) = 10
len(cdc_list) = 5
len(sku_list) = 20
len(dist_list) = 1333
len(time_period_list) = 100
这个循环的构建时间非常长。 Gurobi 不支持同一模型的多线程构建。但是,它确实允许在不同的线程上构建单独的模型。有没有办法构建单独的 .lp
文件(可以将其保存为 .txt 文件),然后将它们附加到一个模型中并解决它?
我正在努力减少构建时间。
还有其他支持多线程的开源包吗?我可以使用它构建一个 .lp
文件,然后使用 Gurobi 解决它。
.loc
函数正在减慢循环。我将 DataFrame
转换为 dict
并将其保存为 pickle
(仅一次)。然后每次模型运行时,我都会从 pickle
中读取数据。如果需要更改数据,我会创建一个新的 pickle
。