/// <summary> /// Constructor, Statement-statement yang pertama kali dieksekusi ketika inisialisasi Object /// Memberikan setting terhadap nilai-nilai untuk optimasi sesuai nilai-nilai yang dimasukan. /// </summary> /// <param name="inputDimension">Integer. Dimensi parameter yang akan dicari nilai optimumnya</param> /// <param name="function">BaseFunction. Fungsi yang akan dioptimasi</param> /// <param name="tolerance">Double. Batas toleransi kekonvergenan dari metode optimasi</param> /// <param name="maximumIteration">Integer. Batas maksimum itersi yang digunakan</param> public QuasiNewton(int inputDimension, BaseFunction function, double tolerance, int maximumIteration) { this.inputDimension = inputDimension; this.initialPoint = new Vector(inputDimension); this.initialPoint.InitializeAllValue(1); this.hessian = Matrix.CreateIdentity(inputDimension); this.tolerance = tolerance; this.gradtolerance = tolerance; this.functolerance = tolerance; this.maximumIteration = maximumIteration; this.function = function; }
/// <summary> /// Constructor, Statement-statement yang pertama kali dieksekusi ketika inisialisasi Object /// Memberikan setting terhadap nilai-nilai untuk optimasi sesuai nilai-nilai yang dimasukan. /// </summary> /// <param name="inputDimension">Integer. Dimensi parameter yang akan dicari nilai optimumnya</param> /// <param name="function">BaseFunction. Fungsi yang akan dioptimasi</param> /// <param name="tolerance">Double. Batas toleransi kekonvergenan dari metode optimasi</param> /// <param name="maximumIteration">Integer. Batas maksimum itersi yang digunakan</param> /// <param name="initialPoint">Vector. Nilai-nilai parameter yang digunakan sebagai initial value (starting point)</param> public QuasiNewton(int inputDimension, BaseFunction function, double tolerance, int maximumIteration, Vector initialPoint) : this(inputDimension, function, tolerance, maximumIteration) { this.initialPoint = initialPoint; }