비선형 방정식의 최적화 시스템과 풀링 시스템의 뉴턴 기반 방법


12

minpack 에 대한 최근 질문에 대한 설명을 요청 하고 다음과 같은 의견을 얻었습니다.

모든 방정식 시스템은 최적화 문제와 동일하므로 최적화의 뉴턴 기반 방법이 비선형 방정식 시스템을 해결하기위한 뉴턴 기반 방법과 매우 유사합니다.

이 주석 (및 minpack과 같은 특수 비선형 최소 제곱 솔버에 대한 관련 부정적인 의견) 에 대해 저를 혼란스럽게 만드는 것은 켤레 구배 방법 의 예에서 가장 잘 설명 될 수 있습니다 . 이 방법은 대칭 양수 한정 행렬 A 가있는 시스템 적용 할 수 있습니다 . 또한 최소 최소 제곱 문제를 해결하는 데 사용될 수 있습니다. 최소 x | | A x b | | 임의 행렬 A의 경우 2Ax=bAminx||Axb||2A권장하지는 않습니다. 우리가 이것을하지 말아야 할 이유 중 하나는 시스템의 조건 수가 크게 증가한다는 것입니다.

그러나 방정식 시스템을 최적화 문제로 바꾸는 것이 선형 경우에도 문제가되는 것으로 여겨지면 왜 일반적인 경우에 문제가 덜됩니까? 약간 오래된 비선형 최소 제곱 솔버를 사용하는 대신 최첨단 최적화 알고리즘을 사용하는 것과 관련이있는 것 같습니다. 그러나 실제로 사용되는 최적화 알고리즘과는 독립적으로 정보를 버리고 시스템의 조건 수를 늘리는 것과 관련된 문제가 아닌가?

답변:


10

내 답변 중 하나가 인용되었으므로 MINPACK 대신 IPOPT 사용을 제안한 이유를 분명히하려고 노력할 것입니다.

MINPACK 사용에 대한 저의 반대 의견은 MINPACK이 사용하는 알고리즘 및 구현과 관련된 모든 것과 관련이 없습니다. 저의 주요 반대 의견은 소프트웨어가 1980 년으로 거슬러 올라가고 1999 년에 마지막으로 업데이트되었다는 것입니다. Jorge Moré는 은퇴했습니다. 그 또는 다른 소프트웨어 제작자가 더 이상 탭을 사용하지 않는 것이 의심스럽고 적극적으로 지원하는 팀이 없습니다. 소프트웨어에서 찾을 수있는 유일한 문서는 Jorge Moré와 다른 MINPACK 저자가 작성한 1980 년 Argonne 기술 보고서 ​​원본입니다. (챕터 1-3은 여기 에서 찾을 수 있고 , 4 장은 여기 에서 찾을 수 있습니다..) MINPACK 소스 코드를 검색하고 설명서를 숙독 한 후 (PDF는 이미지를 스캔하여 검색 할 수 없음) 제약 조건을 수용 할 수있는 옵션이 표시되지 않습니다. 비선형 최소 제곱 문제의 원래 포스터는 제한된 비선형 최소 제곱 문제를 해결하려고했기 때문에 MINPACK은이 문제를 해결하지도 않습니다.

IPOPT 메일 링리스트를 보면 일부 사용자는 비선형 최소 제곱 (NLS) 문제에서 패키지 성능이 Levenberg-Marquardt 알고리즘 및보다 특수한 NLS 알고리즘과 비교하여 혼합되어 있음을 나타냅니다 ( 여기 , 여기여기 참조 ). NLS 알고리즘에 대한 IPOPT의 성능은 물론 문제에 따라 다릅니다. 이러한 사용자 피드백을 고려할 때 IPOPT는 NLS 알고리즘과 관련하여 합리적인 권장 사항처럼 보입니다.

그러나 NLS 알고리즘을 조사해야한다는 것이 좋습니다. 동의한다. MINPACK보다 현대적인 패키지를 사용해야한다고 생각합니다. 왜냐하면 그것이 더 잘 작동하고 더 유용하며 지원 될 것이라고 믿기 때문입니다. Ceres 는 흥미로운 후보 패키지처럼 보이지만 지금은 제한된 문제를 처리 할 수 ​​없습니다. 타오고전적인 Levenberg-Marquardt를 구현하지는 않지만 대신 파생되지 않은 알고리즘을 구현하지만 상자가 제한된 최소 제곱 문제에 대해서는 작동합니다. 미 분산 알고리즘은 대규모 문제에 적합하지만 소규모 문제에는 사용하지 않습니다. 소프트웨어 엔지니어링에 큰 자신감을 불어 넣은 다른 패키지를 찾을 수 없었습니다. 예를 들어, GALAHAD는 언뜻보기에 버전 관리 나 자동 테스트를 사용하지 않는 것 같습니다. MINPACK도 그러한 일을하지 않는 것 같습니다. 더 나은 소프트웨어에 대한 MINPACK 또는 권장 사항에 대한 경험이 있다면, 나는 귀를 기울입니다.

그 모든 것을 염두에두고 내 의견의 인용문으로 돌아갑니다.

모든 방정식 시스템은 최적화 문제와 동일하므로 최적화의 뉴턴 기반 방법이 비선형 방정식 시스템을 해결하기위한 뉴턴 기반 방법과 매우 유사합니다.

더 나은 의견은 아마도 다음과 같은 영향을 미칩니다.

nng(x)=0

이 문장은 제약 조건 하에서 방정식 시스템을 풀기위한 것입니다. 변수에 제약이있는 경우 "등식 해결사"로 간주되는 알고리즘을 모릅니다. 내가 아는 일반적인 접근 방식은 아마도 최적화 과정에서 여러 학기의 최적화 과정과 연구에 의해 황달이 될 수 있으며 방정식 시스템의 제약 조건을 최적화 공식에 통합하는 것입니다. 방정식 해결을 위해 Newton-Raphson과 유사한 구성표의 제약 조건을 사용하려고 시도하면 제약 된 최적화에 사용 된 방법과 매우 유사하게 투영 된 기울기 또는 투영 된 신뢰 영역 방법으로 끝날 수 있습니다.


MINPACK에 경험이 있습니다. 로컬 방법으로 충분합니다. 나는 조정 기준을 조정하지 않고 잘 작동한다는 것이 좋습니다. 제약 조건이있는 것은 특히 알고리즘 자체에 큰 변화가 아니기 때문에 성 가실 수 있습니다. 변수 및 일반 선형 제약 조건에 대한 경계를 제공하는 LM 구현도 알고 있지만 이러한 구현은 MINPACK 자체보다 그리 오래 걸리지 않으며 평가할 필요가 없습니다.
토마스 클리 펠

1
g(x)=0g(x)2

@JedBrown : 언어를 바꿔야합니다. 필자는 함수 평가가 매우 비싼 경우에만 파생물없는 최적화 (DFO)를 선호합니다. 어떤 이유로, 목표가 생각하는 것은 PDE 해결과 관련이있을 때입니다. 이것이 제가 "대규모"라고 말한 이유입니다 (물론 저에게 최적화에서 "대규모 PDE"는 PDE를 정기적으로 병렬로 해결하는 사람). "제약으로 방정식 풀기"를 생각할 때 내가 생각하는 문제는 . (계속)g(x)=0,xS,SRn,SRn
Geoff Oxberry 2016 년

@JedBrown :이 문제를 해결하는 표준 방법은 입니다. 다른 방법이 있을지 모르지만 나는 모른다. 나는 하나의 버림 ; 목적 함수 값이 0이 아닌 최소값은 풀고있는 방정식 시스템을 명확하게 해결하지 못합니다. 볼록하지 않은 경우 솔루션의 존재 여부를 인증하기 위해 글로벌 최적화 방법이 필요합니다. 변이 불평등에 대한 경험이 많지 않기 때문에 VI가 여기에서 어디에서 사용되는지는 분명하지 않습니다. 특히 가 반드시 원뿔이 아니기 때문입니다. minxSg(x)2g(x)=0S
Geoff Oxberry 2016 년

1
따라서 의 경계에있는 솔루션에 의해 의미하는 바를 정확하게 정의 할 수 있어야합니다 . 종종 상보성 공식으로 작성된 VI는 정확히 그렇게합니다. 특히 디자인 공간이 큰 경우 파생물없는 것에 대한 반대 의견이 있습니다. 목표에 고가의 PDE 풀이 포함 된 경우, 그라디언트를 사용하여 디자인 공간을 탐색 할 수 있도록이를 인접 조건이 있어야합니다. PDE 인접 공간은 공간의 크기와 상관없이 포워드 솔버의 작은 배수에 불과합니다. 모델 평활도에 대한 추가 요구 사항이 있습니다. S
제드 브라운

14

경우 주어진 비선형 시스템이 최적화 문제에 대한 1 차 최적의 조건이다, 우리는 종종 그 정보를 사용하여보다 강력한 알고리즘을 생성 할 수 있습니다. 예를 들어

원래 목표의 줄거리

여기에는 고유 한 최소값이 있으며 시작 지점에 관계없이 최적화 방법으로 찾을 수 있습니다. 그러나 1 차 최적 조건 만 살펴보면 의 해 를 찾고 있습니다 [Wolfram Alpha]xf(x)=0

구배

독특한 솔루션을 가지고 있지만 많은 근본 찾기 방법이 최소한으로 국한 될 수 있습니다.

그라디언트의 제곱을 최소화하기 위해 새로운 최적화 문제를 재구성한다면, 우리 는 다중 최소값을 갖는 [Wolfram Alpha] 의 전역 최소 를 찾고 있습니다.xf(x)2

여기에 이미지 설명을 입력하십시오

요약하자면, 우리는 분석법이 찾도록 보장 할 수있는 고유 한 솔루션을 가진 최적화 문제로 시작했습니다. 로컬에서 식별 할 수있는 고유 한 솔루션이있는 비선형 루트 찾기 문제로 재구성되었지만 루트 찾기 방법 (예 : Newton)이 도달하기 전에 정체 될 수 있습니다. 그런 다음 근본 발견 문제를 여러 로컬 솔루션이있는 최적화 문제로 재편성했습니다 (전세계 최소값이 아님을 식별하기 위해 로컬 측정 값을 사용할 수 없음).

일반적으로 문제를 최적화에서 루트 찾기로 또는 그 반대로 변환 할 때마다 사용 가능한 방법과 관련 수렴 보장이 약해집니다. 메소드의 실제 메커니즘은 종종 매우 유사하므로 비선형 솔버와 최적화간에 많은 코드를 재사용 할 수 있습니다.


제드, 그 WA 링크는 당신이하는 말로 이동하지 않습니다. 괄호가 URL에서 무시되거나 잘못 전달되었습니다.
Bill Barth

이상하게도 링크는 저에게 효과적입니다. 웹 브라우저에 의존 할 수 있습니까? 이것을 제시하는 다른 방법에 대한 제안?
제드 브라운

확실하지 않다. 하나의 탭에서 다음 탭으로 다시 포맷 된 링크를 잘라 붙여 넣으면 WA를 조여서 자체적으로 다시 조입니다!
Bill Barth

다른 사람이 링크에 문제가 있습니까? 여러 브라우저에서 시도했지만 모든 경우에 제대로 작동합니다.
제드 브라운

이것은 좋은 대답입니다. 그러나 나는 이해하려고했던 것의 일부가 질문과 관련된 "실제 세계"문제이기 때문에 Geoff Oxberry의 대답을 대신하기로 결정했습니다. 여기에는 단점이 있음에도 불구하고 저와 같은 사람들이 MINPACK을 사용하고 추천하고 다른 사람들은 "사소한"비선형 시스템을 해결하는 것에 대한 조언을 요청하지만 3 개월 동안 단일 솔버조차도 테스트 할 수 없다는 것을 포함합니다. 시간 프레임.
Thomas Klimpel
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.