Optimization: difficult characteristics discontinuous + stiff + medium size (~20-30 variables) + constrained
5 views (last 30 days)
Show older comments
Hello,
I am looking for suggestions for algorithms that could cope with a difficult optimization problem. Of course, if it is fast it is a big plus at this point I am more concerned with reliability (finding a good solution). My problem as it is now is classified as DNLP (discontinuous nonlinear programming).
I have a problem that is subjected to bounds, linear inequalities, and nonlinear inequalities (e.g., my states in the problem cannot be negative otherwise complex numbers pop up all over the place, but they are not my optimized variables). If someone suggests a solver that cannot cope with nonlinear inequalities (but drives the solution towards a potentially good point), I can perhaps trigger refinement with some other solver that can cope with this type of constraint.
My system of equations originally comes from a discretization of a PDE (partial differential equation) so I have quite a large number of ODEs involved that track the states of the system (several hundred) so my objective function that integrates this is relatively costly. The state derivatives are nonlinear and because of the discretization of the PDE, there are some discontinuities involved that are giving me some headache (a function in the middle of the derivatives that look piecewise linear but is generated with if-else statements). I may be able to smooth it out at some accuracy cost but let us say the discontinuities are still there.
My variables are around 20-30 in number. All continuous (no integers or boolean variables involved) The derivatives of the problem are stiff, the objective function not so much under the given constraints.
My idea, for now, is to use a derivative-free solver like the genetic algorithm but recently also found this toolbox PDFO (link below), which seems nice and I am giving it a try. I saw some toolboxes available for this problem in GAMS but I could not find many options for this in MATLAB. Any more suggestions that could fit this problem?
Another nice option I thought is fminsearchcon (this one I have been using for a while, although it is better for problems with fewer variables)
https://nl.mathworks.com/matlabcentral/fileexchange/8277-fminsearchbnd-fminsearchcon
4 Comments
Torsten
on 28 Oct 2022
And did you already succeed to get a useful result for your problem and now just want to make computations faster ?
Or are you still in the "planning phase" ?
Answers (0)
See Also
Categories
Find more on Nonlinear Optimization in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!