Hierarchical optimization algorithm-based solutions to a class of bilevel programming problems