BP raised its dividend by 4% on Tuesday and said it would start a share buyback programme worth $1.4 billion thanks to an improving outlook for its business on higher oil and gas prices.