In this paper, we study the problem of downlink (DL) sum rate maximization in codebook based multiuser (MU) multiple input multiple output (MIMO) systems. The user equipments (UEs) estimate the DL channels using pilot symbols sent by the access point (AP) and feedback the estimates to the AP over a control channel. We present a closed form expression for the achievable sum rate of the MU-MIMO broadcast system with codebook constrained precoding based on the estimated channels, where multiple data streams are simultaneously transmitted to all users. Next, we present novel, computationally efficient, minorization-maximization (MM) based algorithms to determine the selection of beamforming vectors and power allocation to each beam that maximizes the achievable sum rate. Our solution involves multiple uses of MM in a nested fashion. Based on this approach, we propose and contrast two algorithms, which we call the square-root-MM (SMM) and inverse-MM (IMM) algorithms. The algorithms are iterative and converge to a locally optimal beamforming vector selection and power allocation solution from any initialization. We evaluate the performance and complexity of the algorithms for various values of the system parameters, compare them with existing solutions, and provide further insights into how they can be used in system design.