public void initialize(double initial[] , int numberOfParameters , double minimumFunctionValue ) {
		super.initialize(initial,numberOfParameters);

		tmp_p.reshape(numberOfParameters,1);

		regionRadius = config.regionInitial;

		fx = cost(x);

		if( verbose != null ) {
			verbose.println("Steps     fx        change      |step|   f-test     g-test    tr-ratio  region ");
			verbose.printf("%-4d  %9.3E  %10.3E  %9.3E  %9.3E  %9.3E  %6.2f   %6.2E\n",
					totalSelectSteps, fx, 0.0,0.0,0.0,0.0, 0.0, regionRadius);
		}

		this.parameterUpdate.initialize(this,numberOfParameters, minimumFunctionValue);

		// a perfect initial guess is a pathological case. easiest to handle it here
		if( fx <= minimumFunctionValue ) {
			if( verbose != null ) {
				verbose.println("Converged minimum value");
			}
			mode = TrustRegionBase_F64.Mode.CONVERGED;
		} else {
			mode = TrustRegionBase_F64.Mode.COMPUTE_DERIVATIVES;
		}
	}
public void initialize ( double initial [ ] , int numberOfParameters , double minimumFunctionValue ) { super . initialize ( initial , numberOfParameters ) ; tmp_p . reshape ( numberOfParameters , 1 ) ; regionRadius = config . regionInitial ; fx = cost ( x ) ; if ( verbose != null ) { verbose . println ( "Steps     fx        change      |step|   f-test     g-test    tr-ratio  region " ) ; verbose . printf ( "%-4d  %9.3E  %10.3E  %9.3E  %9.3E  %9.3E  %6.2f   %6.2E\n" , totalSelectSteps , fx , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , regionRadius ) ; } this . parameterUpdate . initialize ( this , numberOfParameters , minimumFunctionValue ) ; if ( fx <= minimumFunctionValue ) { if ( verbose != null ) { verbose . println ( "Converged minimum value" ) ; } mode = TrustRegionBase_F64 . Mode . CONVERGED ; } else { mode = TrustRegionBase_F64 . Mode . COMPUTE_DERIVATIVES ; } }
Specifies initial state of the search and completion criteria

@param initial Initial parameter state
@param numberOfParameters Number many parameters are being optimized.
@param minimumFunctionValue The minimum possible value that the function can output