Multi-Attribute Preference Functions