问题描述
我花了一些时间浏览MIPCL的可用文档,并阅读了似乎提到有待解决的问题的论坛帖子,但是我仍然没有答案:
与许多其他MILP求解器(Gurobi,CPLEX,CBC ...)一样,我们能否为MIPCL提供现有的可行解决方案,以便从中开始优化?
当我得知,即使存在带有MIPCL的Pulp接口时,我也开始怀疑该功能是否存在,但在Pulp允许此类“热启动”的求解器列表中,MIPCL不在其中。再说一次,它不在Pulp中这一事实并不意味着不可能通过本机API进行,但是我在该主题上没有找到任何东西。
谢谢!
解决方法
仅当求解器本身提供热启动选项时,PuLP才能提供热启动。因此,您应该首先查看MIPCL文档,以了解这是否是MIPCL(http://www.mipcl-cpp.appspot.com/)提供的功能。不幸的是,该网站已经关闭了一段时间。
PuLP使用MIPCL的命令行界面,我怀疑至少在此界面中,它不提供“热启动”选项。命令行的参数如下:
C:\Users\pchtsp>mps_mipcl
Usage: mps_pMIPCL/mps_MIPCL [options] filename.mps[.gz]
-solfile {file name for storing solution} -threads {number of thread}
-time {time in seconds}
-gap {duality gap in percents}
-objBound {lover or upper bound on the objective}
-LPmethod {PRIME,DUAL}
-pricingRule {DANCIG,STEEPEST,PARTIAL}
-sepRule {DANCIG,PARTIAL}
-preprocess {0,1}
-cuts l,h (l,h in {-1,1,...} are #cuts for,resp.,low and high nodes)
-click {cut pattern}
-knapsack {cut pattern}
-gomory {cut pattern}
-mod2 {cut pattern}
-mir {cut pattern}
file_name
----------------------------------------------------------------
cut pattern depth1,mod1,depth2,mod2 where depth1,depth2 in {-1,2,...
这并不意味着MIPCL不通过其他接口(例如python接口)提供“热启动”选项。