A hybrid machine-learning and optimization method to solve bi-level problems. (1st April 2018)