Practitioners of operations research often consider difficult variants of well-known optimization problems, and struggle to find a good algorithm for their variants while decades of research have produced highly efficient algorithms for the well-known problems. We introduce a "machine learning for operations research" paradigm to build efficient heuristics for such variants of well-known problems. If we call the difficult problem of interest the hard problem, and the well known one the easy problem, we can describe our paradigm as follows. First, use a machine learning predictor to turn an instance of the hard problem into an instance of the easy one, then solve the instance of the easy problem, and finally retrieve a solution of the hard p...