GOOGLE ADS

среда, 13 апреля 2022 г.

Индексация переменных в gekko

Как я могу индексировать переменные для решения задачи нелинейной оптимизации в пакете python gekko? Например, как я могу записать приведенную ниже целевую функцию в одно уравнение, индексирующее переменную x?

Например:


Решение проблемы

Используйте m.Array()функцию для создания массива переменных (или параметров). Функции np.prod()и m.sum()используются для определения целевой функции m.Maximize()и уравнения m.Equation().

import numpy as np
from gekko import GEKKO
n = 5
m = GEKKO(remote=False)
x = m.Array(m.Var,n,value=1)
m.Maximize(np.prod([m.sqrt(xi) for xi in x]))
m.Equation(m.sum(x)==100)
m.solve(disp=False)
print(x)

Решение:

[[20.0] [20.0] [20.0] [20.0] [20.0]]

Комментариев нет:

Отправить комментарий

Laravel Datatable addColumn returns ID of one record only

Я пытаюсь использовать Yajra Datatable для интеграции DataTable на свой веб-сайт. Я смог отобразить таблицу, но столкнулся с проблемой. В по...