trigx.gms : 또 다른 삼각법 예제

설명

LGO 라이브러리의 또 다른 삼각법 문제(GO_test_2v_2c)

비선형 방정식 시스템에 대한 해 찾기
x - 사인(2x+3y) - cos(3x-5y) = 0
y - 사인(x-2y) + cos(x+3y) = 0.

이는 2-변수, 2-제약 조건 전역 최적화 테스트입니다.
문제 자체에는 여러 가지 문제가 있을 수 있습니다(실제로는 있습니다).
솔루션. 따라서 우리는 최소 노름 해를 결정할 것입니다.
목표의 하한을 반복적으로 늘립니다.

소형 모델 유형 :NLP


카테고리 : 무료 슬롯 모델 라이브러리


메인 파일 : trigx.gms

$title 또 다른 삼각법 예제(TRIGX,SEQ=388)

$onText
LGO 라이브러리의 또 다른 삼각법 문제(GO_test_2v_2c)

비선형 방정식 시스템에 대한 해 찾기
x - 사인(2x+3y) - cos(3x-5y) = 0
y - 사인(x-2y) + cos(x+3y) = 0.

이는 2-변수, 2-제약 조건 전역 최적화 테스트입니다.
문제 자체에는 여러 가지 문제가 있을 수 있습니다(실제로는 있습니다).
솔루션. 따라서 우리는 최소 노름 해를 결정할 것입니다.
목표의 하한을 반복적으로 늘립니다.

Pinter, J D, 무료 슬롯/LGO를 사용한 비선형 최적화.
글로벌 최적화 저널 38 (2007), 79-101.

키워드: 비선형 계획법, 삼각 함수, 수학, 전역 최적화
$offText

변수 obj, x, y;

방정식 defobj, con1, con2;

* 목적 함수를 다음의 제곱 노름으로 정의합니다.
* 방정식의 해법.
defobj..obj =e= x*x + y*y;

con1.. x - sin(2*x + 3*y) - cos(3*x - 5*y) =e= 0;

con2..y - sin(x - 2*y) + cos(x + 3*y) =e= 0;

모델 m / 모두 /;

nlp를 사용하여 obj를 최소화하는 m을 해결합니다.

sol / sol1*sol10 / 설정;

매개변수 res;

옵션 solPrint = on, optCr = 0, 소수점 = 6;

$설정되지 않은 경우 TOL $set TOL 1e-6
loop(sol$(m.solveStat = 1 및 m.modelStat <= 2),
   res(sol,'obj') = obj.l;
   res(sol,'x') = x.l;
   res(sol,'y') = y.l;
   res(sol,'slack') = obj.l - obj.lo;
   res(sol,'m.objval') = m.objval;
   res(sol,'obj 재계산') = x.l*x.l + y.l*y.l;
   res(sol,'con1 recalc') = x.l - sin(2*x.l + 3*y.l) - cos(3*x.l - 5*y.l);
   res(sol,'con2 recalc') = y.l - sin( x.l - 2*y.l) + cos( x.l + 3*y.l);
   res(sol,'defobj.slack') = defobj.slack + eps;
   abort$(abs(res(sol,'con1 recalc')) > %TOL%) 'Con1 위반', res;
   abort$(abs(res(sol,'con2 recalc')) > %TOL%) 'Con2 위반', res;
   obj.lo = obj.l*1.1;
   nlp를 사용하여 obj를 최소화하는 m을 해결합니다.
);
디스플레이 해상도;