2014-06-11 5 views
0

내가 가지고있는 비선형 제약 최적화 문제에서 GlobalSearch 솔버를 실행할 때, 나는 종종 매우 다른 솔루션을 얻을 수 있습니다. 분석 솔루션이있는 경우 숫자 결과가 비 분석 사례보다 덜 분산되지만 각 실행마다 여전히 다릅니다. 최적화 루틴이 제대로 작동하고 있음을 알기 위해 최소한 이러한 분석 사례에 대해 동일한 결과를 얻는 것이 좋을 것입니다. Global Optimization Toolbox User Guide에서 내가 놓친 좋은 설명이 있습니까?GlobalSearch가 각각 다른 솔루션을 반환하는 이유는 무엇입니까?

왜 GlobalSearch는 각 실행마다 다른 수의 로컬 해석기를 사용합니까?

감사합니다.

답변

0

GlobalSearch 알고리즘 작동 방식에 대한 전체 설명은 Here입니다.

요약하면 GlobalSearch 방법은 반복적으로 볼록 최적화를 수행합니다. 기본적으로 fmincon을 사용하여 제공 한 초기 조건 근처에서 지역 최소값을 검색합니다. 그런 다음 초기 결과가 얼마나 좋은지에 기반한 "시험 포인트"는 "스 캐터 검색 알고리즘"을 사용하여 생성됩니다. 그런 다음이 지점 주변의 최소값이 "얼마나 좋은가"라는 볼록 최적화 및 등급이 있습니다.

알고리즘의 원인이 당신에게 다른 대답 줄 수있는 몇 가지가 있습니다 : 당신이주는 초기 조건 변경 1. 그것은 2. 분산 검색 알고리즘 자체

서로 다른 답변을 받고 있다는 사실 매번 당신의 기능이 고도로 볼록하지 않다는 것을 의미합니다. 이 시나리오에서 내가 할 수있는 최선의 방법은 몇 가지 초기 조건에서 최적화 알고리즘을 시도하고 가장 자주 얻은 결과를 확인하는 것입니다.

'PlotFcns'속성이있어 솔버가 생성하는 기능이 어떤 것인지 더 잘 알 수 있습니다.

관련 문제