function y = augmented_Lagrange_function(f,g,h,x,lambda,mu,slackr,slacks)
% Šg’£ƒ‰ƒOƒ‰ƒ“ƒWƒ…ŠÖ�”
  fvalue = f(x);    gvalue = g(x);    hvalue = h(x);
  condeval = lambda.*gvalue + (1/2)*slackr.*(gvalue.^2);
  ineqeval =     mu.*hvalue + (1/2)*slacks.*(hvalue.^2);
  for j = find(mu + slacks.*hvalue < 0)
    ineqeval(j) = -(1/2)*(mu(j).^2)./slacks(j);
  end
  y = fvalue + sum(condeval) + sum(ineqeval);
end
