Non-Linear optimization

3 views (last 30 days)
Lala
Lala on 26 Jan 2020
Commented: Lala on 5 Feb 2020
Hello,
Please, how do I sove this non linear optimization problem?um.'. The idea is to declare max(1), max(2), and max(3) as constants, like 4, 6, 3..
for simplicity, I renamed the variables to; x1 = a, x2 = b, x3= c, beta1=p, beta2=q, beta3= r
minmodel = optimproblem
a=optimvar('a','Lowerbound',0);
b=optimvar('b', 'Lowerbound',0);
c=optimvar('b','Lowerbound',0);
p=optimvar('p','Lowerbound'0);
q=optimvar('q','Lowerbound'0);
r=optimvar('r','Lowerbound'0);

Accepted Answer

Walter Roberson
Walter Roberson on 27 Jan 2020
If I recall correctly, non-linear optimization cannot yet be handled with Problem Based Optimization. Therefore you will need to switch to Solver Based Optimization:
z = @(xB) (exp(-xB(1)) .* max1 + xB(4).*xB(1)) + (exp(-xB(2)) .* max2 + xB(5).*xB(2)) + (exp(-xB(3)) .* max3 + xB(6).*xB(3));
fminsearch(z, rand(1,6))
However, we can see that can be combined with and into a single parameter that is their sum. Or to phrase this another way: unless you combine them into a single parameter, you will not be able to get a unique solution out of the search because the same total can be achieved by increasing one of the parameters slightly and reducing a different parameter slightly.
Perhaps the equations are not as you represented them? Perhaps you have ? But if so then the x1 parts could be combined...
  3 Comments
Walter Roberson
Walter Roberson on 3 Feb 2020
fmincon() and fminsearch() are both local optimizers.
fmincon() is more efficient because it has a series of stratagies to break problems into subproblems and use estimates of jacobians and related techniques. fmincon() can have constraints that are linear inequalities (and equalities) and nonlinear inequalities (and equalities)
fminsearch() uses a different search technique that is better at getting out of local basins of attraction. fminsearch() is not designed to handle constraints. However if you look in the File Exchange you can find adaptations by authors such as John D'Errico to use bounded fminsearch().
Both of them are deterministic.
Lala
Lala on 5 Feb 2020
My bad. I had read without replying.
Thank you so much!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!