Boundary value problem in optimization formulation
6 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
John D'Errico
2016-8-30
编辑:John D'Errico
2016-8-30
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.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Quadratic Programming and Cone Programming 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!