|Levenberg Marquardt Optimization with minimum step
|Page 1 of 1|
|Author:||M_Max [ Wed May 29, 2013 8:49 am ]|
|Post subject:||Levenberg Marquardt Optimization with minimum step|
I have a function z = f(x,y) that I would like to minimize using Levenberg Marquardt optimization.
However, the variables x and y are integers.
Hence, the algorithm is stopped after few iterations because I convert the variables from double to integers when ALGLIB callback the function.
public static void function1_fvec(double X, double fi, object obj)
x = (int)X;
y = (int)X;
fi = myOwnFunction(x,y); //x and y parameters are integers
f(1000,2000) = f(1000.1,2000.2) = f(1000.2,2000.1) = f(1000.2,2000.2) = ....
The algorithm stops because the function does not change anymore.
I know that there is a constraint for maximum step, but I didn't find one for minimum step.
How can I avoid a step less than 1 ?
Thank you very much for your help,
|Author:||Sergey.Bochkanov [ Wed May 29, 2013 9:39 am ]|
|Post subject:||Re: Levenberg Marquardt Optimization with minimum step|
There is not easy and correct way of setting minimum step length for LM optimizer. Such modification is (a) very hard to implement, (b) will break convergence properties and stability of the optimizer.
If you want to solve integer optimization problem with LM, you should use something like genetic programming.
|Page 1 of 1||All times are UTC|
|Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group