DISJUNCTIVE PROGRAMMING: CUTTING PLANES FROM LOGICAL CONDITIONS