Python 3.x 在python中为cplex解算器pyomo设置OptimilityTarget参数

Python 3.x 在python中为cplex解算器pyomo设置OptimilityTarget参数,python-3.x,parameters,cplex,pyomo,quadratic-programming,Python 3.x,Parameters,Cplex,Pyomo,Quadratic Programming,我试图用cplex解算器在pyomo中优化一个二次目标函数,我得到这个cplex错误5002:目标不是凸的。具有不确定目标的QP可解为具有最优目标2的局部最优,或具有最优目标3的全局最优。从IBM手册中,我知道我们应该在python中设置optimalitytarget参数我有这个globalqpex1.py,现在我该如何设置参数有人能解释一下如何设置这个参数吗 我可以运行python globalqpex1.py g global optimize,但我没有任何.sav或.lp文件,我不知道它

我试图用cplex解算器在pyomo中优化一个二次目标函数,我得到这个cplex错误5002:目标不是凸的。具有不确定目标的QP可解为具有最优目标2的局部最优,或具有最优目标3的全局最优。从IBM手册中,我知道我们应该在python中设置optimalitytarget参数我有这个globalqpex1.py,现在我该如何设置参数有人能解释一下如何设置这个参数吗

我可以运行python globalqpex1.py g global optimize,但我没有任何.sav或.lp文件,我不知道它们是什么……此外,我在手册中还发现,我可以通过在python中设置parameters.optimizetytarget来解决这个问题 我应该如何以及在哪里添加 c、 参数优化目标集(1)

这就是我得到的错误 CPLEX错误5002:目标不是凸的。 具有不确定目标的QP可以求解 对于最优目标为2的局部最优, 或达到最优目标3的全局最优。 预溶解时间=0.00秒。(0.00滴答声) 屏障时间=0.00秒。(0.00滴答声)

错误终止,CPLEX错误5002。 解决时间=0.00秒。 确定性时间=0.00滴答声(0.49滴答声/秒)

CPLEX>CPLEX错误1217:不存在解决方案。 没有写入任何文件。 CPLEX>[0.05]Pyomo完工 错误:加载模型时出现意外异常:
无法加载状态错误的SolverResults对象:错误

pyomo中有两个不同的CPLEX接口。有一个是向CPLEX交互(
CPLEX
)推出的,还有一个是使用CPLEX Python API(
CPLEX\u direct
)。在某些情况下(例如,当参数在层次结构中的深度超过一级时),两个接口之间的设置参数看起来略有不同。通常,可以使用所述技术设置参数

无论哪种情况,对于,您都应该能够使用以下内容:

solver = SolverFactory('cplex')
solver.options['optimalitytarget'] = 3
下面是一个示例,其中我们设置了参数,两个CPLEX接口之间的语法略有不同:

# Using the CPLEX interactive interface
solver = SolverFactory('cplex')
solver.options['mip tolerances absmipgap'] = 3

# Using the CPLEX Python API interface (i.e., use underscores)
solver = SolverFactory('cplex_direct')
solver.options['mip_tolerances_absmipgap'] = 3

在pyomo中使用哪个CPLEX接口?是向CPLEX interactive发送外壳的还是连接到CPLEX Python API的?