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

1 view (last 30 days)
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 Comment
Alexandra Harkai
Alexandra Harkai on 20 Oct 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

Sign in to comment.

Answers (0)

Categories

Find more on Problem-Based Optimization Setup in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!