function [mut,mub,dNCPT,dNCPT_dt,d2NCPT_dt2,dT_Zt,transGmut,transBmut,dNCPcap,dNCP_dcap,d2NCP_dcap2,capBi_dBci,H1,N1,diagE,diagF,hx,Gap,max_hx,fx,... Pg,Qg,xz1,dmaxOut1,xz2,dmaxOut2,xz3,dmaxOut3,xz4,dmaxOut4,PGR,Tn,kt0,capKn,q0,Tn1,capKn1,T,G]=midResult(nodeNum,pgNode,opfGoal,z,l,u,w,Pg,Qg,... e,f,G,B,a,b,c,PG,Pd,Qd,k,xz1,dmaxOut1,xz2,dmaxOut2,xz3,dmaxOut3,xz4,dmaxOut4,times,mut,mub,oneTrans,oneCap,para3,accuracy,T,capK,transKmin,transKmax,... capKmin,capBi,mu,transNum,transG,transB,Tn,Tn1,capKn,capKn1,kt0,q0,mismatch) %程序功能:计算每次迭代后的目标函数值和等式约束的最大不平衡量,并根据每步迭代结果修正光滑参数 %编写时间:2010年11月 Gap=l'*z-u'*w; %计算互补间隙 PGR=PG; if(opfGoal==2) sumP=sum(Pg); sumPd=sum(Pd); fx=sumP-sumPd; else if(opfGoal==1) fx=sum(a(pgNode).*PGR(pgNode).*PGR(pgNode)+b(pgNode).*PGR(pgNode)+c(pgNode)); else if(opfGoal==3) EE=e*ones(1,nodeNum); FF=f*ones(1,nodeNum); fx=-0.5*sum(sum(G.*((EE-EE').^2+(FF-FF').^2),2)); else if(opfGoal==4) EE=e*ones(1,nodeNum); FF=f*ones(1,nodeNum); fx=0.5*sum(sum(B.*((EE-EE').^2+(FF-FF').^2),2)); end end end end H1=G*e-B*f; N1=G*f+B*e; diagE=sparse(1:nodeNum,1:nodeNum,e,nodeNum,nodeNum); diagF=sparse(1:nodeNum,1:nodeNum,f,nodeNum,nodeNum); P=Pg-Pd; Q=Qg-Qd; dP=P-diagE*H1-diagF*N1; dQ=Q-diagF*H1+diagE*N1; firstOK=0; hx=[dP;dQ]; tmpmax_hx=max(abs(hx)); if Gap