The set covering problem (SCP), which has many practical applications, is one of the fundamental combinatorial problems. In this paper, a new neighborhood structure is proposed for solving this problem. In this structure, a linear programming (LP) model is generated by relaxing binary constraints, removing a selected column, and adding some inequalities. Then, a sub integer programming model, by joining the LP model solution and the incumbent solution, is created and its solution is considered as a neighbourhood solution. The neighbourhood structure can be implemented in various metaheuristics. This paper presents a matheuristic by combining a tabu search metaheuristic and the proposed neighbourhood structure. The matheuristic begins with an initial feasible solution. The initial solution is generated using a proposed heuristic method. The parameters of the matheuristic are tuned by a three-step method based on design of experiments. To evaluate the efficiency and effectiveness of the proposed algorithm, several standard test problems are used. The experimental results show the high performance of the proposed algorithm. Finally, a mathematical model based on the SCP is used to formulate the train driver scheduling (TDS) in Iranian railways. The TDS is performed in two phases, i.e., duty generation to build all feasible duties, and duty optimization to assign the best possible duty to each train. The breadth-first algorithm is applied to make duties. The generated duty optimization problem has about one million duties. For solving this huge model, the proposed matheuristic is used. The algorithm is successfully applied to solve the TDS in Iranian railways and the results are reported.