if( sortedCluster.get( i ).getNbFreeNodes() >= minNode )
{
max = 0 ;
+ sortedCluster.get( i ).initMoreGNode() ;
max = sortedCluster.get( i ).getNbFreeNodes() - nbSave ;
for( int j = 0 ; j < max ; j++ )
{
- g = sortedCluster.get( i ).nextGNode() ;
+ g = sortedCluster.get( i ).moreGNode() ;
ret.add( g ) ;
- sortedCluster.get( i ).setGNodeStatus( g, true ) ;
nbFound ++ ;
boolean ok ;
double calcLoc = 0 ;
- double locP ;
- int N ;
- double P ;
+ double normN ;
+ double normP ;
+
+ double Nm = 0, Pm = 0 ;
+
+ for( int i = 0 ; i < tmp.size() ; i++ )
+ {
+ Nm += tmp.get( i ).getNbFreeNodes() ;
+ Pm += tmp.get( i ).getAvgAvailablePower() ;
+ }
for( int i = 0 ; i < tmp.size() ; i++ )
{
- N = tmp.get( i ).getNbFreeNodes() ;
- P = tmp.get( i ).getAvailablePower() ;
- locP = P / N ;
+ normN = tmp.get( i ).getNbFreeNodes() * 100 / Nm ;
+ normP = tmp.get( i ).getAvgAvailablePower() * 100 / Pm ;
/** The magic formula :P **/
- calcLoc = Math.sqrt( locP * Math.pow((1.5 * hd + 0.3), 2) +
- N * Math.pow((1.1 - hd), 2 ) ) ;
+ calcLoc = Math.sqrt( Math.pow( (normP * hd), 2) +
+ Math.pow( (normN *(1 - hd)), 2 ) ) ;
ok = false ;