Optimal Transport on Discrete Domains