*Examples of how to use each section of the various algorithms are all enclosed in the source code.
*The algorithms used in this whole program:
1. Minimum Spanning Tree (kurskals algorithm)
2. Depth First Search
3. Genetic Algorithm
4. Memetic Algorithm
5. Two-Opt
6. LK (for TSP)
7. Star-Opt(novel)
8. Ray-Opt(novel)
9. master-slave MPI
10. Memetic algorithm with sub-heuristic trading
*Data Structures actually employed:
1. doubly linked list
2. hash table
3. disjoint sets
4. graph
5. lots and lots of vectors.....
* calling files
* call DLlFromMST(string file name)
* the MST method reads from the file, performs minimum spanning tree, and uses a depth first search to reach a final solution
* Genetic algorithm
* the final method should take in a doubly linked list and return the best or a batch of best solutions to the problem
###MemeticMPI.cpp (overarching mpi file regulating the parallel behavior) *** compiler mpic++ MemeticMPI.cpp doublylinked.cpp MST.cpp GA.cpp graph.cpp TSP_LK.cpp DisjointSets.cpp *** running mpirun -np
###Compiler: I haven't the chance to write a make file yet, so this will do: To Compile:
####parallel
-
To Compile: mpic++ MemeticMPI.cpp doublylinked.cpp MST.cpp GA.cpp graph.cpp TSP_LK.cpp DisjointSets.cpp -o output
-
To Run: mpirun -np 6 ./a.out
####serial
- To Compile: g++ memeticSerial.cpp doublylinked.cpp MST.cpp GA.cpp graph.cpp TSP_LK.cpp DisjointSets.cpp -g
- To run: ./a.out
When running in flux (MPI parallel super computer machine):
- change file name
- change iteration size
- In the serial: give a fixed amount of time
- adjust GA parameters, depth for LK and for two-opt , ray-opt and star opt