Exemple #1
0
		///<summary> Initialize the optimization method </summary>
		///<remarks> The use of this function is intended for testing/debugging purposes only </remarks>
		public void InitializeMethod(DoubleVector[] initialsimplex)
		{
			this.x = new DoubleVector[initialsimplex.Length];
			initialsimplex.CopyTo(this.x, 0);
			this.fx = new double[this.x.Length];
			RankVertices();
			this.laststep_ = Step.Initialization;
			this.iterationVectors_ = new DoubleVector[endCriteria_.maxIteration + 1];
			this.iterationVectors_[0] = initialsimplex[0];
			this.iterationValues_ = new double[endCriteria_.maxIteration + 1];
			this.iterationValues_[0] = FunctionEvaluation(this.iterationVectors_[0]);
			this.iterationGradientNorms_ = new double[endCriteria_.maxIteration + 1];
			this.iterationGradientNorms_[0] = 2.0 * System.Math.Abs(fx[x.Length - 1] - fx[0]) /
				(System.Math.Abs(fx[x.Length - 1]) + System.Math.Abs(fx[0]) + System.Double.Epsilon);
		}
 public void ICollection()
 {
   DoubleVector a = new DoubleVector(new double[4]{0,1,2,3});
   double[] b = new double[5];
   
   Assert.AreEqual(a.Count,a.Length);
   
   a.CopyTo(b,1);
   Assert.AreEqual(b[0],0);
   Assert.AreEqual(b[1],0);  
   Assert.AreEqual(b[2],1);
   Assert.AreEqual(b[3],2);
   Assert.AreEqual(b[4],3);  
 }