A generalized GPS (GGPS) algorithm is proposed for the problem of reducing the bandwidth and profile of the stiffness matrix in finite element problems. The algorithm has two key-points. Firstly and most importantly, more pseudo-peripheral nodes are found, used as the origins for generating more level structures, rather than only two level structures in the GPS (Gibbs-Poole-Stockmeyer) algorithm. A new level structure is constructed with all the level structures rooted at the pseudo-peripheral nodes, leading to a smaller level width than the level width of any level structure's in general. Secondly, renumbering by degree is changed to be sum of the adjacent nodes codes to make a better renumbering in each level. Simulation results show that the GGPS algorithm can reduce the bandwidth by about 37.63% and 8.91% and the profiles by 0.17% and 2.29% in average for solid models and plane models, respectively, compared with the outcomes of GPS algorithm. The execution time is close to the GPS algorithm. Empirical results show that the GGPS is superior to the GPS in reducing bandwidth and profile.