Работая с Pyomo 5.1.1 (CPython 2.7.10 в Windows 7), я пытаюсь выполнить самый простой пример Pyomo, конкретную модель, показанную по адресу https://software.sandia.gov/downloads/pub./pyomo/PyomoOnlineDocs.html#_a_simple_concrete_pyomo_model
from __future__ import division
from pyomo.environ import *
model = ConcreteModel()
model.x = Var([1,2], domain=NonNegativeReals)
model.OBJ = Objective(expr = 2*model.x[1] + 3*model.x[2])
model.Constraint1 = Constraint(expr = 3*model.x[1] + 4*model.x[2] >= 1)
Я выполняю:
> pyomo solve Pyomo_concrete_v1.py --solver=glpk
По моим собственным расчетам, результаты должны быть:
x[1]=0
x[2]=0.25
OBJ=0.75
Однако я нахожу следующие «results.yml»:
# ----------------------------------------------------------
# Problem Information
# ----------------------------------------------------------
Problem:
- Name: unknown
Lower bound: 0.666666666667
Upper bound: 0.666666666667
Number of objectives: 1
Number of constraints: 2
Number of variables: 3
Number of nonzeros: 3
Sense: minimize
# ----------------------------------------------------------
# Solver Information
# ----------------------------------------------------------
Solver:
- Status: ok
Termination condition: optimal
Statistics:
Branch and bound:
Number of bounded subproblems: 0
Number of created subproblems: 0
Error rc: 0
Time: 0.018000125885
# ----------------------------------------------------------
# Solution Information
# ----------------------------------------------------------
Solution:
- number of solutions: 1
number of solutions displayed: 1
- Gap: 0.0
Status: feasible
Message: None
Objective:
OBJ:
Value: 0.666666666667
Variable:
x[1]:
Value: 0.333333333333
Constraint: No values
Я не понимаю, почему есть "2 ограничения" (на самом деле есть только одно ограничение), "3 переменных" (на самом деле, 2), а результат - вектор размера 1.
Этот файл «results.yml» меняется каждый раз, когда я запускаю «pyomo», но содержимое всегда остается одним и тем же.