어려운 방정식 시스템을 수치 적으로 풀기


10

숫자로 풀고 싶은 비선형 방정식 시스템이 있습니다 .n

f = ( f 1 , , f n )

f(x)=a
f=(f1,,fn)x=(x1,,xn)

이 시스템에는 여러 가지 특성이있어 특히 다루기가 어렵습니다. 시스템을보다 효과적으로 처리하는 방법에 대한 아이디어를 찾고 있습니다.

왜 시스템이 어려운가요?

  • 기능은이 기능과 유사하지만 (물론 여러 차원에서)

    Mathematica 그래픽

    평평한 고원은 부드러운 변화 지역으로 구분되어 있습니다. 2D에서는 하나 같은 것을 상상할 수 :fi

    Mathematica 그래픽

    일반적으로, 각각의 n - 1 차원 초평면 주위에서 부드러운 변화에 의해 분리 된 2 개의 안정기를 갖는다 .fin1

    fin=1

  • 함수는 계산 속도가 매우 느립니다. 가능한 한 적은 반복으로 근사값을 합리적으로 근사 할 수있는 방법을 찾고 있습니다.

  • 함수는 Monte Carlo 방법으로 계산됩니다. 이것은 그들이 계산 될 때마다 약간 다른 임의의 값을 얻음을 의미합니다. 파생 상품은 추정하기가 어렵습니다. 일단 우리가 루트에 충분히 가까워지면 노이즈가 지배하기 시작하고 정밀도를 높이기 위해 평균화를 사용해야합니다. 이 방법을 확률 론적 근사 버전 (예 : Newton → Robbins-Monro) 으로 일반화하는 것이 이상적 입니다.

  • nn=2f1(x1,x2)=0f2(x1,x2)=0

시스템에 대해 더 무엇을 알고 있습니까?

  • 이론적 인 결과로부터 정확히 하나의 뿌리가 있습니다.

  • fii

  • fixifi(,xi,)xixji


솔루션이 있어야하는 모든 변수의 상한 및 하한을 알고 있습니까? 그 경계가 좁을수록 좋습니다. 고원과 어려움을 설명하지만 Monte Carlo 시뮬레이션을 필요로하지 않으며 함수 (미분 값을 계산할 수있는 경우 보너스 포인트)에 임의의 오류가없는 결정적인 예제를 원하는 차원으로 제공 할 수 있습니까? 이러한 결정 론적 예의 목적은 문제의 어려움을 이해하는 것이지, Monte Carlo 평가가 실제 문제의 궁극적 인 해결책에 사용되지는 않을 것입니다.
Mark L. Stone

f

나는 그것을보고 기대
마크 L. 스톤

답변:


1

단일 근이 있고 제약 조건이 없으므로 최적화 문제로 생각할 수도 있습니다. 원래 함수의 제곱의 합을 최소화하십시오.

고전적 최적화 방법은 실패 할 수 있지만 유전자 알고리즘 또는 CME-ES (공변량 등 행렬 적응-진화 전략)와 같은 휴리스틱 방법이 작동 할 수 있습니다.


그것은 실제로 접근하는 방법입니다. 특히 귀하의 목적을 위해 특별히 개발되었으며 매우 강력한 SPSA 알고리즘을 살펴 보겠습니다.
Wolfgang Bangerth

2
OP는 기능 평가가 매우 비싸다고 언급했다 (기능 평가를 위해 Monte Carlo 시뮬레이션 적용). 이것이 유전자 알고리즘과 다른 진화 알고리즘에 큰 문제가되지 않습니까? 그것들은 "사소한 병렬"(그리고 MC도 보통)이므로 대규모 병렬 컴퓨팅이 가능하지만 여기에가는 가장 좋은 방법입니까?
GertVdE

@WolfgangBangerth 올바른 솔루션 인 것 같습니다. 나는 SPSA를 볼 것이다.
Szabolcs

1
고가의 기능 평가와 관련하여 : 유전자 알고리즘 및 관련 휴리스틱 방법은 기존 방법보다 많은 수의 기능 평가가 필요한 경향이 있습니다. 휴리스틱 방법은 종종 1) 문제 별 방법이 필요하거나 2) 수치 문제로 인해 실패하는 문제를 해결할 수 있다는 이점이 있습니다. 이 예에서, 전통적인 함수는 목적 함수의 확률 적 특성과 일부 차원에 따른 작은 기울기로 인해 문제가있을 수 있습니다. SPSA는이 문제에 대한 훌륭한 후보 방법으로 보입니다.
MattKelly
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.