function opt=SUMT()
%
% SUMT算法求最小值
%
global x s k H M c ;
x=[1,1]';
H=eye(2);
eps=0;
g=dfun(x);
p=pfun(x);
k=0;
M=10;
c=1.5;
while (p>eps)
while 1 %DFP求解无约束极值问题
s=-1*H*g;
t_min=fminbnd(@f_search,0,100);
temp_x=x;
x=x+t_min*s;
temp_g=g;
g=dfun(x);
p=pfun(x);
if norm(g)<eps
opt=x;
break;
end
h=x-temp_x;
y=g-temp_g;
H=H-(1/(y'*H*y))*(H*y*y'*H)+(1/(y'*h))*(h*h');
k=k+1; % DFP求解无约束极值问题
end
M=c*M;
end
disp(fun(x))