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

1 Ansicht (letzte 30 Tage)
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 Kommentar
Alexandra Harkai
Alexandra Harkai am 20 Okt. 2016
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

Melden Sie sich an, um zu kommentieren.

Antworten (0)

Kategorien

Mehr zu Problem-Based Optimization Setup finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by