1
我使用與用戶定義的目標函數c_func
選自C++移植(使用)spicy.optimize.basinhopping和初始點x
:區分在basinhopping(SciPy的)局部/全局調用
scipy.optimize.basinhopping(x, c_func)
如果我理解正確basinhopping,c_func
將basinhopping在它的兩個全局和局部優化份黑色盒函數調用。在我的情況下,函數需要知道調用是來自本地還是全局優化過程。我怎樣才能實現它?我們可以想象c_func定義如下:
myClass:: c_func(double){
if (invoked by the local optimization) {
std::cout<<「Local\n」;
else
std::cout<<「Global\n」;
}
[EDITS] 我想用回調函數。但在scipy.optimize.basinhopping
,或者scipy.optimize.minimize
接口的回調函數被調用後的功能c_func
被調用。