How can I ensure that linear constraints are not violated in intermediate iterations when using optimization functions?
6 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
MathWorks Support Team
el 6 de Nov. de 2024 a las 0:00
Respondida: MathWorks Support Team
el 6 de Nov. de 2024 a las 10:37
How can I ensure that linear constraints are not violated in intermediate iterations when using optimization functions?
The documentation page here lists algorithms that guarantee that no bound constraints are violated in intermediate results:
https://www.mathworks.com/help/optim/ug/iterations-can-violate-constraints.html
Which solvers and algorithms are suitable for this?
Respuesta aceptada
MathWorks Support Team
el 6 de Nov. de 2024 a las 0:00
Solvers from the Global Optimization Toolbox like patternsearch or surrogateopt can be better suited for these problems compared to gradient-based solvers like fmincon.
Gradient-based solvers can step out of the feasibility region to get a gradient or gradient estimate.
Furthermore, if the problem characteristics have a high discontinuity on the feasibility bounds, they might also have some simulation effects and "noisiness" the global optimization solvers are more robust against.
If you have to use solvers like fmincon, adapt the objective function to include an early feasibility check and return NaN or Inf if not feasible. These values are treated specially in most solvers and they attempt a different iterative step then.
See:
0 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Surrogate Optimization 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!