я пытаюсь минимизировать (глобально) 3 функции, которые используют общие переменные, я пытался объединить их в одну функцию и минимизировать ее, используя L-BFGS-B
(мне нужно установить границы для переменных), но оказалось очень сложно сбалансировать каждую параметр с весами, т.е. при минимизации одного другого не будет. Я также пытался использовать метод SLSQP
для минимизации одного из них, устанавливая другие в качестве ограничений, но ограничения часто игнорируются/не выполняются. Вот что нужно свести к минимуму, вся математика делается в meritscalculation
, а meritoflength
, meritofROC
, meritofproximity
, heightorderreturned
возвращаются из вычислений как глобальные.
def lengthmerit(x0):
meritscalculation(x0)
print meritoflength
return meritoflength
def ROCmerit(x0):
meritscalculation(x0)
print meritofROC
return meritofROC
def proximitymerit(x0):
meritscalculation(x0)
print meritofproximity+heightorder
return meritofproximity+heightorder
я хочу минимизировать их все, используя общий x0 (с границами) в качестве независимой переменной, есть ли способ добиться этого?