我正在为一个项目使用PuLP和 IPython/Jupyter Notebook。
我有以下代码单元:
import pulp
model = pulp.LpProblem('Example', pulp.LpMinimize)
x1 = pulp.LpVariable('x1', lowBound=0, cat='Integer')
x2 = pulp.LpVariable('x2', lowBound=0, cat='Integer')
model += -2*x1 - 3*x2
model += x1 + 2*x2 <= 7
model += 2*x1 + x2 <= 7
model.solve(pulp.solvers.COIN(msg=True))
当我执行单元格时,输出很简单:
1
当我查看运行笔记本服务器的终端时,我可以看到求解器的输出(在本例中为:COIN)。如果将model.solve参数更改为
model.solve(pulp.solvers.PULP_CBC_CMD(msg=True))
或者
model.solve(pulp.solvers.PYGLPK(msg=True))
但是,当我使用 Gurobi Solver 时,使用这条线
model.solve(pulp.solvers.GUROBI(msg=True))
求解器的输出显示在笔记本单元格上,这是我想要的行为。事实上,我会很高兴任何免费求解器直接在笔记本单元格上打印其输出。
我在纸浆文档中找不到有关如何解决此问题的说明。任何帮助,将不胜感激。我也很想知道其他人是否有这种行为。
我正在使用 Linux Mint、64 位、IPython 4.0.0 和 PuLP 1.6.0。