Minimize mean, but also set a constraint on the standard deviation
이전 댓글 표시
I have the following global optimization problem setup (please note that this is a simplification):
%constraints:
Aeq = [1 1 1];
beq = 1;
lb = .10 * [1 1 1];
ub = .8 * [1 1 1];
w = [weight1, weight2, weight3];
wstart = randn(3,1);
options = optimset('Algorithm','interior-point');
% function handle for the objective function (note that variables
% aa through hh are additional parameters that the solver does not modify):
h = @(w)NameOfFunction(w(1),w(2),w(3), aa, bb, cc, dd, ee, ff, gg, hh);
% problem structure:
problem = createOptimProblem('fmincon','x0',wstart,'objective',h,...'
'Aeq',Aeq,'beq',beq,'options',options,'lb',lb,'ub',ub);
gs = GlobalSearch;
run(gs,problem)
My objective function (NameOfFunction) uses the three decision variables (w(1), w(2), and w(3)) to generate a vector containing 180 values. The function then calculates and returns the mean of these values (the mean is the value I am minimizing).
I would like to add an additional constraint into the optimization that sets the standard deviation of the vector containing the 180 values to be less than some specific number. In addition, I would like to set a constraint on the maximum value any of the 180 members can take on. I have been unable to figure out how to do this. Any help would be greatly appreciated.
채택된 답변
추가 답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Surrogate Optimization에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!