A hybrid approach to discrete mathematical programming