Durante las últimas décadas, la necesidad de movilidad de las personas ha sufrido un increíble aumento, lo que ha provocado una gran demanda diaria de los medios de transporte público, y como consecuencia, del transporte ferroviario. Además, tal demanda sigue aumentando día a día en número y en exigencia, por lo que resulta fundamental lograr una planificación adecuada del servicio. El presente proyecto, se centra en una de las etapas necesarias para su consecución, concretamente, tiene el propósito de desarrollar e implementar un modelo de programación lineal mixta-entera que permita determinar las frecuencias óptimas junto con el resto de variables necesarias para programar cada una de las líneas que componen una red de cercanías, atendiendo a las características y exigencias que supone un sistema de transporte como el que se presenta. Adicionalmente, debido a que el modelo se propone para una red compuesta por diferentes líneas que cuentan con varias estaciones en común, los pasajeros tendrán en la mayoría de las ocasiones diferentes opciones o rutas para llegar a un mismo destino, y por ello, surge la necesidad de realizar una asignación de tránsito que nos permita ver cómo se comportan los usuarios dada la red de transporte desarrollada, es decir, que estrategias de viaje seleccionan para llegar al destino deseado. Los dos problemas presentados guardan una estrecha relación, ya que, en base a las frecuencias establecidas, los pasajeros decidirán escoger una ruta u otra, pero al mismo tiempo, en función del número de viajeros que utilicen una línea, se establecerá una determinada frecuencia de paso. Por lo tanto, se busca alcanzar un equilibrio entre ambos problemas. Así mismo, con el objetivo de satisfacer al mismo tiempo tanto a operadores como a pasajeros, se persigue en todo momento la minimización de los gastos de tripulación y de los costes de operación de los diferentes modelos de tren puestos en marcha, y, junto con ello, minimizar también el valor monetario del tiempo total de viaje empleado por los pasajeros para llegar a sus correspondientes destinos, incluyendo no sólo el tiempo a bordo del tren, sino también tiempos de transferencia y esperas. No obstante, debido a que ambos objetivos son contrapuestos, antes de escoger una solución final, se muestreará la Frontera de Pareto mediante la resolución de distintos escenarios, a lo largo de los cuales, se irá variando la ponderación de cada objetivo. Finalmente, con el propósito de evaluar el desempeño del modelo de optimización propuesto, se ha realizado su aplicación práctica en una parte de la red de cercanías de Valencia. Dicha implementación, ha sido llevada a cabo mediante el lenguaje de programación Python y, usando a su vez como software de optimización, el solver Gurobi. Over the last decades, the people´s need for mobility has suffered an incredible increase, which has caused a great daily demand for public transport, and consequently, for rail transport. In addition, such demand continues to increase day by day in number and in request, so it is essential to achieve an adequate planning of the service. The present project focuses on one of the necessary stages for its achievement, specifically, it has the purpose of developing a linear programming model that allows determining the optimal frequencies along with the rest of necessary variables to schedule each of the lines that make up a commuter rail network, considering the characteristics and requests of a transport system such as the one presented. Additionally, due to the model is proposed for a network composed of different lines that have in common several stations, in most cases, passengers will have different options or routes to reach the same destination and, because of that, the need arises to make a transit assignment that allows us to see how the users behave given the transport network developed, that is, which travel strategies they select to reach the desired destination. The two problems presented are closely related, since, based on the established frequencies, passengers will choose one route or another, but at the same time, depending on the number of passengers using a line, a certain frequency will be established. Therefore, it is sought to find a balance between both problems. Likewise, with the objective of satisfying both operators and passengers at the same time, it is pursued the minimization of crew costs and operation costs of the different train models put in place, and, along with this, also minimize the monetary value of the total trip time used by passengers to reach their corresponding destinations, including not only on-board travel times, but also transfer times and waiting times. However, since both objectives are opposed, before choosing a final solution, different points of the Pareto Border will be obtained through the resolution of different scenarios in which the weighting of each objective will vary. Finally, with the purpose of evaluating the performance of the proposed linear programming model, it has been carried out its practical application in a part of the Valencia commuter network. This implementation has been carried out using the Python programming language and, using as optimization software, the Gurobi solver. Universidad de Sevilla. Grado en Ingeniería de las Tecnologías Industriales