Primal-dual algorithm for contextual stochastic combinatorial optimization