projected gradient descent method