The optimization of the transmitter precoder (steering vectors and power allocation) for a MIMO Broadcast Channel (MIMO-BC) subject to general linear constraints is considered. These include various types of system constraints such as sum power, per-antenna or per-group-of-antennas power constraints, and "forbidden interference direction" constraints. We consider the transmitter optimization problem under either the optimal dirty-paper coding and the simple suboptimal linear zero-forcing beamforming strategies. In both cases, we provide numerically efficient algorithms that solve the problem in the most general form. As an application, we consider a multi-cell scenario with partial cell cooperation, where each cell optimizes its precoder by taking into account interference constraints on specific users in adjacent cells. The effectiveness of the proposed method is evaluated in a simple system setting with two adjacent cells, under different fairness criteria that emphasize the role of users near the cell "boundary". Our result show that the proposed "active" Inter-Cell Interference (ICI) mitigation technique outperforms the more conventional "static" ICI mitigation technique known as fractional frequency reuse.