The Bus Routes Planning Problem (BRPP) is the problem of finding a set of routes that minimizes total traveling and delay times, while simultaneously satisfying the system's technical constraints. In this paper we use a directed weighted graph for planning bus routes in a public transportation network, which each node of this graph represents a street, and two distinct nodes are connected by a link if their equivalent streets are adjacent in the main network. A set of terminal nodes, where routes can start and end, traveling times of traversing through streets, delay times of street changings, and number of required routes are available. To solve this problem, we use a graph coloring methodology to formulate an integer programming problem. In the real world problems, there are a large number of nodes and links and consequently solving the presented integer programming problem via the classic algorithms is out of reach. We use a genetic based search heuristic algorithm to tackle this issue.