11.05.2013 Views

Evaluación de Algoritmos de Ruteamiento Multipunto en Redes de ...

Evaluación de Algoritmos de Ruteamiento Multipunto en Redes de ...

Evaluación de Algoritmos de Ruteamiento Multipunto en Redes de ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

fu<strong>en</strong>teDKS<br />

suma = (1 + CostLCMatrix[vv]); //fu<strong>en</strong>teDKS<br />

//printf("Aporte [%d] = %.5e\n", vv, suma);<br />

invsuma = 1/suma;<br />

//printf("Invsuma = %.5e\n", invsuma);<br />

Contribucion[fu<strong>en</strong>teDKS] += invsuma;<br />

break;<br />

case DISTVIRTUAL:<br />

suma = adjace->peak()*(1 + CostLCMatrix[vv]);<br />

//printf("Aporte [%d] = %.5e\n", vv, suma);<br />

invsuma = 1/suma;<br />

//printf("Invsuma = %.5e\n", invsuma);<br />

Contribucion[fu<strong>en</strong>teDKS] += invsuma;<br />

break;<br />

}; //fin case heuristica<br />

};<br />

//printf("Contribucion parcial = %.5e\n", Contribucion[fu<strong>en</strong>teDKS]);<br />

};<br />

////Fin Asignacion //////<br />

//Borrado Memoria<br />

/*<br />

<strong>de</strong>lete [] <strong>de</strong>s<strong>de</strong>;<br />

<strong>de</strong>lete [] CostMatrixBC;<br />

<strong>de</strong>lete [] flagDestin2;<br />

<strong>de</strong>lete [] CostLCMatrix;<br />

<strong>de</strong>lete [] pVisitedBC;<br />

*/<br />

////////////////////////////////////FIN--DIJKSTRA--A--ADJ////////////////////////////<br />

CostAdj[adj->no<strong>de</strong>Ptr()->name()] = Contribucion[fu<strong>en</strong>teDKS];<br />

//printf("Contribucion <strong>de</strong> ADJ: %d = %.5e \n", fu<strong>en</strong>teDKS,<br />

Contribucion[fu<strong>en</strong>teDKS]);<br />

//printf("Mayor Aporte hasta este Mom<strong>en</strong>to -> %.4e // y //<br />

Contribucion <strong>de</strong> %d evaluandose ahora -> %.4e\n", CostAdy, adj->no<strong>de</strong>Ptr()->name(),<br />

CostAdj[adj->no<strong>de</strong>Ptr()->name()]);<br />

if (CostAdy no<strong>de</strong>Ptr()->name()]) {<br />

//se manti<strong>en</strong>e la mayor contribucion <strong>en</strong> CostAdy<br />

CostAdy = CostAdj[adj->no<strong>de</strong>Ptr()->name()];<br />

elmejor = adj->no<strong>de</strong>Ptr()->name(); //e.d. qui<strong>en</strong> va si<strong>en</strong>do<br />

"el mejor"<br />

fromBC = Entra0->no<strong>de</strong>Ptr()->name(); // <strong>de</strong> don<strong>de</strong> vi<strong>en</strong>e el<br />

adyac<strong>en</strong>te "mejor"<br />

//printf("RESUMEN: Desce %d al Mejor Parcial %d >><br />

CONTRIBUCION(%d) = %.5e \n", fromBC, elmejor, elmejor, CostAdy);<br />

};<br />

//if ((adj->next()) == NULL) break;<br />

adj=adj->next();<br />

}<br />

else return(9999); //Esto no <strong>de</strong>biera pasar<br />

}; //<strong>en</strong>d loop [while] <strong>de</strong> todos los adyac<strong>en</strong>tes a cada miembro <strong>de</strong>l arbol parcial<br />

Entra0 = Entra0 -> next();<br />

//if (Entra0->next()==NULL) break;<br />

} while (Entra0 != NULL); //<strong>en</strong>d loop [do] <strong>de</strong> todos los miembros <strong>de</strong>l arbol parcial<br />

//Una vez elegido el nodo adyac<strong>en</strong>te que mejor contribuye a la expacion <strong>de</strong>l arbol<br />

parcial<br />

//se agrega tal nodo al arbol<br />

Entra0 = UltEntra; //para recorrer la lista <strong>de</strong>s<strong>de</strong> la ultima <strong>en</strong>trada <strong>de</strong> el mejor<br />

nodo adj al arbol parcial<br />

////////////////////PREVIENE CREACION DE ARBOL CON ENLACES SATURADOS //////////////<br />

if ( CostAdj[elmejor] == DBL_MAX) {<br />

if (pAgreg != NULL) <strong>de</strong>lete [] pAgreg;<br />

if (Entra0 != NULL) <strong>de</strong>lete [] Entra0;<br />

if (Entra1 != NULL) <strong>de</strong>lete [] Entra1;<br />

if (UltEntra != NULL) <strong>de</strong>lete [] UltEntra;<br />

if (flagDestin != NULL) <strong>de</strong>lete [] flagDestin;<br />

if (CostAdj != NULL) <strong>de</strong>lete [] CostAdj;<br />

110

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!