Consider a heterogeneous cluster system, consisting of processors with varying processing capabilities and network links with varying bandwidths. Given a DAG application to be scheduled on such a system, the search space of possible task schedules is immense. One possible approach for this type of NP-complete problem, which has been proposed by previous researchers, starts with the best task schedule found by a fast deterministic task scheduling algorithm, and then iteratively improves the task schedule using a random search method such as genetic algorithm search. However, such an approach can lead to extremely long search times, and the solutions found are sometimes not significantly better than those found by the original deterministic task scheduling algorithm. In this paper, we propose an alternative strategy, termed Push-Pull, which starts with the best task schedule found by a fast deterministic task scheduling algorithm, and then iteratively attempts to improve the current be...