  We present the OptiBounce algorithm, a new and fast method for finding the
bounce action for cosmological phase transitions. This is done by direct
solution of the "reduced" minimisation problem proposed by Coleman, Glaser, and
Martin. By using a new formula for the action, our method avoids the rescaling
step used in other algorithms based on this formulation. The bounce path is
represented using a pseudo-spectral Gauss-Legendre collocation scheme leading
to a non-linear optimisation problem over the collocation coefficients.
Efficient solution of this problem is enabled by recent advances in automatic
differentiation, sparse matrix representation and large scale non-linear
programming. The algorithm is optimised for finding nucleation temperatures by
sharing model initialisation work between instances of the calculation when
operating at different temperatures. We present numerical results on a range of
potentials with up to 20 scalar fields, demonstrating O(1%) agreement with
existing codes and highly favourable performance characteristics.
