Thanks to advances in wide-area network technologies and the low cost of computing resources, Grid computing came into being and is currently an active research area. One motivation of Grid computing is to aggregate the power of widely distributed resources, and provide non-trivial services to users. To achieve this goal, an efficient Grid scheduling system is an essential part of the Grid. Rather than covering the whole Grid scheduling area, this survey provides a review of the subject mainly from the perspective of scheduling algorithms. In this review, the challenges for Grid scheduling are identified. The various Grid scheduling algorithms such as Static, Dynamic, Ant Colony, Multi objective Evolutionary algorithms, Simulated Annealing, Taboo search and Genetic algorithms are discussed from different points of view. Their merits and demerits are pointed out and some general issues worthy of further exploration are proposed Algorithms, Simulated Annealing, Taboo search and Genetic algorithms are discussed from different points of view.