Я пытаюсь минимизировать норму L2 пиковых потоков в дренажной системе. Я хочу использовать Gekko, так как он может обрабатывать целочисленное бинарное программирование. < /P>
В моей программе моя цель-минимизировать пиковые потоки. Я создал функцию, которая < /p>
Вводит вектор в файл INP модели дренажа, запускает и сохраняет его как новый файл. < /Li>
Извлекать пиковые потоки в новом файле. Сложность, я создал функции для каждого шага в моей целевой функции. Таким образом, моя функция OBJ имеет функции. Я проверил свою функцию OBJ с различными входами, и она работает гладко. < /P>
Вход - это вектор с 8 элементами. Каждый элемент должен быть 1 или 0.
Единственное ограничение состоит в том, что сумма элементов составляет 4. < /p>
К сожалению, когда я использую Gekko, он продолжает иметь ошибку: < /p>
Exception: @error: Model Expression
*** Error in syntax of function string: Invalid element:
Position: 1
?
< /code>
Я даже пытался иметь integer = false и просто добавил преобразователь в мою целевую функцию. Ошибка все же. Я предполагаю, что ошибка произошла из моей объективной функции. Кто -нибудь может мне помочь? Ваш ответ был бы хорошо оценен. < /P>
from gekko import GEKKO
m = GEKKO(remote=False)
x = m.Array(m.Var,8,lb=0,ub=1,integer=True)
x0,x1,x2,x3,x4,x5,x6,x7 = x
def Func(x):
#Inputs x in the inp file, determines the peak flows with the new x, and saves a new file.
Mod_File('Example1.inp',x)
#Creates the file name of the modified file.
Mod_File_name = Mod_File_Name('Example1.inp')
#Extracts the Peak flows in the mod file and computes the L2 norm.
L2_Norm = Norm_Peak_Flows(Mod_File_name ,Dict_Links('Example1.inp'))
return L2_Norm
x0.value = 0
x1.value = 1
x2.value = 0
x3.value = 1
x4.value = 0
x5.value = 1
x6.value = 0
x7.value = 1
m.Minimize(Func)
m.Equation(sum(x)==4)
m.options.SOLVER=1
m.solve()
print(x)
Подробнее здесь: https://stackoverflow.com/questions/795 ... -programmi
Могу ли я использовать объективную функцию, которая использует несколько функций в бинарном программировании в Gekko? ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Scipy минимизируется с линейными ограничениями, пытаясь вызвать объективную функцию в NAN
Anonymous » » в форуме Python - 0 Ответы
- 7 Просмотры
-
Последнее сообщение Anonymous
-