supports mixed integer programming