Mathematical Programming for Generalized Turbo Coding Schemes (MathTurbo)