We consider the multicast routing and wavelength assignment (MC-RWA) problem on WDM bidirectional ring networks without wavelength conversion. We give an integer programming formulation of the problem and propose an algorithm to solve it optimally. The algorithm is based on column generation and branch-and-price. We test the proposed algorithm on randomly generated data and the test results show that the algorithm gives optimal solutions to all of the test problems.