Achieving pareto optimality through distributed learning