OK, I realised the flaw in my argumentation. If I have 1000 GBP to give away, I could either ‘walk’ 1000 GBP in direction of charity x or 1000 GBP in direction of charity y but only sqrt(x^2 + y^2) in a combination of x and y, e.g. the maximal gradient. The optimal allocation (x, y) of money is what maximises the scalar product of gradient (dU/dx, dU/dy) * (x, y) under the restriction that x + y = 1000. If dU/dx = dU/dy a 50⁄50 allocation as good as an allocation of all money to the most effective charity. Otherwise giving all money to the most effective charity maximises utility. Sorry for the confusion and thanks for the discussion.
OK, I realised the flaw in my argumentation. If I have 1000 GBP to give away, I could either ‘walk’ 1000 GBP in direction of charity x or 1000 GBP in direction of charity y but only sqrt(x^2 + y^2) in a combination of x and y, e.g. the maximal gradient. The optimal allocation (x, y) of money is what maximises the scalar product of gradient (dU/dx, dU/dy) * (x, y) under the restriction that x + y = 1000. If dU/dx = dU/dy a 50⁄50 allocation as good as an allocation of all money to the most effective charity. Otherwise giving all money to the most effective charity maximises utility. Sorry for the confusion and thanks for the discussion.