Refactoring

This commit is contained in:
iasonmanolas 2022-01-18 18:04:04 +02:00
parent 94408b7a74
commit 99f6905e12
2 changed files with 19 additions and 23 deletions

View File

@ -23,15 +23,9 @@
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
// ReducedModelOptimization::Results optResults; // ReducedModelOptimization::Results optResults;
// optResults.load("/home/iason/Desktop/dlib_ensmallen_comparison/TestSets/" // optResults.load("/home/iason/Desktop/finding_submissionCode/"
// "singlePattern_dlib_firstSubmission/12@single_reduced(100000_1.20)"); // "build-ReducedModelOptimization-Clang-RelWithDebInfo/OptimizationResults/"
// optResults.load("/home/iason/Coding/Projects/Approximating shapes with flat " // "ConvergedJobs/12@single_reduced(100000_1.20)");
// "patterns/ReducedModelOptimization/Results/OptimizationResults/"
// "objectiveFunction/ConvergedJobs/testSet/7#12");
// optResults.load("/home/iason/Desktop/dlib_ensmallen_comparison/TestSets/"
// "singlePattern_dlib_23_12/12@single_reduced(100000_1.20)");
// optResults.load("/home/iason/Desktop/dlib_ensmallen_comparison/TestSets/"
// "singlePattern_ensmallen_AllVars_optParameters/7#12");
// ReducedModelEvaluator::evaluateReducedModel(optResults); // ReducedModelEvaluator::evaluateReducedModel(optResults);
if (argc <= 5) { if (argc <= 5) {
std::cerr << "Wrong number of input parameters. Expects at least 4 input parameters." std::cerr << "Wrong number of input parameters. Expects at least 4 input parameters."

View File

@ -187,6 +187,7 @@ struct EnsmallenOptimizationObjective
// std::cout << "Out of range" << std::endl; // std::cout << "Out of range" << std::endl;
//#endif //#endif
// return std::numeric_limits<double>::max(); // return std::numeric_limits<double>::max();
// return 1e7;
// return 1000; // return 1000;
x[xi] = global.xMax[xi]; x[xi] = global.xMax[xi];
} else if (x[xi] < global.xMin[xi]) { } else if (x[xi] < global.xMin[xi]) {
@ -194,6 +195,7 @@ struct EnsmallenOptimizationObjective
// std::cout << "Out of range" << std::endl; // std::cout << "Out of range" << std::endl;
//#endif //#endif
// return std::numeric_limits<double>::max(); // return std::numeric_limits<double>::max();
// return 1e7;
// return 1000; // return 1000;
x[xi] = global.xMin[xi]; x[xi] = global.xMin[xi];
} }
@ -1110,13 +1112,13 @@ void ReducedModelOptimizer::runOptimization(const Settings &settings,
2.35); 2.35);
// ens::LBestPSO optimizer; // ens::LBestPSO optimizer;
const double minima = optimizer.Optimize(optimizationFunction, x); const double minima = optimizer.Optimize(optimizationFunction, x);
// for (int xIndex = 0; xIndex < parameterGroup.size(); xIndex++) { for (int xIndex = 0; xIndex < parameterGroup.size(); xIndex++) {
// if (x[xIndex] > global.xMax[xIndex]) { if (x[xIndex] > global.xMax[xIndex]) {
// x[xIndex] = global.xMax[xIndex]; x[xIndex] = global.xMax[xIndex];
// } else if (x[xIndex] < global.xMin[xIndex]) { } else if (x[xIndex] < global.xMin[xIndex]) {
// x[xIndex] = global.xMin[xIndex]; x[xIndex] = global.xMin[xIndex];
// } }
// } }
#ifdef POLYSCOPE_DEFINED #ifdef POLYSCOPE_DEFINED
std::cout << "optimal x:" std::cout << "optimal x:"
@ -1868,7 +1870,7 @@ void ReducedModelOptimizer::optimize(
global.optimizationSettings = optimizationSettings; global.optimizationSettings = optimizationSettings;
global.pFullPatternSimulationMesh = m_pFullPatternSimulationMesh; global.pFullPatternSimulationMesh = m_pFullPatternSimulationMesh;
constexpr bool recomputeForceMagnitudes = true; constexpr bool recomputeForceMagnitudes = false;
std::array<double, NumberOfBaseSimulationScenarios> fullPatternSimulationScenarioMaxMagnitudes std::array<double, NumberOfBaseSimulationScenarios> fullPatternSimulationScenarioMaxMagnitudes
= getFullPatternMaxSimulationForces(desiredBaseSimulationScenarioIndices, = getFullPatternMaxSimulationForces(desiredBaseSimulationScenarioIndices,
intermediateResultsDirectoryPath, intermediateResultsDirectoryPath,
@ -1919,7 +1921,7 @@ void ReducedModelOptimizer::optimize(
.append(m_pFullPatternSimulationMesh->getLabel()) .append(m_pFullPatternSimulationMesh->getLabel())
.append(pFullPatternSimulationJob->getLabel())); .append(pFullPatternSimulationJob->getLabel()));
// .append(pFullPatternSimulationJob->getLabel() + ".json") // .append(pFullPatternSimulationJob->getLabel() + ".json")
constexpr bool recomputeFullPatternResults = true; constexpr bool recomputeFullPatternResults = false;
SimulationResults fullPatternResults; SimulationResults fullPatternResults;
if (!recomputeFullPatternResults && std::filesystem::exists(jobResultsDirectoryPath)) { if (!recomputeFullPatternResults && std::filesystem::exists(jobResultsDirectoryPath)) {
fullPatternResults.load(std::filesystem::path(jobResultsDirectoryPath).append("Results"), fullPatternResults.load(std::filesystem::path(jobResultsDirectoryPath).append("Results"),