Interpolation Between Several Locations

Situation: A herd of animals are moving together, if one of the animals are within certain distance of the others(say 5 units), it tries to move (say 2 units) away from each of the others. In this way the herd should spread out.

Problem: Since Unity's Vector3.Lerp only supports two vectors at a time, I'm unsure how to go about doing more. What contributes to this problem is the fact that there are a variable amount of interpolations: there may only be two animals in range of each other, or there may be seven.

Short Story: Trying to get an object to move as close to a certain distance to other objects within range as it can.

Psuedo Code so far:

 //Figure Out Who Is In Range
        lerpGroup = new Array();

          for (i = 0; i < herdGroup.length; i++) 
          {
            If (withinRange(herdGroup*.position) {*
 _lerpGroup.push(herdGroup*.position); //HerdGroup is all the animals*_
 _*}*_
 _*}*_
 _*//Interpolate*_
 _*{*_
 _*//(this is where I need help)*_
 _*//(outputs: targetPos)*_
 _*}*_
_*```*_

Sounds like flocking behavior. Google that. Also look at the bird scripts from the original Unity Island demo (don't know if they are in the current one).