Pyomo Установка границ индексированных переменных по-разному - PullRequest
0 голосов
/ 31 мая 2018

Я пытаюсь создать индексированную переменную в pyomo, но я хочу установить границы различных индексов по-разному, как это:

model.vProduct = Var(SC, N, G, bounds=(0, limit[g])

Где SC, N и G - диапазоны, поэтому у него есть 3индексов.(Что не работает, потому что вот так я назначаю вектор верхних границ для каждой переменной)

Теперь я хочу, чтобы он был похож на model.vProduct[SC, N, 0] bounds are (0, limit[0]) и т. Д.

Кто-нибудь знает, как решитьэтот вопрос?

1 Ответ

0 голосов
/ 31 мая 2018

Вы можете передать правило (или функцию Python) в ключевое слово bounds, чтобы сделать это

def _bounds_rule(m, sc, n, g):
    return (0, limit[g])
model.vProduct = Var(SC, N, G, bounds=_bounds_rule)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...