1. A method, comprising: receiving a plurality of different characteristics relating to a proposed communication; storing in a database a data structure representing a plurality of different characteristics of each of a plurality of potential contacts; processing the data structure with an automated processor, to generate a prioritized list of the plurality of potential contacts based on a combined cost function having at least the plurality of characteristics of each of the plurality of potential contacts, and the plurality of different characteristics relating to a proposed communication as function parameters, wherein the combined cost function has at least one term for each of the plurality of potential contacts each term comprising a combination of a subset of the plurality of different characteristics and a subset of the plurality of different characteristics relating to a proposed communication; selecting, with the automated processor, at least one of actual contact from the list in dependence on at least the prioritized list; and communicating with the selected at least one actual contact.