  An important method to optimize a function on standard simplex is the active
set algorithm, which requires the gradient of the function to be projected onto
a hyperplane, with sign constraints on the variables that lie in the boundary
of the simplex. We propose a new algorithm to efficiently project the gradient
for this purpose. Furthermore, we apply the proposed gradient projection method
to quadratic programs (QP) with standard simplex constraints, where gradient
projection is used to explore the feasible region and, when we believe the
optimal active set is identified, we switch to constrained conjugate gradient
to accelerate convergence. Specifically, two different directions of gradient
projection are used to explore the simplex, namely, the projected gradient and
the reduced gradient. We choose one of the two directions according to the
angle between the directions. Moreover, we propose two conditions for guessing
the optimal active set heuristically. The first condition is that the working
set remains unchanged for many iterations, and the second condition is that the
angle between the projected gradient and the reduced gradient is small enough.
Based on these strategies, a new active set algorithm for solving quadratic
programs on standard simplex is proposed.
