Ошибка с ограничением для двух первых индексов - PullRequest
0 голосов
/ 27 апреля 2020

Во-первых, я использую пакет pyomo в Python и создал абстрактную модель.

У меня есть упорядоченный набор i (index_1, index_2, index_3), и я хочу добавить ограничение для его двух первых значений заданы некоторые параметры (par_1, par_2, ...). Это хорошо работает только для некоторых значений первого параметра для первого индекса (par_1 [index_1]), но когда я изменяю значение, я получаю следующую ошибку:

вычисление объекта как числового значения c значение: par_1 [ index_1]

Однако в документе я проверил остальные ограничения, и все они выполнены, поэтому я полагаю, что в моем коде есть ошибка. Не могли бы вы мне помочь?

Я пытался объяснить свою проблему, но, возможно, она не совсем ясна. Если вам нужно больше объяснений по моей проблеме, я вам скажу. (Я использую glpk в качестве оптимизатора)

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

    if i == m.i.first():
        return (m.par_1[i] * m.par_2[i] + m.par_1[m.i.next('index_2')] * m.par_2[m.i.next('index_2')] /m.S * 100 >= 10)
    else:
        return pyo.Constraint.Skip
...