Discrete solution pools and noise-contrastive estimation for predict-and-optimize