1. A computer-implemented system for conducting an automatic negotiation, comprising: a database operable to store profiles for parties to the negotiation, each profile specifying values for one or more parameters being negotiated, these values reflecting a desirable outcome of the negotiation for the associated party; and a matching server operable to: access an offer from a first party containing values for one or more of the parameters being negotiated; compute a distance between the values in the offer and the values in the profile of a second party; if the distance is acceptably small, cause the offer to be accepted by the second party to conclude the negotiation; and if the distance is not acceptably small, automatically modify one or more values in the offer such that the distances between the modified offer and the profiles of the first and second parties are acceptably small simultaneously and, in response, cause the modified offer to be accepted by both the first and second parties to conclude the automatic negotiation.