如何在Python中使用Cplex .dll文件

我正在python中使用cplex .dll文件来使用纸浆求解器解决格式良好的lp问题。这是代码

此处模型是使用纸浆库创建的纸浆对象

当我运行a.actualSolve(Model)时,我从subprocess.py文件中收到以下错误。

OSError:[WinError 193]%1不是有效的Win32应用程序

我尝试使用32位和64位python,但无法解决。

进口纸浆 a = pulp.solvers.CPLEX_CMD(“ cplex dll文件位置”)

a.actualSolve(model)

我希望cplex dll文件能够解决我制定的优化模型,并为我提供所有变量的解决方案。

haijun110120 回答:如何在Python中使用Cplex .dll文件

CPLEX_CMD求解器是CPLEX Interactive的包装,而不是DLL 。您可以将cplex.exe文件的路径传递给构造函数,或者只是确保它位于您的PATH中(请参阅Adding directory to PATH Environment Variable in Windows)。

为了使用CPLEX DLL文件,您需要使用CPLEX_DLL求解器(请参见PuLP source code)。您还需要编辑PuLP配置文件以指向CPLEX DLL文件的位置。

例如,在Windows上,您的pulp.cfg文件可能如下所示:

[locations]
...
CplexPath = cplex1290.dll
...

这假定CPLEX二进制目录已经在您的PATH中(与上面的cplex.exe一样)。或者,您可以在配置文件中指定cplex1290.dll的绝对路径。

,

现在纸浆有关于连接多个求解器的文档,包括 CPLEX:https://coin-or.github.io/pulp/guides/how_to_configure_solvers.html

CPLEX_CMD 的第一个示例:

path_to_cplex = r'C:\Program Files\IBM\ILOG\CPLEX_Studio128\cplex\bin\x64_win64\cplex.exe'
import pulp as pl
model = pl.LpProblem("Example",pl.LpMinimize)
solver = pl.CPLEX_CMD(path=path_to_cplex)
_var = pl.LpVariable('a')
_var2 = pl.LpVariable('a2')
model += _var + _var2 == 1
result = model.solve(solver)
本文链接:https://www.f2er.com/3161670.html

大家都在问