Generating well-behaved utility functions for compromise programming | Publicación