int main(void) { EOT sol; sol.push_back(1.1); sol.push_back(1.1); sol.push_back(3.9); sol.push_back(3.9); sol.push_back(5.4); sol.push_back(5.6); sol.push_back(7.011); sol.push_back(8.09); sol.push_back(8.21); std::cout << "expect: INVALID 9 1 2 3 4 5 6 7 8.1 8.2" << std::endl; edoRepairer<EOT>* rep1 = new edoRepairerFloor<EOT>(); edoRepairer<EOT>* rep2 = new edoRepairerCeil<EOT>(); edoRepairer<EOT>* rep3 = new edoRepairerRound<EOT>(); edoRepairer<EOT>* rep4 = new edoRepairerRoundDecimals<EOT>( 10 ); std::vector<unsigned int> indexes1; indexes1.push_back(0); indexes1.push_back(2); std::vector<unsigned int> indexes2; indexes2.push_back(1); indexes2.push_back(3); std::vector<unsigned int> indexes3; indexes3.push_back(4); indexes3.push_back(5); std::vector<unsigned int> indexes4; indexes4.push_back(6); indexes4.push_back(7); indexes4.push_back(8); edoRepairerDispatcher<EOT> repare( indexes1, rep1 ); repare.add( indexes2, rep2 ); repare.add( indexes3, rep3 ); repare.add( indexes4, rep4 ); repare(sol); std::cout << sol << std::endl; return 0; }
void initialization(EfficientSolution & efficient_population, std::vector<Solution*> &population, unsigned int numberOfLambda, std::vector<Box*> vectorBoxFinal, Data & data) { for(unsigned int i=0; i < vectorBoxFinal.size(); i++) { vector <bool> opened_facility; for(unsigned int j=0; j < data.getnbFacility(); j++) { opened_facility.push_back(vectorBoxFinal[i]->y_j()[j]); } vector <Solution* >tmp_solutions = repare(data, opened_facility, numberOfLambda, efficient_population); for(unsigned int s=0; s<tmp_solutions.size(); s++) population.push_back(tmp_solutions[s]); } }