public SimulatedAnnealingAlgorithm(TestingFunction function, int amountOfArguments)
 {
     Function          = function;
     AmountOfArguments = amountOfArguments;
     Arguments         = new double[amountOfArguments];
     Arguments2        = new double[amountOfArguments];
 }
 public SimulatedAnnealingAlgorithm(TestingFunction function, int amountOfArguments, SASolverParametersModel parameters)
 {
     Function                  = function;
     AmountOfArguments         = amountOfArguments;
     Arguments                 = new double[amountOfArguments];
     Arguments2                = new double[amountOfArguments];
     BeginingTemperature       = parameters.BeginingTemperature;
     EndingTemperature         = parameters.EndingTemperature;
     Iterations                = parameters.Iterations;
     Cooling                   = parameters.Cooling;
     SatisfactionSolutionValue = parameters.SatisfactionSolution;
 }
 public SimulatedAnnealingAlgorithm(TestingFunction function, int amountOfArguments, double beginingTemperature, double endingTemperature, double iterations, double cooling, double?satisfactionSolutionValue = null)
 {
     Function                  = function;
     AmountOfArguments         = amountOfArguments;
     Arguments                 = new double[amountOfArguments];
     Arguments2                = new double[amountOfArguments];
     BeginingTemperature       = beginingTemperature;
     EndingTemperature         = endingTemperature;
     Iterations                = iterations;
     Cooling                   = cooling;
     SatisfactionSolutionValue = satisfactionSolutionValue;
 }