A Bilevel Programming Model for Grid Scheduling