1. A method for beamforming in a satellite communications network, the method comprising: generating, using at least one computer processor, a minimum metric function with an output representing a metric of a satisfaction of transmission requirements for a satellite communications system configured to produce at least two beams, the minimum metric function being a function of beam weight parameters, the beam weight parameters including a first set of beam weight parameters representing amplitudes and phases of output signals at high power amplifiers used to form a first beam and a second set of beam weight parameters representing output signals at high power amplifiers used to form a second beam; calculating, using the at least one computer processor, an output value of the minimum metric function using initial values for the beam weight parameters that represent amplitudes and phases of output signals at high power amplifiers; determining, using the at least one computer processor, a direction to modify the values of the beam weight parameters that represent amplitudes and phases of output signals at high power amplifiers based on the calculated output value; determining, using the at least one computer processor, updated values of the beam weight parameters that represent amplitudes and phases of output signals at high power amplifiers based on maximizing the output value of the minimum metric function by moving the values of the beam weight parameters in the determined direction; and providing, using the at least one computer processor, information to a satellite that enables the satellite generate the first beam and the second beam, where the information is based on the updated values of the beam weight parameters that represent amplitudes and phases of output signals at high power amplifiers.