  We consider a regulator driving individual choices towards increasing social
welfare by providing personal incentives. We formalise and solve this problem
by maximising social welfare under a budget constraint. The personalised
incentives depend on the alternatives available to each individual and on her
preferences. A polynomial time approximation algorithm computes a policy within
few seconds. We analytically prove that it is boundedly close to the optimum.
We efficiently calculate the curve of social welfare achievable for each value
of budget within a given range. This curve can be useful for the regulator to
decide the appropriate amount of budget to invest. We extend our formulation to
enforcement, taxation and non-personalised-incentive policies. We analytically
show that our personalised-incentive policy is also optimal within this class
of policies and construct close-to-optimal enforcement and proportional
tax-subsidy policies. We then compare analytically and numerically our policy
with other state-of-the-art policies. Finally, we simulate a large-scale
application to mode choice to reduce CO2 emissions.
