SoftRank: optimizing non-smooth rank metrics
Learning to rank using gradient descent