1. A method of optimizing a training regimen to achieve performance goals, the method comprising: providing historical training data; defining at least one training regimen; selecting a training objective for the at least one training regimen to optimize; and optimizing the training regimen by: computing with a hardware based processor an initial training regimen solution; computing with the hardware based processor a neighbor solution at a distance from the initial training regimen solution; comparing with the hardware based processor the neighbor solution to the initial training regimen solution; determining if the neighbor solution is a better solution than the initial training regimen solution; replacing the initial training regimen solution with the neighbor solution if the neighbor solution is a better solution; and updating the distance per a schedule to compute a next neighbor solution, wherein the determining of the neighbor solution is a better solution occurs using Performance=S·St·N c ·T −d , and St = ⌊ ∑ lag P · P i T i · ∑ i j ⁢ ( lag max i , j - lag min i , j ) N i ⌋ , wherein S is a scalar, c is a learning rate, d is a decay rate, T is true time passed since training began, N is a discreet number of training events over a training period, lag is an amount of true time passed between training events, and P is a true amount of time amassed in practice.