We present two iterative algorithms that jointly optimize the transmit and receive filters with respect to the mean square error (MSE) in the downlink of a cellular multi-user multiple input single output (MISO) system for linear precoding. One algorithm is gradient-based and allows for cooperation among base stations, the second algorithm does not allow for cooperation between base stations and regards the base stations as competing players in a game. Furthermore, we propose a "smart" initialization which outperforms all other approaches we analyze without any need for iteration.