75
% Agora se define o vetor B(20x1)
B2n = [Mq;Mq;Mq;Mq;M-Mq;M-Mq;M-Mq;M-Mq;0;0;0;0;0;0;0;0;0;0;0;0];
% Agora definir a matriz Aeq2n(5x16)
Aeq2n = [1 0 0 0 1 1 1 0 0 0 -1 -1 -1 0 0 0;
0 1 0 0 (e(1,1)-1) 0 0 1 1 0 1 0 0 -1 -1 0;
0 0 1 0 0 (e(1,2)-1) 0 (e(1,4)-1) 0 1 0 1 0 1 0 -1;
0 0 0 1 0 0 (e(1,3)-1) 0 (e(1,5)-1) (e(1,6)-1) 0 0 1 0 1 1;
1 1 1 1 e(1,1) e(1,2) e(1,3) e(1,4) e(1,5) e(1,6) 0 0 0 0 0 0];
% Agora vamos definir o vetor Beq(5x1)
Beq2n=[snew(1,5);snew(1,6);snew(1,7);snew(1,8);snew(1,5)+snew(1,6)+snew(1,7)+snew(1,8
)];
[w2new,fvalinicial,EXITFLAG,OUTPUT]=fmincon(@funcaogap_roger_slavanew,w02n,A2n
,B2n,Aeq2n,Beq2n,[],[],@nonlconnew)
fgnew = -(((r*[w2bnew(1,1) w2bnew(1,2) w2bnew(1,3) w2bnew(1,4)]' - d*[(max([0
w2bnew(1,1)]))^2 (max([0 w2bnew(1,2)]))^2 (max([0 w2bnew(1,3)]))^2 (max([0
w2bnew(1,4)]))^2]' + b*[w2bnew(1,11) w2bnew(1,12) w2bnew(1,13) w2bnew(1,14)
w2bnew(1,15) w2bnew(1,16)]' - f*[w2bnew(1,5) w2bnew(1,6) w2bnew(1,7) w2bnew(1,8)
w2bnew(1,9) w2bnew(1,10)]'+ f(1,1)*e(1,1)*w2bnew(1,5) + f(1,2)*e(1,2)*w2bnew(1,6) +
f(1,3)*e(1,3)*w2bnew(1,7) + f(1,4)*e(1,4)*w2bnew(1,8) + f(1,5)*e(1,5)*w2bnew(1,9) +
f(1,6)*e(1,6)*w2bnew(1,10))*[ r(1,1)-2*d(1,1)*max([0 w2bnew(1,1)]) r(1,2)-
2*d(1,2)*max([0 w2bnew(1,2)]) r(1,3)-2*d(1,3)*max([0 w2bnew(1,3)]) r(1,4)-
2*d(1,4)*max([0 w2bnew(1,4)]) -f(1,1)*(1 - e(1,1)) -f(1,2)*(1 - e(1,2)) -f(1,3)*(1 - e(1,3)) -
f(1,4)*(1 - e(1,4)) -f(1,5)*(1 - e(1,5)) -f(1,6)*(1 - e(1,6)) b(1,1) b(1,2) b(1,3) b(1,4) b(1,5)
b(1,6)])*(w2new - w2bnew)' + 0.5* a * (norm(w2new - w2bnew))^2);
Sub-rotina_A3: funcaogap_roger_slavanew
function fgn = funcaogap_roger_slavanew(w2new)
global a
global M
global q
global r
global d
global e
global b
global f
global snew
xt3 = [-10 -1 0 4 -8 2 1 2];
st3 = [0 3 -3 -2 2 3 1 -2];
y3 = [-3 0 0 0];
u3 = [0 0 0 0 0 0];
v3 = [2 1 2 0 0 0];
xt4 = [-8 -1 0 5 -11 2 -2 5];
st4 = [2 3 -3 -1 -3 3 -2 0];
y4 = [-6 0 -0.1 0];
u4 = [0 0 0 1 0 0];