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
