Algorithm―MOR-PT

while(!Batches reaches destination){

newF = Ф; //new forwarding set containing eligible forwarders

for all i Є F (forwarder set consisting of node (n1, n2, n3, n4, ∙∙∙, nn)){

if(ADRi > ADRth and AECi < AECth and ATDi < ATDth)

{

new F = newF U {ni};

}

}

if (newF= Ф){

if(REi >> REth ){

TPi = SelectOptimalTp();

Get ATDi, ADRi and AECi for the power level TPi;

MOR-PT();

return;

}

}

encapsulate forwarder set (newF) → data packet ;

opportunistically send the packet, received by only selected forwarders and discarded by others;

}