gpt4 book ai didi

python - 使用 Python PuLP 进行混合整数编程的时间限制

转载 作者:行者123 更新时间:2023-11-28 17:10:23 24 4
gpt4 key购买 nike

我一直在使用 PuLP解决我感兴趣的特定混合整数线性规划 (MIP)。但是,随着问题规模的增长,PuLP 花费的时间太长。我希望能够运行求解器一段时间,如果它花费很长时间并获得迄今为止计算出的最佳可行解决方案,我会提前终止它。我已经尝试用信号手动计时求解器,但变量都是“无”。

我查看了文档,PuLP 似乎不支持这一点,但据我所知,它调用的大多数求解器例程都支持。有没有办法对 PuLP 施加时间限制?

最佳答案

您可以自己调用在 solve() 中执行的步骤,而不是直接调用 solve()。这是使用 cplex python api 的示例

#Create your problem
P = pulp.LpProblem()

#Build the solverModel for your preferred
solver = pulp.CPLEX_PY()
solver.buildSolverModel(P)

#Modify the solvermodel
solver.solverModel.parameters.timelimit.set(60)

#Solve P
solver.callSolver(P)
status = solver.findSolutionValues(P)

在 buildSolverModel() 之后,solver.solverModel 包含求解器 API 的一个实例。然后,您可以使用求解器文档中的所有函数。我使用了 cplex,但可以在 gurobi 中使用相同的方法,如所见 http://www.gurobi.com/documentation/7.5/refman/python_parameter_examples.html#PythonParameterExamples

关于python - 使用 Python PuLP 进行混合整数编程的时间限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47985247/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com