Abstract One of the goals envisioned by Grid computing is to make the execution of both computational and data-intensive problems possible. A key problem is finding the optimal set of resources to use for each submitted job, especially when we take network usage into consideration. To address this problem, we introduce an integer linear programming model, which incorporates the functions of job admission control and resource assignation. Scheduling decisions are based on a cost model for resources. We analyse our algorithm in terms of job acceptance rate, resource utilization and average job queueing time. The results show the correctness of the model, and prove the importance of networkawareness in grid scheduling algorithms.