optimize Subroutine

private subroutine optimize(self, foo, x, F, data)

Optimize the input function

Type Bound

NelderMead

Arguments

Type IntentOptional Attributes Name
class(NelderMead), intent(inout) :: self

Optimizer

procedure(obj_func) :: foo

Objective function

real(kind=pr), intent(inout) :: x(:)

Initial guess and final result

real(kind=pr), intent(out) :: F

Objective function value at final step

class(*), intent(inout), optional, target :: data

Optional data for the objective function


Variables

Type Visibility Attributes Name Initial
real(kind=pr), private :: X0(size(x))
integer, private :: i
integer, private :: ifault
integer, private :: iters
integer, private :: n
integer, private :: numres
real(kind=pr), private :: step(size(x))