Exemplo n.º 1
0
 public function getCvmpWithMaxCostBenefit(&$pareto)
 {
     //if(count($pareto) == 1) return  array_pop($pareto);
     $cvmpMax = array_pop($pareto);
     $cbMax = Qualifiers::getCostBenefit($cvmpMax);
     foreach ($pareto as $cvmp) {
         $cb = Qualifiers::getCostBenefit($cvmp);
         if ($cb > $cbMax) {
             $cbMax = $cb;
             $cvmpMax = $cvmp;
         }
     }
     return $cvmpMax;
 }
Exemplo n.º 2
0
 /**
  * @depends testBenefit
  */
 public function testCostBenefit()
 {
     Qualifiers::add('QUAtest');
     Qualifiers::add('QUAmirror');
     Costs::add('COSTextimp');
     $places = ['v1' => 'p1', 'v2' => 'p1', 'v3' => 'p2', 'v4' => 'p2', 'v5' => 'p3'];
     $realCvmp = Cvmp::buildCVmpByPlacements($places);
     $cvmp = Cvmp::buildCVmpByPlacements($places);
     $cvmp['mirror'] = 11;
     // 220 - 200 / 2 (costTest = 2)
     $this->assertEquals(10, Qualifiers::getCostBenefit($cvmp), "");
 }