Modifications and extensions of the conjugate gradient-restoration algorithm for mathematical programming problems