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

반복 과정 표시

소개

반복 과정 표시는 솔버의 각 반복에서의 계산값을 나타내는 통계량으로 구성된 표입니다. 통계량은 솔버와 솔버의 알고리즘에 따라 달라집니다. 반복에 대한 자세한 내용은 반복 횟수와 함수 실행 횟수 항목을 참조하십시오. 이 표는 사용자가 적절한 옵션과 함께 솔버를 실행할 때 MATLAB® 명령 창에 나타납니다.

optimoptions를 사용하여 Display 옵션을 'iter' 또는 'iter-detailed'로 설정한 상태로 options 구조체를 생성해서 반복 과정 표시 화면을 보겠습니다. 예를 들어, 다음과 같이 입력합니다.

options = optimoptions(@fminunc,'Display','iter','Algorithm','quasi-newton');
[x fval exitflag output] = fminunc(@sin,0,options);
                                                  First-order 
Iteration  Func-count     f(x)       Step-size     optimality
    0           2              0                           1
    1           4      -0.841471             1          0.54 
    2           8             -1      0.484797      0.000993 
    3          10             -1             1     5.62e-005 
    4          12             -1             1             0 

Local minimum found.

Optimization completed because the size of the gradient is less than
the value of the optimality tolerance.

최적화 앱을 사용하여 반복 과정 표시 화면을 볼 수도 있습니다. 명령 창에 표시 > 표시 수준 > 모든 반복(Iterations) 또는 모든 반복(상세 메시지 포함)(iterative with detailed message)을 선택합니다.

다음을 제외한 모든 솔버는 반복 과정 표시 화면이 있습니다.

  • lsqlin'trust-region-reflective' 알고리즘

  • lsqnonneg

  • quadprog'trust-region-reflective' 알고리즘

공통 제목

다음 표에는 반복 과정 표시 화면에서 공통적으로 사용되는 몇 가지 제목이 나와 있습니다.

제목표시되는 정보

f(x) 또는 Fval

현재 목적 함수 값. fsolve의 경우, 함수 값 벡터의 노름에 대한 제곱입니다.

First-order optimality

1차 최적성 측정값(1차 최적성 측정값 참조).

Func-count 또는 F-count

함수 실행 횟수(반복 횟수와 함수 실행 횟수 참조).

Iteration 또는 Iter

반복 횟수(반복 횟수와 함수 실행 횟수 참조).

Norm of step

현재 스텝의 크기(크기는 유클리드 노름 또는 2-노름임). 'trust-region' 또는 'trust-region-reflective' 알고리즘을 사용할 때 제약 조건이 있는 경우 Norm of stepD*s의 노름입니다. 여기서 s는 스텝이고, D는 대각 스케일링 행렬이며, 이는 알고리즘 설명, trust-region 하위 문제 섹션에 설명되어 있습니다.

함수별 제목

다음 섹션에서는 사용하는 최적화 함수에 따라 특정한 의미를 가지는 반복 과정 표시 화면의 제목에 대해 설명합니다.

fgoalattain, fmincon, fminimax, fseminf

다음 표에는 fgoalattain, fmincon, fminimax, fseminf에 특정한 제목에 대한 설명이 나와 있습니다.

fgoalattain, fmincon, fminimax 또는 fseminf에 사용되는 제목표시되는 정보

Attainment factor

fgoalattain에 대한 달성 지수의 값.

CG-iterations

현재 반복에서 실행된 켤레 기울기 반복 횟수(선조건 적용 켤레 기울기법(Preconditioned Conjugate Gradient Method) 참조).

Directional derivative

탐색 방향에 따른 목적 함수의 기울기.

Feasibility

최대 제약 조건 위반 값. 여기서 충족하는 각각의 부등식 제약 조건은 0으로 간주됩니다.

Line search steplength

탐색 방향을 스케일링하는 곱셈 인자(수식 29 참조).

Max constraint

내부 생성되거나 사용자가 제공하는 모든 제약 조건에서 발생한 최댓값 위반. 제약 조건이 없는 경우 음수일 수 있습니다.

Objective value

fminimax에 대해 최대최소화(minimax) 문제를 비선형 계획법으로 다시 정식화한 문제에 대한 목적 함수 값.

Procedure

헤세 행렬 업데이트 절차:

  • Infeasible start point

  • Hessian not updated

  • Hessian modified

  • Hessian modified twice

자세한 내용은 헤세 행렬 업데이트하기 항목을 참조하십시오.

QP 하위 문제 절차:

  • dependent — 솔버가 감지하여 제거한 종속(중복) 등식 제약 조건이 있습니다.

  • Infeasible — 선형화된 제약 조건이 있는 QP 하위 문제가 실현 가능하지 않습니다.

  • Overly constrained — 선형화된 제약 조건이 있는 QP 하위 문제가 실현 가능하지 않습니다.

  • Unbounded — 음의 곡률이 큰 경우 QP 하위 문제가 실현 가능합니다.

  • Ill-posed — QP 하위 문제 탐색 방향이 너무 작습니다.

  • Unreliable — QP 하위 문제의 조건이 나쁜 것처럼 보입니다.

Steplength

탐색 방향을 스케일링하는 곱셈 인자(수식 29 참조).

Trust-region radius

현재 신뢰 영역 반지름.

fminbnd와 fzero

다음 표에는 fminbndfzero에 특정한 제목에 대한 설명이 나와 있습니다.

fminbnd 또는 fzero에 사용되는 제목표시되는 정보

Procedure

fminbnd에 대한 절차:

  • initial

  • golden(황금분할 탐색)

  • parabolic(포물선 보간)

fzero에 대한 절차:

  • initial(초기점)

  • search(영점을 포함하는 구간 검색)

  • bisection

  • interpolation(선형 보간 또는 2차 역보간법)

x

알고리즘의 현재 점

fminsearch

다음 표에는 fminsearch에 특정한 제목에 대한 설명이 나와 있습니다.

fminsearch에 사용되는 제목표시되는 정보

min f(x)

현재 심플렉스법의 최소 함수 값.

Procedure

현재 반복의 심플렉스법 절차. 절차에는 다음이 포함됩니다.

  • initial simplex

  • expand

  • reflect

  • shrink

  • contract inside

  • contract outside

자세한 내용은 fminsearch Algorithm 항목을 참조하십시오.

fminunc

다음 표에는 fminunc에 특정한 제목에 대한 설명이 나와 있습니다.

fminunc에 사용되는 제목표시되는 정보

CG-iterations

현재 반복에서 실행된 켤레 기울기 반복 횟수(선조건 적용 켤레 기울기법(Preconditioned Conjugate Gradient Method) 참조)

Line search steplength

탐색 방향을 스케일링하는 승산 인자(수식 11 참조)

fminunc'quasi-newton' 알고리즘은 First-order optimality 열의 오른쪽에 skipped update 메시지를 표시할 수 있습니다. 이 메시지는 fminunc가 헤세 행렬 추정값을 업데이트하지 않았고, 그 이유는 양의 정부호 행렬이 생성되지 않았기 때문이라는 것을 의미합니다. 이 메시지는 대개 목적 함수가 현재 점에서 매끄럽지 않다는 것을 나타냅니다.

fsolve

다음 표에는 fsolve에 특정한 제목에 대한 설명이 나와 있습니다.

fsolve에 사용되는 제목표시되는 정보

Directional derivative

탐색 방향에 따른 함수의 기울기

Lambda

λk 값(이에 대한 정의는 Levenberg-Marquardt 방법에 나와 있음)

Residual

함수의 잔차(제곱의 합)

Trust-region radius

현재 신뢰 영역 반지름(신뢰 영역 반지름의 노름 변화량)

intlinprog

다음 표에는 intlinprog에 특정한 제목에 대한 설명이 나와 있습니다.

intlinprog에 사용되는 제목표시되는 정보

nodes explored

탐색된 노드의 누적 개수입니다.

total time (s)

intlinprog가 시작된 이후 경과한 초 단위의 시간입니다.

num int solution

발견된 정수 실현가능점의 개수입니다.

integer fval

발견된 최적의 정수 실현가능점에 대한 목적 함수 값입니다. 이 값은 최종 목적 함수 값의 상한입니다.

relative gap (%)

100(ba)|b|+1,

여기서

  • b는 최적의 정수 실현가능점의 목적 함수 값입니다.

  • a는 목적 함수 값의 최적의 하한입니다.

참고

RelativeGapTolerance를 소수로 지정하면 반복 과정 표시 화면과 output.relativegap이 간격을 백분율, 즉 측정된 상대적인 간격에 100을 곱한 값으로 보고합니다. 종료 메시지가 상대적인 간격을 언급하는 경우 이 값은 백분율이 아니라 측정된 상대적인 간격에 해당합니다.

linprog

다음 표에는 linprog에 특정한 제목에 대한 설명이 나와 있습니다. 알고리즘마다 고유한 반복 과정 표시 화면이 있습니다.

linprog에 사용되는 제목표시되는 정보

Primal Infeas A*x-b 또는 Primal Infeas

원문제(Primal) 실현불가능성. 즉, 제약 조건 위반에 대한 측정값으로, 해에서 0이어야 합니다.

이에 대한 정의는 예측자-수정자('interior-point') 또는 주 알고리즘('interior-point-legacy') 또는 Dual-Simplex 알고리즘 항목을 참조하십시오.

Dual Infeas A'*y+z-w-f 또는 Dual Infeas

쌍대 문제(Dual) 실현불가능성. 즉, 라그랑주 도함수에 대한 측정값으로, 해에서 0이어야 합니다.

라그랑주에 대한 정의는 예측자-수정자 항목을 참조하십시오. 쌍대 문제 실현불가능성에 대한 정의는 예측자-수정자('interior-point') 또는 주 알고리즘('interior-point-legacy') 또는 Dual-Simplex 알고리즘 항목을 참조하십시오.

Upper Bounds {x}+s-ub

상한 실현가능성. {x}는 유한 상한이 있는 x를 의미합니다. 이는 Interior-Point-Legacy 선형 계획법의 ru 잔차입니다.

Duality Gap x'*z+s'*w

원문제 목적 함수와 쌍대 문제 목적 함수 간 쌍대 격차(Interior-Point-Legacy 선형 계획법 참조). sw는 유한 상한이 있는 경우에만 이 수식에 표시됩니다.

Total Rel Error

총 상대 오차. 이에 대한 설명은 주 알고리즘의 끝부분에 나와 있습니다.

Complementarity

라그랑주 승수의 측정값에 경계로부터의 거리를 곱한 값. 해에서 0이어야 합니다. 중지 조건에 나와 있는 rc 변수를 참조하십시오.

Time

초 단위의 linprog 실행 시간

lsqlin

lsqlin'interior-point' 반복 과정 표시 화면은 quadprog 반복 과정 표시 화면에서 상속됩니다. 이 함수 간의 관계는 Interior-Point 선형 최소제곱에 설명되어 있습니다. 반복 과정 표시 화면에 대한 세부 정보는 quadprog 항목을 참조하십시오.

lsqnonlin과 lsqcurvefit

다음 표에는 lsqnonlinlsqcurvefit에 특정한 제목에 대한 설명이 나와 있습니다.

lsqnonlin 또는 lsqcurvefit에 사용되는 제목표시되는 정보

Directional derivative

탐색 방향에 따른 함수의 기울기

Lambda

λk 값(이에 대한 정의는 Levenberg-Marquardt 방법에 나와 있음)

Resnorm

x에서 잔차에 대한 2-노름의 제곱 값

Residual

함수의 잔차 벡터

quadprog

다음 표에는 quadprog에 특정한 제목에 대한 설명이 나와 있습니다. 'interior-point-convex' 알고리즘에만 반복 과정 표시 화면이 있습니다.

quadprog에 사용되는 제목표시되는 정보

Primal Infeas

원문제 실현불가능성. max( norm(Aeq*x - beq, inf), abs(min(0, min(A*x-b))) )로 정의됩니다.

Dual Infeas

쌍대 문제 실현불가능성. norm(H*x + f - A*lambda_ineqlin - Aeq*lambda_eqlin, inf)로 정의됩니다.

Complementarity

비활성 부등식의 라그랑주 승수에 대한 최대 절댓값의 측정값. 해에서 0이어야 합니다. 이 값은 실현불가능성 감지에서 g에 해당합니다.