Non-Linear optimization

조회 수: 3 (최근 30일)
Lala
Lala 2020년 1월 26일
댓글: Lala 2020년 2월 5일
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);

채택된 답변

Walter Roberson
Walter Roberson 2020년 1월 27일
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
Walter Roberson
Walter Roberson 2020년 2월 3일
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 2020년 2월 5일
My bad. I had read without replying.
Thank you so much!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Nonlinear Optimization에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by