5 circles animating to random locations on stage, but must not touch each other

THE BASIC IDEA:
add 5 circles on random locations on stage…
and animate them to random locations on stage without touching each other…

THE PROBLEM:
the code below works perfectly (up to a certain point)…
it succeeds in making the circles animate to random points on stage…
it also succeeds in detecting if once circle comes to close proximity with another circle… only problem is, i dont know what i should do next…

code on main timeline:

var enemyArray:Array = new Array();
var timeToCreateEnemy:Timer;

// set up timer that will fire every 2 seconds, 5 times
timeToCreateEnemy = new Timer(2000, 5)
timeToCreateEnemy.addEventListener(TimerEvent.TIMER, createEnemy);
timeToCreateEnemy.start();

// function that will create an enemy when timer fires
function createEnemy(event:TimerEvent):void
{
    var enemyShip:MovieClip = new Enemy();
    enemyArray.push(enemyShip); // put this enemy into the array
    enemyShip.x = Math.round(Math.random() * stage.stageWidth);
    enemyShip.y = Math.round(Math.random() * stage.stageHeight);
    addChild(enemyShip);
}

code on Enemy class:

package
{
    import flash.display.*;
    import flash.events.*;
    import flash.utils.Timer;
    import fl.transitions.Tween;
    import fl.transitions.easing.*;
    import fl.transitions.TweenEvent;
    
    public class Enemy extends MovieClip
    {
        private var timeToMove:Timer;
        private var indexOfThis:int;
        private var randomXPosition:Number;
        private var randomYPosition:Number;
        private var thisSpeed:Number;
        private var xDistanceFromOtherEnemy:Number;
        private var yDistanceFromOtherEnemy:Number;
        private var distanceFromOtherEnemy:Number;
        private var moveXTween:Tween;
        private var moveYTween:Tween;
        private var thisRadius:Number;
        
        public function Enemy()
        {
            initEnemy();
        }
        
        function initEnemy():void
        {
            // set up some variables
            thisSpeed = 200; // speed
            thisRadius = this.width; // radius of this enemy
            
            // set up timer that runs the moveEnemy function
            timeToMove = new Timer(3000, 1);
            timeToMove.addEventListener(TimerEvent.TIMER, moveEnemy);
            timeToMove.start();
            
            // add an enterframe event listener
            this.addEventListener(Event.ENTER_FRAME, runEnterFrame);
        }
        
        function runEnterFrame(event:Event):void
        {
            // test if enemy is in close proximity with another enemy
            if(MovieClip(root).enemyArray.length > 0)
            {
                for(var i:Number = 0; i < MovieClip(root).enemyArray.length; i++)
                {
                    xDistanceFromOtherEnemy = this.x - MovieClip(root).enemyArray*.x;
                    yDistanceFromOtherEnemy = this.y - MovieClip(root).enemyArray*.y;
                    distanceFromOtherEnemy = Math.sqrt( Math.pow(xDistanceFromOtherEnemy, 2) + Math.pow(yDistanceFromOtherEnemy, 2) );
                    var otherEnemyRadius:Number = MovieClip(root).enemyArray*.width / 2;
                    if(distanceFromOtherEnemy <= thisRadius + otherEnemyRadius + 10 && MovieClip(root).enemyArray* != this)
                    {
                        trace("this enemy is about to collide with another enemy");
                        // need to put some kind of code here...
                        /* i already tried:
                        
                        moveXTween.stop();
                        moveYTween.stop();
                        timeToMove.start();
                        
                        ...and i get weird results / errors */
                        
                    }
                }
            }
        }
        
        // set up a Tween and begin moving
        function moveEnemy(event:TimerEvent):void
        {
            // set a random target position and animate the enemy towards it
            randomXPosition = Math.round(Math.random() * stage.stageWidth);
            randomYPosition = Math.round(Math.random() * stage.stageHeight);
            var dist = Math.sqrt(Math.pow(Math.abs(randomXPosition - this.x),2) + Math.pow(Math.abs(randomYPosition - this.y),2));
            var time = dist / thisSpeed;
            moveXTween = new Tween(this, "x", None.easeNone, this.x, randomXPosition, time, true);
            moveYTween = new Tween(this, "y", None.easeNone, this.y, randomYPosition, time, true);
            
            // set up a listener for when the tween finishes; if so, restart the timer
            moveYTween.addEventListener(TweenEvent.MOTION_FINISH, restartTimer);
        }
        
        // funtion that restarts timer
        function restartTimer(event:TweenEvent):void
        {
            timeToMove.start();
        }
    }
}