finite difference step size value in fmincon
54 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Akshay Bhapkar
el 4 de Ag. de 2020
Comentada: Mario Malic
el 11 de Abr. de 2021
Hi
I'm using fmincon to solve an optimization problem.
I have question regarding step size in fmincon. When I use finite difference step size (ds) of the magnitude 1e-03, design variable (x) changes from x to x+ds.
But when I use step size (ds) of the magnitude 1, design varible(x) changes from x to 2x or when ds = 2, design variable changes from x to 3x.
Because of this very large change in design variables, the solver exceeds the upper bound (ub) and the solver tries to adjust the bounds which leads to errors.
Why is this happening?
TIA...
3 comentarios
Hainan Wang
el 10 de Abr. de 2021
Hi, Mario
I am curious for the equation in the document:
delta = v.*sign′(x).*max(abs(x),TypicalX);
What does v, x, and TypicalX mean?
Please enlight me, thank you!
Mario Malic
el 11 de Abr. de 2021
v is the actual FiniteDifferenceStepSize scalar, or vector, if you would like to set the step size for each of your variables.
x is the value of your optimization variable(s) at current iteration
TypicalX is described well in the documentation.
Respuesta aceptada
Matt J
el 4 de Ag. de 2020
Editada: Matt J
el 4 de Ag. de 2020
You might try the sqp or interior point algorithm, instead of whatever fmincon algorithm setting you are currently using. According to the documentation, the sqp algorithm in particular will take finite differencing steps that respect bounds
Más respuestas (0)
Ver también
Categorías
Más información sobre Solver Outputs and Iterative Display en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!