fmincon rough estimation in little time
    3 views (last 30 days)
  
       Show older comments
    
I have a simulink model with some parameters and i want to find the minimum of an objective function. The problem is that i should run the minimization for many times varying the objective function itself, but with normal settings it takes me 7,5 min to get only one estimation, too much if i need 100 of them. But the good thing is that i don't need a good precision in finding the minimum, some variables could be integer but fmincon doesn't allow to specify that. So i decided to relax some tolerances, in particolar StepTolerance. The problem is that at the start of simulation the step size is very small and this force me to set a bigger StepTolerance than needed. So i thought that maybe there was a method to impose a minimum step size and so i found FiniteDifferenceStepSize and DiffMinChange but in any way i set them, the inizial step size is in the order of e-3 but i would like it to be 1 or even bigger so that i can set StepTolerance to 1.
Regardless of what i wrote until now, can you suggest me a way to speed up my estimation so that i can get close to a minimun with a precision that i can choose? Maybe i'm not using correctly the previous options or maybe there is a better way to do the entire thing. Thanks in advance,
Federico Spada
0 Comments
Answers (1)
  John D'Errico
      
      
 on 6 Nov 2018
        fmincon is pretty much the wrong tool for this for multiple reasons. It is not designed to allow for low precision. It certainly is not designed to allow for integer parameters.
Instead, you might start looking here:
https://tomopt.com/docs/cgo/tomlab_cgo007.php
Thus an optimization tool designed for costly objective functions.
See Also
Categories
				Find more on Systems of Nonlinear Equations in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
