public override void NextIteration(Vector x)
 {
     if (N > 0)
     {
         Sigma = (Vector)Sigma.Multiply(SigmaMultiplier);
     }
 }
 public override void NextIteration(Vector x)
 {
     if (N > 0)
     {
         Sigma = (Vector)Sigma.Multiply(SigmaMultiplier);
         for (int i = 0; i < N; ++i)
         {
             Theta[i] -= Math.Min(Constraints[i].Evaluate(x), Theta[i]);
             Theta[i] /= SigmaMultiplier;
         }
     }
 }