Optimization: difficult characteristics discontinuous + stiff + medium size (~20-30 variables) + constrained

6 views (last 30 days)
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
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" ?
Gustavo Lunardon
Gustavo Lunardon on 31 Oct 2022
Edited: Gustavo Lunardon on 31 Oct 2022
Yes, I found results for my problem already but I want to make computations faster. If I manage to explore more the design space (e.g., trying more initial guesses) I have higher chance to find a global optimum. For now, computations take too long for me to be comfortable with the result.

Sign in to comment.

Answers (0)

Products


Release

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!