gasoil.gms : 경유 COPS 2.0의 접촉분해 #12

설명

가스의 접촉 분해에 대한 반응 계수 결정
석유를 가스 및 기타 부산물로 변환합니다.

이 모델은 COPS 벤치마킹 제품군에서 나온 것입니다.
참조http://www-unix.mcs.anl.gov/~more/cops/.이산화 지점 수는 다음 명령을 사용하여 지정할 수 있습니다
라인 매개변수 --nh. NH에 대한 COPS 성능 테스트가 보고되었습니다.
= 50, 100, 200, 400

대형 모델 유형 :NLP


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


메인 파일 : gasoil.gms   다음을 포함합니다: copspart.inc

$title 경유 COPS 2.0 #12의 접촉분해 (GASOIL,SEQ=240)

$onText
가스의 접촉 분해에 대한 반응 계수 결정
석유를 가스 및 기타 부산물로 변환합니다.

이 모델은 COPS 벤치마킹 제품군에서 나온 것입니다.
http://www-unix.mcs.anl.gov/~more/cops/를 참조하세요.

이산화 지점 수는 다음 명령을 사용하여 지정할 수 있습니다.
라인 매개변수 --nh. NH에 대한 COPS 성능 테스트가 보고되었습니다.
= 50, 100, 200, 400

Dolan, E D 등, JJ, 벤치마킹 최적화
COPS가 포함된 소프트웨어. 기술. 대표, 수학과 컴퓨터
과학부, 2000.

Tjoa, I B 및 Biegler, L T, 동시 솔루션 및
매개변수 추정을 위한 최적화 전략
미분-대수 방정식 시스템. 인디애나 화학.
결의안. 30(1991), 376-385.

Averick, B M, Carter, R G, More, J J 및 Xue, G L, The
MINPACK-2 테스트 문제집. 기술. 대표, 수학과
Argonne National 컴퓨터 공학부
연구실, 1992.

Ascher, UM, Mattheij, RM M 및 Russell, RD, 수치
보통의 경계값 문제 해결
미분 방정식. 1995년 시암.

키워드: 비선형 프로그래밍, 화학 공학, 촉매 분해
$offText

$설정되지 않은 경우 nh $set nh 50

세트
   ne '미분방정식' / ne1*ne2 /
   np 'ODE 매개변수' / np1*np3 /
   nc '배치 포인트' / nc1*nc4 /
   nh '파티션 간격' / nh1*nh%nh% /
   nm '측정값' / 1*21 /;

매개변수
   bc(ne) 'ODE 초기 조건' / ne1 1, ne2 0 /
   tau(nm) '관찰이 이루어진 시간'
           / 1 0.000, 2 0.025, 3 0.050, 4 0.075, 5 0.100, 6 0.125
              7 0.150, 8 0.175, 9 0.200, 10 0.225, 11 0.250, 12 0.300
             13 0.350, 14 0.400, 15 0.450, 16 0.500, 17 0.550, 18 0.650
             19 0.750, 20 0.850, 21 0.950 /;

테이블 z(nm,ne) '관찰'
            ne1 ne2
    1 1.0000 0
    2 0.8105 0.2000
    3 0.6208 0.2886
    4 0.5258 0.3010
    5 0.4345 0.3215
    6 0.3903 0.3123
    7 0.3342 0.2716
    8 0.3034 0.2551
    9 0.2735 0.2258
   10 0.2405 0.1959
   11 0.2283 0.1789
   12 0.2071 0.1457
   13 0.1669 0.1198
   14 0.1530 0.0909
   15 0.1339 0.0719
   16 0.1265 0.0561
   17 0.1200 0.0460
   18 0.0990 0.0280
   19 0.0870 0.0190
   20 0.0770 0.0140
   21 0.0690 0.0100;

$batInclude copspart.inc nc4 21

양의 변수 theta(np) 'ODE 매개변수';

방정식
   collocation_eqn1(nh,nc)
   collocation_eqn2(nh,nc);

collocation_eqn1(i,j)..
   Duc[i,j,'ne1'] =e= - (theta['np1'] + theta['np3'])*sqr(uc[i,j,'ne1']);

collocation_eqn2(i,j)..
   Duc[i,j,'ne2'] =e= theta['np1']*sqr(uc[i,j,'ne1']) - theta['np2']*uc[i,j,'ne2'];

v.fx['nh1',s] = bc(s);

모델 경유/모두/;

$if set workSpace gasoil.workSpace = %workSpace%

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