A high a level of concentration is essential in certain working areas such as in air traffic control, assembly line works or supervision. In such areas breaks are mandatory to avoid fatal errors. Breaks are regulated due to safety rules or legal demands. The break scheduling problem (Bsp) deals with these kind of regulations. The aim of the Bsp is to assign breaks to a given shift plan so that all regulations regarding breaks are fulfilled while violations of staff requirements are minimized. We give a mixed integer programming formulation for the general Bsp. To solve the Bsp we propose a large neighborhood search (LNS) algorithm. It is made up of an initialisation phase and two sub-algorithms: a local search algorithm and a mixed integer programming (MIP) algorithm. To solve the MIP formulation the solver CPLEX is used. The local search sub-algorithm uses two moves to optimize the solution: swap and assignment. In addition, a random-walk procedure is used to escape local optima. Local search focuses only on single breaks. The MIP sub-algorithm removes the break assignment of an entire shift and reassigns the breaks optimally. Sub-algorithms are applied alternately and are chosen by a selector at each iteration. We tested three different selection procedures: random-selector, timebound-selector and probability-selector. The probability-selector, using a function to regulate the probability, has shown to be superior. Further, different parameter settings, which influence the performance of the algorithm, are evaluated. In total 56 experiments were performed taking a total runtime of 2,736 hours. We computed final results for 30 instances, 20 obtained from a real-life scenario and 10 randomly generated. The LNS algorithm outperforms our local search implementation in most of the cases. However, it did not yet reach the upper bounds of the best known results so far.