共通変数を使用する 3 つの関数を (グローバルに) 最小化しようとしています。それらを 1 つの関数に結合し、それを使用して最小化しようとしましたL-BFGS-B(変数の境界を設定する必要があります) が、各パラメーターのバランスをとるのが非常に難しいことがわかりました。つまり、一方が最小化されると、もう一方は最小化されません。また、メソッドを使用して、他の制約を設定しながらそのうちの 1 つを最小化しようとしましSLSQPたが、制約はしばしば無視されるか、満たされていません。最小化する必要があるものは次のとおりです。すべての計算は で行われ、 、 、meritscalculationがmeritoflength計算meritofROCからグローバルとして返されます。meritofproximityheightorderreturned
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 (境界を含む) を独立変数として使用してそれらすべてを最小化したいのですが、これを達成する方法はありますか?