Boundary value problem in optimization formulation
6 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have to solve an optimization problem and it has a boundary value problem(BVP) in it. As we know the BVP takes quite a bit of time to solve. This been a part of an optimization problem, I am kind of asking the system to solve BVP for every function and this is taking a lot of time.
One idea I have is to make the boundary conditions as equality constraints and solve Ordinary differential equation instead of BVP, as ode45 is much quicker. Will this help in speeding up the solution? I have tried implementing this but didn't get a valid solution.
Any other ideas to speed the solutions also are welcome.
Thank you
0 commentaires
Réponse acceptée
John D'Errico
le 30 Août 2016
Modifié(e) : John D'Errico
le 30 Août 2016
Of course, I recall that ODE45 has no capability to apply equality constraints at the end point, as that would make it a BVP solver, which it is not. So that you failed to gain a solution is not in the least surprising.
So, perhaps you mean that you tried to specify the boundary prediction from the ODE solver as a constraint in the optimization. Could this worK? Possibly, IF you coded it all correctly. Would it be any gain? Probably not, even if you managed to do it all right.
It probably won't work as well as just using the BVP solver as it is designed to work. It may make your optimization less stable. And because you are adding one or more NONLINEAR equality constraints to the optimization, it will certainly slow down the search process. This is because the optimizer needs to ride along a curved manifold in the solution space that represents the equality constraint. Yes, the locus of of parameters that satisfies the boundary constraint will almost certainly be some curved surface in the parameter space. And that takes extra work in the optimization. Probably more function evaluations. And since it will need to differentiate the constraint too, EXTRA ODE45 calls will be needed. On top of all that, making ODE45 into a BVP solver will introduce extra variables into the optimization problem, so the optimizer will be doing more work.
Sorry, but there is no such thing as a free lunch here.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Quadratic Programming and Cone Programming dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!