Compromise programming (CP)