Apr-03-2024, 09:29 AM
Hello everyone,
I'm currently trying to minimize a function using a Python algorithm. The function is a bit complicated and requires an FEA solver to be calculated. Anyway, I was able to define my function in the classical way according to the parameter I'm trying to optimize:
Here's what I get starting with x=1
I've tried minimize with a "classic" function (polynomial) and it works well for finding the minimization value...
Any idea how to make minimize function in my case?
Thanks a lot!
Pierre
I'm currently trying to minimize a function using a Python algorithm. The function is a bit complicated and requires an FEA solver to be calculated. Anyway, I was able to define my function in the classical way according to the parameter I'm trying to optimize:
def fonction_calcul(Parametre1): blabla function definition return function valueAs this last function definition works well, I can easily get the values of my calculation_function for the parameter values I want. Knowing this, I thought I could then "foolishly" use scipy.optimize to find the minimization value of my function, but alas, it doesn't work!
Here's what I get starting with x=1
x_start=1.0 >>> result = spo.minimize(fonction_calcul, x_start) >>> result fun: 106.69134802297765 hess_inv: array([[1]]) jac: array([0.]) message: 'Optimization terminated successfully.' nfev: 2 nit: 0 njev: 1 status: 0 success: True x: array([1.])Overall, as you can see, minimize calculates a single value and stops at this value, considering that it has optimized well (knowing that in this case, the minimization value is around 0.03...).
I've tried minimize with a "classic" function (polynomial) and it works well for finding the minimization value...
Any idea how to make minimize function in my case?
Thanks a lot!
Pierre