пиомо точность; целевое правило не возвращает точное значение - PullRequest
1 голос
/ 11 июня 2019

используя 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%, есть идеи откуда взяться? И какое значение будет правильным, если мне нужно будет выбрать одно.

Заранее спасибо!

1 Ответ

0 голосов
/ 11 июня 2019

Выражения разные. Последний член в первом - (150+10*m.kWp), а последний член во втором - (150+5*m.kWp())

...