【发布时间】:2021-11-19 04:35:26
【问题描述】:
由于它是python中从grobi到pyomo的次要约束问题,我想改变它,所以我不知道该怎么做。
from gurobipy import *
import pandas as pd
import numpy as np
import csv
from pyomo.environ import SolverFactory
opt = SolverFactory("optimizer", solver_io="python")
opt.solve(model, tee=True)
opt.options['NonConvex'] = 2
之后,我使用 pandas 从 excel 中插入数据。
model=Model("optimizer")
model.params.NonConvex=2
并运行 gurobi 程序。 如果错误信息是
untimeError: Attempting to use an unavailable solver.
The SolverFactory was unable to create the solver "optimizer"
and returned an UnknownSolver object. This error is raised at the point
where the UnknownSolver object was used as if it were valid (by calling
method "solve").
The original solver was created with the following parameters:
executable: optimizer
solver_io: python
type: optimizer
_args: ()
options: {}
我以为我会参考这个网站进行各种更改,有很多我不明白的事情。 例如,
results = optimizer.solve(instance, options="threads=4", tee=True)
我是否需要将公式的常量和变量都更改为“optimizer.solve”? 改变的只是字典符号吗? 不需要更改int类型或列表? 另外,我应该将所有内容 () 更改为实例吗?
s={(1:2,2:3,3:5,4:5)}
d={(1,1):1(1,2):2(1:3):3(1:4):4
(1,1):3(1,2):4(1:3):5(1:4):6}
如何用上面的 s,d 改变它? 有什么我需要补充的吗 到“选项=”=字典名称=字典编号”? 例如,如果有约束表达式或目标函数,请告诉我。 因为我是初学者,如果你能告诉我尽可能多的细节会很有帮助。
【问题讨论】:
-
请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。
标签: python optimization model pyomo gurobi