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
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!

Translated by