我试图最小化(全局)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(带边界)作为自变量来最小化所有这些,有没有办法实现这一点?