For a non-negative matrix A the spectral radius of the product XA is maximized over all non-negative diagonal matrices X with trace 1. Instead of following the naive approach of solving a sequence of matrix eigenvalue problems, we construct a related minimization problem, with a rather simple gradient flow, and follow this flow with a steepest descent method. This procedure gives lower bounds and eventually the solution with desired accuracy. On the other hand, we obtain an upper bound in the form of the max algebra Perron root of the matrix A (and some refined upper bounds). Numerical experiments show that in many cases the upper bound is a surprisingly good estimate.