我在 FEA 求解器中使用 Python,并且有一个要最小化的目标函数。我想过使用 scipy.optimize 但它不起作用。没有进行优化,也没有错误...看到之后,该功能运行得很好,但没有从最小化任何使用的方法进行优化...
>>> fonction_calcul(1)
106,691348022978
>>> fonction_calcul(0.5)
99,4888918302546
>>> fonction_calcul(0.3)
90,7397102848129
>>> res = minimize(fonction_calcul,0.5,method='BFGS',options={'xtol': 1e-5,'disp': True})
Optimization terminated successfully.
Current function value: 99.488892
Iterations: 0
Function evaluations: 2
Gradient evaluations: 1
最小化的值应该是 0.027,正如你所看到的,它在初始值处保持阻塞状态,并认为优化已成功完成......
我尝试过不同的方法...
如果有人遇到同样的问题,有一个解决方案:
res = minimize(fonction_calcul,1,method="BFGS",options={"eps":1e-3, "disp":True})