Pātuhitia tēnei: A class of algorithms for distributed constraint optimization