El presente trabajo abordó el problema indicado para una situación trabajada en la literatura anteriormente para el cual se implemento una heurística para la cual se diseñó un aplicativo en Python que busca un conjunto de rutas iniciales las cuales cumplían con satisfacer toda la demanda entre todos los pares de nodos posibles respetando las conexiones admitidas por el sistema. Además, se buscó que las demandas se lograran satisfacer con viajes directos o con máximo un transbordo, para esto, se necesitan como datos de entrada los tiempos y demandas entre nodos. Dicha heurística también calculó las respectivas frecuencias de cada una de las rutas que se dan en buses por minuto. Una vez se obtuvieron los resultados anteriores se pasó a calcular las funciones objetivo donde la primera calculaba el tiempo total de los usuarios en el sistema y la segunda, el número de buses necesarios para satisfacer la demanda. Con base a las rutas y frecuencias iniciales se procede a implementar la metaheurística LNS (Large Neighborhood Search, por sus siglas en inglés) para la cual se diseñó un aplicativo en VBA, que busca soluciones competitivas mediante el cambio de vecindario iterativamente, propuesta por Shaw (Pisinger, Ropke, 2010) que se define implícitamente por un método de destrucción y reparación, el método de destrucción destruye partes de la solución inicial y el método de reparación construye lo destruido.