Pyomo может найти решение, но выдает следующее предупреждение:
ПРЕДУПРЕЖДЕНИЕ. Загрузка объекта SolverResults со статусом предупреждения в
Модель = (SecondCD);
сообщение от solver = Ipopt 3.11.1 \ x3a Сходится к локально недостижимой точке. Проблема может быть невозможной.
Как узнать, является ли проблема неосуществимой или нет?
эта модель pyomo оптимизирует решение фермы о распределении ресурсов.
model.Crops = Set() # set Crops := cereal rapes maize ;
model.Inputs = Set() # set Inputs := land labor capital fertilizer;
model.b = Param(model.Inputs) # Parameters in CD production function
model.x = Var(model.Crops, model.Inputs, initialize = 100, within=NonNegativeReals)
def production_function(model, i):
return prod(model.x[i,j]**model.b[j] for j in model.Inputs)
model.Q = Expression(model.Crops, rule=production_function)
...
instance = model.create_instance(data="SecondCD.dat")
opt = SolverFactory("ipopt")
opt.options["tol"] = 1E-64
results = opt.solve(instance, tee=True) # solves and updates instance
instance.display()
если я установлю b> = 1 (например, параметр b: = земля 1 труд 1 капитал 1 удобрение 1),
pyomo может найти оптимальное решение;
но если я установлю b <1, (например: параметр b: = земля 0,1, труд 0,1, капитал 0,1 удобрения 0,1), и установлю opt.options ["tol"] = 1E-64, pyomo может найти решение, но дает это предупреждение. </p>
Я ожидаю оптимального решения, но фактический результат дает предупреждение, упомянутое выше.