how to use fmincon to optimize different parameter set for multiple dependant objective functions?

조회 수: 2 (최근 30일)
Hi I have one large dataset which consist of two categories of data say clockwise and anticlockwise rotation. Each category needs to be evaluated over different data arrays and an optimum value of the parameters needs to be found for both categories separately. But the problem is that these functions are dependant i.e one can be evaluated only after another is done. Example
Dataset is a structure with data fields as clockwise1(1x100),anticlockwise1(1x200),clockwise2(1x100),anticlockwise2(1x200) etc.
Inside objective function for clockwise
for i=1:1:length(tm)
z= z0*exp(-(tm(i)-tm(i-1))/(param(3)*param(2))) ;
v(i) = v1 - (q(i)*param(1)) - z ;
z0 = z;
end
Inside objective function for anticlockwise
for i=1:1:length(tm)
z = z0*exp(-(tm(i)-tm(i-1))/(param(6)*param(5))) ;
v(i) = v1 + (q(i)*param(4)) + z ;
z0 = z;
end
As you can see, objective functions have one shared variable z. I need to find separate optimum values for parameters 1 to 6. If I find the cumulative least square error for the whole dataset and try to minimize that error, the parameter 1 and 4 as well as parameter 2 and 5 and parameter 3 and 6 are almost the same which is not correct. How can I avoid this?
  댓글 수: 1
Alexandra Harkai
Alexandra Harkai 2016년 10월 20일
Seems like you have more than one objective functions, is that correct? fmincon is aimed at optimizing for a single objective, see the table here: https://uk.mathworks.com/help/optim/ug/problems-handled-by-optimization-toolbox-functions.html

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

답변 (0개)

카테고리

Help CenterFile Exchange에서 Get Started with Optimization Toolbox에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by