Auto Commit

This commit is contained in:
2020-03-30 18:14:32 -06:00
parent 0159e832de
commit 4de5acfba2

View File

@@ -11,6 +11,7 @@ std::vector<double> MakePermutationMatrix::MakePermutation(std::vector<City> sou
std::vector<double> returnVector; std::vector<double> returnVector;
std::vector<double> localCostVector; std::vector<double> localCostVector;
std::size_t offset = 12; std::size_t offset = 12;
std::size_t counter = 0;
std::sort(source.begin(), source.end()); std::sort(source.begin(), source.end());
std::vector<City> myPerm = source; std::vector<City> myPerm = source;
std::vector<City> nextPerm = source; std::vector<City> nextPerm = source;
@@ -30,7 +31,7 @@ std::vector<double> MakePermutationMatrix::MakePermutation(std::vector<City> sou
returnVector.resize(source.size(), 0); returnVector.resize(source.size(), 0);
//the "nextPerm" is the permutation to stop at. //the "nextPerm" is the permutation to stop at.
std::rotate(nextPerm.begin(), nextPerm.begin()+(rank+1)*offset, nextPerm.end()); //std::rotate(nextPerm.begin(), nextPerm.begin()+(rank+1)*offset, nextPerm.end());
//rotate my perm. //rotate my perm.
std::rotate(myPerm.begin(), myPerm.begin()+offset*rank,myPerm.end()); std::rotate(myPerm.begin(), myPerm.begin()+offset*rank,myPerm.end());
@@ -40,11 +41,11 @@ std::vector<double> MakePermutationMatrix::MakePermutation(std::vector<City> sou
std::cout << source[i].GetName() << " "; std::cout << source[i].GetName() << " ";
} }
std::cout << std::endl << std::endl; std::cout << std::endl << std::endl;
std::cout <<"Rank: " << rank << " next perm: "; // std::cout <<"Rank: " << rank << " next perm: ";
for(int i = 0; i < nextPerm.size(); i++){ // for(int i = 0; i < nextPerm.size(); i++){
std::cout << nextPerm[i].GetName() << " "; // std::cout << nextPerm[i].GetName() << " ";
} // }
std::cout << std::endl; // std::cout << std::endl;
do { do {
double cost = 0; double cost = 0;
std::cout <<"Rank: " << rank << " myPerm: "; std::cout <<"Rank: " << rank << " myPerm: ";
@@ -61,7 +62,8 @@ std::vector<double> MakePermutationMatrix::MakePermutation(std::vector<City> sou
// std::cout << "cost: " << cost <<std::endl; // std::cout << "cost: " << cost <<std::endl;
//Push permutation cost to the localCostVector. //Push permutation cost to the localCostVector.
localCostVector.push_back(cost); localCostVector.push_back(cost);
} while (std::next_permutation(myPerm.begin(), myPerm.end()) && myPerm!=nextPerm ); counter++;
} while (std::next_permutation(myPerm.begin(), myPerm.end()) && counter != offset );
// //find the lowest and add it to a lowest vector. // //find the lowest and add it to a lowest vector.
// auto lowest = std::vector<double>(1,localCostVector[0]); // auto lowest = std::vector<double>(1,localCostVector[0]);