cutting plane algorithm