1
0
Files
SimulatedAnnealing/test_methods.cpp
2023-12-31 15:42:33 +01:00

95 lines
2.3 KiB
C++
Executable File

#include<iostream>
#include<stdlib.h>
#include<time.h>
#include"models.h"
#include"methods.h"
int main(){
time_t start = time(nullptr);
srand(1);//time(NULL));
/*
Data Exp1("Experience1");
Exp1.randSet(100,1,1.);
LinearApprox Lin1(Exp1);
//std::cout << Exp1.getName() << " " << Lin1.getExpData().getName() << std::endl;
//Exp1.displayData();
//Lin1.getExpData().displayData();
Model* Mod1 = new LinearApprox(Lin1);
//std::cout << Mod1->getCost() << std::endl;
//Lin1.exportModel();
//Mod1->exportModel();
SimulatedAnnealing Opti1(Mod1);
Opti1.initialise();
Opti1.execute();
Opti1.finalise();
free(Mod1);
Data Exp2("Experience2");
Exp2.randSet(100,2,5.);
PolynomialApprox Pol2(Exp2,2);
//std::cout << Exp2.getName() << " " << Pol2.getExpData().getName() << std::endl;
//Exp2.displayData();
//Pol2.getExpData().displayData();
Model* Mod2 = new PolynomialApprox(Pol2);
//std::cout << Mod2->getCost() << std::endl;
//Pol2.exportModel();
//Mod2->exportModel();
SimulatedAnnealing Opti2(Mod2);
Opti2.initialise();
Opti2.execute();
Opti2.finalise();
free(Mod2);
Data Exp3("Experience3");
Exp3.randSet(50,4,150.);
PolynomialApprox Pol3(Exp3,4);
//std::cout << Exp3.getName() << " " << Pol3.getExpData().getName() << std::endl;
//Exp3.displayData();
//Pol3.getExpData().displayData();
Model* Mod3 = new PolynomialApprox(Pol3);
//std::cout << Mod3->getCost() << std::endl;
//Pol3.exportModel();
//Mod3->exportModel();
SimulatedAnnealing Opti3(Mod3);
Opti3.initialise();
Opti3.execute();
Opti3.finalise();
free(Mod3);
*/
Data Exp4("30Villes");
Exp4.randSet(30);
Exp4.exportData();
TSP TSP4(Exp4);
//std::cout << Exp4.getName() << " " << TSP4.getSol().getName() << std::endl;
//Exp4.displayData();
//TSP4.getExpData().displayData();
//TSP4.displayModel();
Model* Mod4 = new TSP(TSP4);
//std::cout << Mod4->getCost()<< std::endl;
//TSP4.getParam();
//Mod4->exportModel();
SimulatedAnnealing Opti4(Mod4);
Opti4.initialise();
Opti4.execute();
Opti4.finalise();
free(Mod4);
/*
Data Exp5("100villes");
Exp5.fromFile("Villes.data");
TSP TSP5(Exp5);
Model* Mod5 = new TSP(TSP5);
SimulatedAnnealing Opti5(Mod5,0.1,1000.,1.,1.-1./100.,100,5);
Opti5.initialise();
Opti5.execute();
Opti5.finalise();
free(Mod5);
*/
std::cout << "Elapsed time : " << difftime(time(nullptr),start) << "s." << std::endl;
return 0;
}