Simulated Annealing works extremely well at high # of iterations for the case of 2 overlapping mean functions, each a function of 1 variable. Next I will see how well this generalizes to more mean functions. After that I will test 2 pairs of overlapping mean functions to test if the algorithm gets stuck in a local minimum.
Simulated Annealing works so far. I have tried upto 3 lines and 3 variables, all of which overlap in one dimension, perturbed with upto +-20% noise and the algorithm found the optimal solution. I have noticed that adding more lines strains the accuracy of the SA, while adding more variables strains the runtime. I will try having a lot of variables, to see how the SA operates in high dimensionality. Then I will try to have overlap in as many dimensions as possible.
improving peak_shift
Removed the histogram stuff, changed the tab width, and re-indented peak_tracking to reflect tab width
Documented and added assertation error checking to all of the simulated annealing related code. Also removed a method that was used to test the histograms
Done with the testing framework, except for the gaussian noise.
merging
Merge branch 'arun_analysis' of https://github.com/arunjandaur/xas into lev_analysis
Implemented basic Tabu search by memoizing states
Added a test case where there are less points in mean2 to represent a peak vanishing when it combines with another
for merging
Merge branch 'arun_analysis' of https://github.com/arunjandaur/xas into lev_analysis
finished peak_tracking with jagged input
Archived unused files
Cleaned up main.py and renamed peak_shift_analysis to sum_gauss_fit
Merge branch 'lev_analysis' of https://github.com/arunjandaur/xas into arun_analysis

Merging
Okay.... that merge was icky. I want a separate file for the edits i want to make to peak_shift_analysis, not a rename
I just dealt with a lot of nasty indentation errors. Except for GaussiansFitNode and peak_shift_analysis, hopefully its fixed now
More indentation fixes. Ran through each file with some vim commands.
Cleaned up the main method