Мне нужно построить вектор x=[f(m.x), m.x], где m.x — переменная pyomo, а f() — функция переменной pyomo и других фиксированных параметров; этот вектор, в свою очередь, является входными данными для гауссова процесса, который я интегрирую в модель pyomo с помощью rogp. Как мне построить этот вектор?
Добавление контекста: я использую Python и IPOPT в качестве числового решателя. Модель оптимизации построена с использованием Egret.
Мне удалось запустить код, обратившись к значению переменной с помощью функции value(), но я собираюсь сделать не это. Входные данные гауссовского процесса не являются фиксированными параметрами — они являются фактическими переменными модели оптимизации. Я попытался построить x с помощью ComponentMap() как:
# Construct the input
m = pe.ConcreteModel()
X = ComponentMap()
X[0] = m.a
X[1] = m.b
X[2] = c
X[3] = d
# Create ROGP object
xvar = rogp.pyomo_to_np(m.X).T
# Get GP prediction
gp = gp_models[0]
mu = gp.predict(xvar)[0]
Но я получаю следующее сообщение об ошибке:
ERROR: Rule failed when generating expression for Constraint gp_stability with
index 0: PyomoException: Cannot convert non-constant Pyomo expression (0 >> m.x = Var()
>>> if m.x >= 1:
... pass
and
>>> m.y = Var()
>>> if m.y in [m.x, m.y]:
... pass
would both cause this exception.
ERROR: Constructing component 'gp_stability' from data=None failed:
PyomoException: Cannot convert non-constant Pyomo expression (0 >> m.x = Var()
>>> if m.x >= 1:
... pass
and
>>> m.y = Var()
>>> if m.y in [m.x, m.y]:
... pass
would both cause this exception.
(GP_env) (base) -@Vincenzos-MacBook-Pro GP % cd /Users/-/Documents/GitHub/GP ; /usr/bin/env /Users/-/anaconda3/envs/GP_env/bin/python /Users/-/.vscode/extensions/ms-python.debugpy-2024.14.0-darwin-
arm64/bundled/libs/debugpy/adapter/../../debugpy/launcher 52854 -- /Users/-/Documents/GitHub/GP/Egret-main/script.py
/Users/-/Documents/GitHub/GP/GPY_MIMO_RIVANNA.py:396: SyntaxWarning: tuple indices must be integers or slices, not tuple; perhaps you missed a comma?
output = model(valid_x.reshape((int(n_interval**3)//2, sup-inf, 5)[0,:]))
Loading GP model 0...
Backend macosx is interactive backend. Turning interactive mode on.
xvar shape: (1, 4)
Expected input shape for GP: (800, 4)
xvar content: [[
]]
ERROR: Rule failed when generating expression for Constraint gp_stability with
index 0: PyomoException: Cannot convert non-constant Pyomo expression (0 >> m.x = Var()
>>> if m.x >= 1:
... pass
and
>>> m.y = Var()
>>> if m.y in [m.x, m.y]:
... pass
would both cause this exception.
ERROR: Constructing component 'gp_stability' from data=None failed:
PyomoException: Cannot convert non-constant Pyomo expression (0 >> m.x = Var()
>>> if m.x >= 1:
... pass
and
>>> m.y = Var()
>>> if m.y in [m.x, m.y]:
... pass
would both cause this exception.
Я не знаю, как отладить эту проблему или необходимое обходное решение. Мне также любопытно понять, что означает выражение ниже и откуда оно взялось. Это должно быть связано с гауссовским процессом, но я не уверен, как его интерпретировать.
(0
Подробнее здесь: https://stackoverflow.com/questions/793 ... tpyomorogp
Ограничения гауссовских процессов в Egret+pyomo+rogp ⇐ Python
Программы на Python
-
Anonymous
1737076343
Anonymous
Мне нужно построить вектор x=[f(m.x), m.x], где m.x — переменная pyomo, а f() — функция переменной pyomo и других фиксированных параметров; этот вектор, в свою очередь, является входными данными для гауссова процесса, который я интегрирую в модель pyomo с помощью rogp. Как мне построить этот вектор?
Добавление контекста: я использую Python и IPOPT в качестве числового решателя. Модель оптимизации построена с использованием Egret.
Мне удалось запустить код, обратившись к значению переменной с помощью функции value(), но я собираюсь сделать не это. Входные данные гауссовского процесса не являются фиксированными параметрами — они являются фактическими переменными модели оптимизации. Я попытался построить x с помощью ComponentMap() как:
# Construct the input
m = pe.ConcreteModel()
X = ComponentMap()
X[0] = m.a
X[1] = m.b
X[2] = c
X[3] = d
# Create ROGP object
xvar = rogp.pyomo_to_np(m.X).T
# Get GP prediction
gp = gp_models[0]
mu = gp.predict(xvar)[0]
Но я получаю следующее сообщение об ошибке:
ERROR: Rule failed when generating expression for Constraint gp_stability with
index 0: PyomoException: Cannot convert non-constant Pyomo expression (0 >> m.x = Var()
>>> if m.x >= 1:
... pass
and
>>> m.y = Var()
>>> if m.y in [m.x, m.y]:
... pass
would both cause this exception.
ERROR: Constructing component 'gp_stability' from data=None failed:
PyomoException: Cannot convert non-constant Pyomo expression (0 >> m.x = Var()
>>> if m.x >= 1:
... pass
and
>>> m.y = Var()
>>> if m.y in [m.x, m.y]:
... pass
would both cause this exception.
(GP_env) (base) -@Vincenzos-MacBook-Pro GP % cd /Users/-/Documents/GitHub/GP ; /usr/bin/env /Users/-/anaconda3/envs/GP_env/bin/python /Users/-/.vscode/extensions/ms-python.debugpy-2024.14.0-darwin-
arm64/bundled/libs/debugpy/adapter/../../debugpy/launcher 52854 -- /Users/-/Documents/GitHub/GP/Egret-main/script.py
/Users/-/Documents/GitHub/GP/GPY_MIMO_RIVANNA.py:396: SyntaxWarning: tuple indices must be integers or slices, not tuple; perhaps you missed a comma?
output = model(valid_x.reshape((int(n_interval**3)//2, sup-inf, 5)[0,:]))
Loading GP model 0...
Backend macosx is interactive backend. Turning interactive mode on.
xvar shape: (1, 4)
Expected input shape for GP: (800, 4)
xvar content: [[
]]
ERROR: Rule failed when generating expression for Constraint gp_stability with
index 0: PyomoException: Cannot convert non-constant Pyomo expression (0 >> m.x = Var()
>>> if m.x >= 1:
... pass
and
>>> m.y = Var()
>>> if m.y in [m.x, m.y]:
... pass
would both cause this exception.
ERROR: Constructing component 'gp_stability' from data=None failed:
PyomoException: Cannot convert non-constant Pyomo expression (0 >> m.x = Var()
>>> if m.x >= 1:
... pass
and
>>> m.y = Var()
>>> if m.y in [m.x, m.y]:
... pass
would both cause this exception.
Я не знаю, как отладить эту проблему или необходимое обходное решение. Мне также любопытно понять, что означает выражение ниже и откуда оно взялось. Это должно быть связано с гауссовским процессом, но я не уверен, как его интерпретировать.
(0
Подробнее здесь: [url]https://stackoverflow.com/questions/79363188/gaussian-processes-constraints-in-egretpyomorogp[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия