설명
로컬 및 글로벌 최적화 테스트 문제 핸드북의 테스트 문제 9.2.2 테스트 문제 9.1.1 onhttp://titan.princeton.edu/TestProblems/chapter9.html참조: Floudas, C A, Pardalos, PM, Adjiman, C S, Esposito, W R, Gumus, Z H, Harding, S T, Klepeis, J L, Meyer, CA 및 Schweiger, CA, 테스트 문제 핸드북 로컬 및 글로벌 최적화. 클루어 학술 출판사, 1999 Clark, PA 및 Westerberg, AW, 정상 상태 화학을 위한 이중 레벨 프로그래밍 공정설계-i. 기본 및 알고리즘. 계산. 화학. 영어 14(1990), 87-97. 참고: 웹상의 문제 9.1.1은 해결책을 제공합니다(y1=4, y2=2, x=5, z=-13). 기본(모두 0) 초기 지점에서 시작할 때. 그러나 KKT 조건은 kt2.. 4*lb('2') - 2*lb('2') - 3*lb('3') =e= 0; 정확하지 않습니다. 방정식 c1-c3과 일치하지 않습니다. 대신에 kt2.. 4*lb('1') - 2*lb('2') - 3*lb('3') =e= 0; 이러한 변경으로 모델은 해를 제공합니다(y1=4, y2=6, x=6, z=-6). 기본(모두 0) 초기 지점에서 시작할 때. 얻으려면 z=-13인 솔루션에서는 x, y1, y2에 대한 초기 값을 설정하는 것으로 충분합니다. 아래에서 확인하겠습니다. 우리는 원본 참조를 확인하여 이를 확인하지 않았습니다! 기여자: Alex Meeraus 및 Jan-H. Jagla, 2009년 12월
소형 모델 유형 :BP
카테고리 : 슬롯 무료체험 EMP 라이브러리
메인 파일 : flds911.gms
$title Princeton 이중 레벨 최적화 예 9.1.1 (FLDS911,SEQ=27)
$onText
로컬 및 전역 최적화 테스트 문제 핸드북의 테스트 문제 9.2.2
http://titan.princeton.edu/TestProblems/chapter9.html에서 문제 9.1.1을 테스트하세요.
참고자료:
Floudas, C A, Pardalos, PM, Adjiman, C S, Esposito, W R, Gumus, Z H, Harding,
S T, Klepeis, J L, Meyer, CA 및 Schweiger, CA, 테스트 문제 핸드북
로컬 및 글로벌 최적화. 클루어 학술 출판사, 1999
Clark, PA 및 Westerberg, AW, 정상 상태 화학을 위한 이중 레벨 프로그래밍
공정설계-i. 기본 및 알고리즘. 계산. 화학. 영어 14(1990), 87-97.
참고:
웹상의 문제 9.1.1은 해결책을 제공합니다(y1=4, y2=2, x=5, z=-13).
기본(모두 0) 초기 지점에서 시작할 때.
그러나 KKT 조건은
kt2.. 4*lb('2') - 2*lb('2') - 3*lb('3') =e= 0;
정확하지 않습니다. 방정식 c1-c3과 일치하지 않습니다. 대신에
kt2.. 4*lb('1') - 2*lb('2') - 3*lb('3') =e= 0;
이러한 변경으로 모델은 해를 제공합니다(y1=4, y2=6, x=6, z=-6).
기본(모두 0) 초기 지점에서 시작할 때. 얻으려면
z=-13인 솔루션에서는 x, y1, y2에 대한 초기 값을 설정하는 것으로 충분합니다.
아래에서 확인하겠습니다.
우리는 원본 참조를 확인하여 이를 확인하지 않았습니다!
기여자: Alex Meeraus 및 Jan-H. 자글라, 2009년 12월
$offText
*웹상의 문제 9.1.1 해결 방법
스칼라 x_l / 5 /
y1_l / 4 /
y2_l / 2 /
z_l / -13 /
톨 / 1e-6 /;
변수 z, y1, y2; 양의 변수 x;
방정식 ob, c1, c2, c3, c4, c5;
ob.. - x - 3*y1 + 2*y2 =e= z;
c1.. - 2*x + y1 + 4*y2 =l= 16;
c2.. 8*x + 3*y1 - 2*y2 =l= 48;
c3.. - 2*x + y1 - 3*y2 =l= -12;
c4.. - y1 =l= 0;
c5..y1 =l= 4;
모델 이중 레벨 / 모두 /;
$echo 이중 레벨 x max y1 y2 c1 c2 c3 c4 c5 > "%emp.info%"
*보고된 솔루션에서 시작
x.l = x_l ;
y1.l = y1_l;
y2.l = y2_l;
z를 최소화하는 EMP를 사용하여 이중 레벨을 해결합니다.
중단$((abs( x.l - x_l) > tol)
또는 (abs(y1.l - y1_l) > tol)
또는 (abs(y2.l - y2_l) > tol)
또는 (abs( z.l - z_l) > tol) ) '예상 솔루션과의 편차';