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