00001 #include <vector>
00002 #include <fstream>
00003 #include <iostream>
00004 #include <map>
00005
00006 using namespace std;
00007 int main()
00008 {
00009 ifstream valuefile("1dinvga.vals");
00010 ifstream misfitfile("1dinvga.msft");
00011
00012 int popsize, nobjective, iterations, genesize;
00013 int i,j,k;
00014 double dummy;
00015
00016 valuefile >> genesize >> popsize >> iterations;
00017 misfitfile >> popsize >> genesize >> nobjective;
00018
00019 double misfit;
00020 vector<double> currvalue(genesize,0);
00021 multimap<double, vector<double> , greater<double> > misvalue;
00022 multimap<double, vector<double> , greater<double> >::iterator it;
00023
00024 for (i = 0; i < iterations; ++i)
00025 {
00026 for (j = 0; j < nobjective; ++j)
00027 {
00028 for (k = 0; k < popsize; ++k)
00029 {
00030 misfitfile >> dummy;
00031 }
00032 }
00033 for (j = 0; j < popsize; ++j)
00034 {
00035 misfitfile >> misfit;
00036 for (k = 0; k < genesize; ++k)
00037 valuefile >> currvalue.at(k);
00038
00039 misvalue.insert(make_pair(misfit,currvalue));
00040 }
00041 }
00042 for (it = misvalue.begin(); it != misvalue.end(); ++it)
00043 cout << it->first << endl;
00044 }