используя pyomo и glpk solver, я определяю следующее правило:
def cost_rule(m):
return (sum(m.rd[i]*m.pRdImp*m.dt - m.vr[i]*m.pRdExp*m.dt for i in m.t) + m.cb + m.cPV + (150+10*m.kWp) )
m.cost = Objective(rule=cost_rule)
Если я знаю, сравнить результаты после того, как был найден минимум, я получу разные результаты:
sum(m.rd[i]()*m.pRdImp()*m.dt() - m.vr[i]()*m.pRdExp()*m.dt() for i in t_t) + m.cPV() + m.cb() + (150+5*m.kWp())
Out[46]: 1136.468
m.cost()
Out[43]: 1173.178
(m.t и t_t - наборы диапазонов, представляющие часы года)
Это ошибка около 3%, есть идеи откуда взяться? И какое значение будет правильным, если мне нужно будет выбрать одно.
Заранее спасибо!