Anaconda &引用;警告:找不到';ipopt';可执行文件;和Pyomo(操作系统:Windows)

Anaconda &引用;警告:找不到';ipopt';可执行文件;和Pyomo(操作系统:Windows),anaconda,spyder,pyomo,ipopt,Anaconda,Spyder,Pyomo,Ipopt,我一直在努力让ipopt在pyomo上工作。我已经使用Anaconda Navigator下载了pyomo(5.7.3版)和ipopt,并使用Spyder编辑和运行我的.py代码。我一直在使用pyomo教程中的以下代码,以了解ipopt是否已成功安装并正常工作 import pyomo.environ as pyo from pyomo.opt import SolverFactory model = pyo.ConcreteModel() model.nVars = pyo.Param(ini

我一直在努力让ipopt在pyomo上工作。我已经使用Anaconda Navigator下载了pyomo(5.7.3版)和ipopt,并使用Spyder编辑和运行我的
.py
代码。我一直在使用pyomo教程中的以下代码,以了解ipopt是否已成功安装并正常工作

import pyomo.environ as pyo
from pyomo.opt import SolverFactory
model = pyo.ConcreteModel()
model.nVars = pyo.Param(initialize=4)
model.N = pyo.RangeSet(model.nVars)
model.x = pyo.Var(model.N, within=pyo.Binary)
model.obj = pyo.Objective(expr=pyo.summation(model.x))
model.cuts = pyo.ConstraintList()
opt = SolverFactory('ipopt')
opt.solve(model) 

# Iterate, adding a cut to exclude the previously found solution
for i in range(5):
   expr = 0
   for j in model.x:
       if pyo.value(model.x[j]) < 0.5:
           expr += model.x[j]
       else:
           expr += (1 - model.x[j])
   model.cuts.add( expr >= 1 )
   results = opt.solve(model)
   print ("\n===== iteration",i)
   model.display()
我自己第一次尝试解决这个问题是从以下链接手动下载
ipopt
可执行文件(ipopt 3.11.1-win64):

https://www.coin-or.org/download/binary/Ipopt/
之后,我提取了文件并将其放置到
pyomo
解算器位置:

C:\Anaconda\envs\myenv\Lib\site-packages\pyomo\solvers\plugins\solvers
这不起作用,因此我还尝试使用以下代码指定
ipopt
可执行文件的路径:

opt = pyo.SolverFactory("ipopt", executable="C:\Anaconda\envs\myenv\Lib\site-packages\pyomo\solvers\plugins\solvers\ipopt\bin\ipopt.exe")
但是,这样做给了我以下警告:

WARNING: Could not locate the 'ipopt' executable, which is required for solver ipopt
WARNING: Failed to create solver with name 'ipopt': Failed to set executable
    for solver ipopt. File with name=C:\Anaconda\envs\myenv\Lib\site-packages\
    pyomo\solvers\plugins\solvers\ipopin\ipopt.exe
    either does not exist or it is not executable. To skip this validation,
    call set_executable with validate=False.
提醒您,部件
ipopin\ipopt.exe
不是打字错误。我不知道为什么会这样。我还尝试将可执行文件复制粘贴到
bin
文件夹之外,并将其放在
ipopt
文件夹中:

opt = pyo.SolverFactory("ipopt", executable="C:\Anaconda\envs\myenv\Lib\site-packages\pyomo\solvers\plugins\solvers\ipopt\ipopt.exe")
不幸的是,我仍然收到
警告。找不到“ipopt”可执行文件,这是最终解算器ipopt所必需的

我还尝试从下面的链接下载
ipopt
可执行文件,但我的病毒扫描程序消除了
ipopt.exe
,因为它认为下载的文件是一种威胁:

https://projects.coin-or.org/CoinBinary/browser/binary/Ipopt/Ipopt-3.13.2-win64-msvs2019-md.zip?rev=1072
在这种情况下,是否有其他方法可以尝试使IPOPT工作?

您从anaconda运行jupyter笔记本,然后您应该能够在anaconda的已安装列表中看到您的解算器