1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- #pragma once
- #include <string>
- #include <vector>
- #include <fstream>
- #include <QPoint>
- #include <map>
- #include <boost/multiprecision/cpp_int.hpp>
- #include <boost/multiprecision/cpp_dec_float.hpp>
- #include "GraphView.h"
- struct GraphDataPoint;
- struct SolutionPointData {
- int iteration;
- double objectiveFunction;
- int particleNumber;
- std::vector<bool> bitVec;
- };
- class RunData
- {
- public:
- std::string name;
- std::string information;
- std::vector<SolutionPointData> solutionVec;
- RunData();
- RunData(std::string filePath);
-
- std::vector<GraphDataPoint> bestSolutionPerIteration;
- std::vector<GraphDataPoint> averageSolutionPerItertion;
- std::vector<GraphDataPoint> minSolutionPerItertion;
- std::vector<GraphDataPoint> maxSolutionPerItertion;
- std::vector<GraphDataPoint> dotsForDistribution;
- std::vector<GraphDataPoint> testForBitField;
- std::map<int, std::vector<GraphDataPoint>> particleMap;
- private:
- bool badFileFlag = false;
- std::fstream fileStream;
- int actualLine = 0;
- void getLine(std::string& bufferString);
- void calculateBestAndAverageIter();
- void calculateParticleSolution();
- void calculateDotsForDistribution();
- void generateRandomBitFieldData();
- boost::multiprecision::cpp_int binominal(const int n, const int k);
- boost::multiprecision::cpp_int positionInPermutation(std::vector<bool>::iterator begin, std::vector<bool>::iterator end, int amountOfSetBits);
- };
|