From feasibility to improvement to proof: three phases of solving mixed-integer programs. (4th May 2018)