can GA always find a smaller objective than SQP ?
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Stanley Cheng
el 29 de Dic. de 2014
Comentada: Alan Weiss
el 5 de En. de 2015
Hi everyone,
These days I am using GA and SQP for optimization.
It is very strange that the result from SQP is smaller than GA, i.e., better results are from SQP.
I think my codes are all right, but I am not sure about the results.
It is said SQP can only find a local optimal result while GA can search for the global one.
But why this happens ?
Any help is greatly appreciated!
Cheers
0 comentarios
Respuesta aceptada
Jan
el 29 de Dic. de 2014
The SQP method starts from a specified point and moves (almost) along local gradient to smaller function values. If the start point is inside a valley, which does not contain the global minimum there is only a tiny chance that the surrounding mountains are exceeded by accident.
GA uses a set of start points and the crossing over exceeds the search area during the processing. Therefore there is a larger chance to find a global optimum.
3 comentarios
Alan Weiss
el 5 de En. de 2015
It is difficult to know how to answer you. Your data shows about 125 function evaluations per second, and 5e6 total function evaluations. That is a lot of computing. You also said that GA returned exitflag -2, indicating that you have nonlinear constraints.
Assuming that your objective and nonlinear constraint functions are smooth, you might find some hints in the documentation of what to do when the solver fails or when the solver takes too long. After trying the suggestions you find there, you might want to ask here again, but please give some more detail about your nonlinear constraint functions.
Alan Weiss
MATLAB mathematical toolbox documentation
Más respuestas (1)
Ver también
Categorías
Más información sobre Global or Multiple Starting Point Search en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!