이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

반복 횟수와 함수 실행 횟수

일반적으로, Optimization Toolbox™ 솔버는 반복을 통해 최적해를 찾습니다. 즉, 솔버는 초기값 x0에서 시작하여 몇 번의 중간 계산을 통해 최종적으로 새 점 x1을 구한 후, 이 과정을 반복하여 국소 최솟값의 연속된 근삿값 x2, x3, ...을 구합니다. 이 과정은 반복을 k회 수행한 후 중지됩니다.

어떠한 스텝 크기에서나, 중간 계산은 현재 반복 xi 근처에 있는 점에서의 목적 함수 및 제약 조건(있는 경우) 실행을 수반할 수 있습니다. 예를 들어, 솔버는 유한 차분으로 기울기를 추정할 수 있습니다. 이러한 인근 점 각각에서 함수 실행 횟수(F-count)는 1씩 증가합니다.

  • 제약 조건이 없는 경우 F-count는 목적 함수의 총 실행 횟수를 보고합니다.

  • 제약 조건이 있는 경우 F-count는 제약 조건 함수의 총 실행 횟수가 아니라 함수 실행이 수행된 점의 개수만 보고합니다.

  • 제약 조건이 많이 있는 경우 F-count는 총 함수 실행 횟수보다 상당히 작을 수 있습니다.

F-count는 많은 솔버의 반복 과정 표시 화면에서 제목으로 나타납니다. 예제는 결과 해석하기 항목을 참조하십시오.

F-count는 output 구조체에서 output.funcCount로 나타납니다. 이를 통해 프로그래밍 방식으로 실행 횟수에 액세스할 수 있습니다. output 구조체에 대한 자세한 내용은 Output Structures 항목을 참조하십시오.

솔버는 경우에 따라 어떤 스텝을 시도했다가 이 시도를 거부하기도 합니다. trust-region, trust-region-reflective, trust-region-dogleg 알고리즘은 이러한 실패한 시도 횟수를 반복 횟수로 간주하여 반복 과정 표시 화면에 변경되지 않은 결과를 보고합니다. interior-point, active-set, levenberg-marquardt 알고리즘은 이러한 시도를 반복으로 간주하지 않고 반복 과정 표시 화면에 이 시도를 보고하지 않습니다. F-count는 알고리즘에 관계없이 스텝이 시도될 때마다 증가됩니다.