trust-region-reflective 알고리즘이 이 논문의 알고리즘을 따라갔는지 확인하고 싶습니다.

2 ビュー (過去 30 日間)
승화 이
승화 이 2020 年 7 月 30 日
編集済み: 승화 이 2020 年 7 月 30 日
안녕하세요. 현재 최적화 알고리즘을 적용하여 목적함수의 최솟값인 S가 나오는 식을 만들어 값을 도출해 냈으나, 이 값이 저희가 확인한 논문
Coleman, T. F. and Y. Li. “An Interior, Trust Region Approach for Nonlinear Minimization Subject to Bounds.” SIAM Journal on Optimization, Vol. 6, 1996, pp. 418445.
의 알고리즘 2와 동일한 방법으로 풀이가 진행 됬는 지 확인 해야 하나, 그 방법을 몰라 해매고 있습니다.
첨부파일의 myObjective를 사용하여 아래와 같이 함수를 입력하여 값을 만들어 냈습니다.
options = optimoptions(@lsqnonlin,'Algorithm', 'trust-region-reflective','Display', 'iter', 'MaxFunctionEvaluations', 1000000, 'MaxIterations', 100000);
D_init = zeros(1,1);
lower_bound = 10^(-10);
upper_bound = 10^(-8);
output_with_bound = lsqnonlin(@myObjective, D_init, lower_bound, upper_bound, options)
Norm of First-order
Iteration Func-count f(x) step optimality
0 2 1.49051 0.873
1 4 0.499246 4.36598e-05 0.554
2 6 0.378797 1.9807e-05 0.24
3 8 0.360547 4.95176e-06 0.195
4 10 0.356504 1.23794e-06 0.185
5 12 0.355523 3.09485e-07 0.183
국소 최솟값이 있을 수 있습니다.
현재 스텝의 크기가 스텝 크기 허용오차
값보다 작기 때문에 lsqnonlin() 중지되었습니다.
<중지 기준 세부 정보>
D_init =
9.1835e-09
exitflag =
2
output =
다음 필드를 포함한 struct:
firstorderopt: 0.1826
iterations: 5
funcCount: 12
cgiterations: 0
algorithm: 'trust-region-reflective'
stepsize: 3.0948e-07
message: '국소 최솟값이 있을 수 있습니다.현재 스텝의 크기가 스텝 크기 허용오차값보다 작기 때문에 lsqnonlin() 중지되었습니다.↵↵<중지 기준 세부 정보>↵↵현재 스텝의 노름 3.094848e-07() options.StepTolerance = 1.000000e-06보다작기 때문에 최적화가 중지되었습니다.↵↵'
위와 같이 값을 확인 할 수 있었으나, 이것이 제가 위에 말씀 드렸던, 논문의 알고리즘 2에 해당되는 풀이인지 해석 할 수가 없었습니다. 혹시 해당 알고리즘 즉
2. Trust region method for bound-constrained problems.
과 일치하는 지에 대하여 알려주실 수 있으신가요? 아니면, 제가 확인할 수 있는 명령어를 알려주신다면 감사하겠습니다.
긴글 읽어 주셔서 감사합니다.

回答 (0 件)

カテゴリ

Help Center および File Exchange비선형 최적화 についてさらに検索

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!