Maximization problem in MATLAB Optimisation Toolbox

7 views (last 30 days)
Basically by default MATLAB OPtimisation Toolbox fminocon and ga algorithms minimise the objective function.
To maximise normally we use duality prinicple i.e., "multiplying objective function by -1". Will it work same here?
Becasue I have tried doing this and I couldnt get proper results. Is there any solution for this?
Thank you in advance!!

Accepted Answer

Matt J
Matt J on 2 Feb 2023
Edited: Matt J on 2 Feb 2023
Will it work same here?
Yes. Example:
fun=@(x) -x^2; %maximize this
xmax=fmincon( @(x) -fun(x) , 1)
Local minimum found that satisfies the constraints. Optimization completed because the objective function is non-decreasing in feasible directions, to within the value of the optimality tolerance, and constraints are satisfied to within the value of the constraint tolerance.
xmax = -7.4506e-09
It worked!!
But another principal is that you need a good initial guess, when the problem is non-convex. That might be why it "doesn't work" for you.
  7 Comments
Vivek
Vivek on 5 Feb 2023
Yes it did work properly. Constraints and Objective function is formulated properly. Everything is working fine now.
The problem was because of the variable bounds in which constraints had to be satisfied. I was expecting it to converge and give positive exit flag. But the optimum point wasn't in that region where it had to satisfy all constraints also. I got to know that all constraints can't be satisfied at same time because the final region becomes infeasible and the exit flag shows up to be negative eventhough was single constraint isn't satisfied.
Thank you @Torsten and @Matt J for the help and support.
Matt J
Matt J on 5 Feb 2023
You're welcome, but please Accept-click the answer to indicate that question is resolved.

Sign in to comment.

More Answers (0)

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!