mathopt4.gms : MathOptimizer 예 4

설명

이것은 Mathematica와 LGO의 4번째 예입니다. 전역 해는 x = 0에 있습니다.

자세한 내용은 https://www.wolfram.com/products/applications/mathoptimizer/를 참조하세요.

소형 모델 유형 :NLP


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


메인 파일 : mathopt4.gms

$title MathOptimizer 예 4 (MATHOPT4,SEQ=258)

$onText
이것은 Mathematica와 LGO의 네 번째 예제입니다. 전역 해는 x = 0에 있습니다.

자세한 내용은 https://www.wolfram.com/products/applications/mathoptimizer/를 참조하세요.

Mathematica, MathOptimizer - 고급 모델링 및 최적화 시스템
Mathematica 사용자의 경우, https://www.wolfram.com/products/applications/mathoptimizer/

Janos D Pinter, 글로벌 최적화 실행, Kluwer Academic 출판사,
도르드레흐트/보스턴/런던, 1996.

Janos D Pinter, 비선형 시스템의 전산 전역 최적화,
Lionheart Publishing, Inc., 애틀랜타, 조지아, 2001

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

$eolCom //

변수 x1, x2, obj;

방정식 objdef, eq1, ineq1;

objdef.. obj =e= sqr(2*sqr(x1) - sqr(x2)) + sqr(x2 - 6*sqr(x1));

eq1.. x1 =e= 10*x2 + 100*sin(2*x1 + 3*x2);

ineq1.. x2 + x1 =l= 2;

모델 m / 모두 /;

x1.lo = -10; x2.lo = -10;
x1.up = 10; x2.up = 10;

행 / 1, 2, 3, 전역 / 설정;

매개변수 보고서(row,*) '요약 솔루션 보고서';
x1.l = -4; x2.l = -2; // 로컬 솔루션으로 연결
보고서('하나','x1_0') = x1.l;
보고서('하나','x2_0') = x2.l;

nlp min obj를 사용하여 m을 해결합니다.

보고서('하나','x1.l') = x1.l;
보고서('하나','x2.l') = x2.l;
Report('one','modelstat') = m.modelStat;

x1.l = -2; x2.l = -1; // 지역 최적해로 이어짐
보고서('2','x1_0') = x1.l;
보고서('2','x2_0') = x2.l;

nlp min obj를 사용하여 m을 해결합니다.

보고서('2','x1.l') = x1.l;
Report('two','x2.l') = x2.l;
Report('two','modelstat') = m.modelStat;

x1.l = 1; x2.l = -1; // 전역 최적으로 이어짐
보고서('세','x1_0') = x1.l;
보고서('세','x2_0') = x2.l;

nlp min obj를 사용하여 m을 해결합니다.

보고서('세','x1.l') = x1.l;
보고서('세','x2.l') = x2.l;
Report('3','modelstat') = m.modelStat;

x1.l = 0; x2.l = 0; // 전역 최적
보고서('글로벌','x1_0') = x1.l;
보고서('글로벌','x2_0') = x2.l;

nlp min obj를 사용하여 m을 해결합니다.

보고서('글로벌','x1.l') = x1.l;
보고서('글로벌','x2.l') = x2.l;
Report('global','modelstat') = m.modelStat;

약어 글로벌;
보고서(행,'상태')$((abs(report('global','x1_0') - 보고서(행,'x1.l'))
                      +abs(report('global','x2_0') - 보고서(row,'x2.l'))) < 1e-6) = global;

보고서 표시;