A method of operation of a network node (22, 24, 26, 28, 60) in a cellular communications system comprising a plurality of source network nodes (TX 1, TX M) wirelessly communicating with a plurality of destination nodes (RX 1, RX M, RX N) via a plurality of relay nodes (RN 1, RN 2, RN N), the method comprising the step of: determining, for each of the plurality of relay nodes, beamforming weights for a plurality of subchannels (A, B, C, D, 11, 12, 13, 14, 15, 16, 17, 18) such that a parameter is minimized subject to a defined channel quality, the parameter being one of the group consisting of a maximum per subchannel interference and a maximum per relay power usage, wherein determining the beamforming weights comprises: determining (100, 200) a dual problem of the minimization of the parameter where a solution maximizing the dual problem will minimize the parameter; reformulating (104, 204) the dual problem into a semidefinite programming, SDP, problem; determining (108, 208) if a plurality of signal-to-noise ratio, SNR, constraints are all active; if the plurality of SNR constraints are all active, solving (110, 210) the SDP problem and determining the beamforming weights for each of the plurality of relay nodes by solving the SDP problem and determining the optimal beamforming weights formulaically such that the parameter is minimized; and if the plurality of SNR constraints are not all active, solving (114, 214) the SDP problem and determining the beamforming weights for each of the plurality of relay nodes by solving a sequence of SDP problems and determining the beamforming weights for each of the plurality of relay nodes using an iterative method such that the parameter is minimized. determining, for each of the plurality of relay nodes, beamforming weights for a plurality of subchannels (A, B, C, D, 11, 12, 13, 14, 15, 16, 17, 18) such that a parameter is minimized subject to a defined channel quality, the parameter being one of the group consisting of a maximum per subchannel interference and a maximum per relay power usage, wherein determining the beamforming weights comprises: determining (100, 200) a dual problem of the minimization of the parameter where a solution maximizing the dual problem will minimize the parameter; reformulating (104, 204) the dual problem into a semidefinite programming, SDP, problem; determining (108, 208) if a plurality of signal-to-noise ratio, SNR, constraints are all active; if the plurality of SNR constraints are all active, solving (110, 210) the SDP problem and determining the beamforming weights for each of the plurality of relay nodes by solving the SDP problem and determining the optimal beamforming weights formulaically such that the parameter is minimized; and if the plurality of SNR constraints are not all active, solving (114, 214) the SDP problem and determining the beamforming weights for each of the plurality of relay nodes by solving a sequence of SDP problems and determining the beamforming weights for each of the plurality of relay nodes using an iterative method such that the parameter is minimized. determining (100, 200) a dual problem of the minimization of the parameter where a solution maximizing the dual problem will minimize the parameter; reformulating (104, 204) the dual problem into a semidefinite programming, SDP, problem; determining (108, 208) if a plurality of signal-to-noise ratio, SNR, constraints are all active; if the plurality of SNR constraints are all active, solving (110, 210) the SDP problem and determining the beamforming weights for each of the plurality of relay nodes by solving the SDP problem and determining the optimal beamforming weights formulaically such that the parameter is minimized; and if the plurality of SNR constraints are not all active, solving (114, 214) the SDP problem and determining the beamforming weights for each of the plurality of relay nodes by solving a sequence of SDP problems and determining the beamforming weights for each of the plurality of relay nodes using an iterative method such that the parameter is minimized.