설명
가능한 일련의 화학 반응이 주어지면, 우리는 검증해야 합니다 주어진 세트로부터 화학물질이 합성될 수 있는지 여부 원료 및 촉매.
소형 모델 유형 :MIP
카테고리 : 피망 슬롯 모델 라이브러리
메인 파일 : reaction.gms
$title 반응 경로 합성을 위한 논리적 추론 (REACTION,SEQ=121)
$onText
일련의 가능한 화학 반응이 주어지면 이를 검증해야 합니다.
주어진 세트로부터 화학물질이 합성될 수 있는지 여부
원료와 촉매.
Morari, M 및 Grossmann, I E, Eds, 화학 공학 최적화
피망 슬롯가 포함된 모델. 화학 공학 회사의 컴퓨터 보조 장치,
1991.
Raman, R 및 Grossmann, IE, MINLP 모델링과
화학 공정 합성에 대한 논리적 반전. 컴퓨터와
화학공학 15, 2(1991), 73-84.
키워드: 혼합 정수 선형 계획법, 반응 경로 합성, 화학
엔지니어링, 화학 공정 합성
$offText
세트
v '시스템 변수(화학물질)'
/ y01 'ch3co2c2h5', y02 'naoc2h5'
y03 'c2h5oh', y04 'ch3coch2co2c2h5'
y05 'h3o-하이드로늄 이온', y06 'ch3coch3'
y07 'co2', y08 'ch3cn'
y09 'ch3mgi', y10 'c2h5oc2h5'
y11 'ch3c(nmgi)ch3', y12 'h2o'
y13 'hcl', y14 'ch3cho'
y15 'ch3ch(오)ch3', y16 'cro3'
y17 'h2so4', y18 'ch2=c(ch3)2'
y19 'o3', y20 'hco2h'
y21 'ch3i', y22 'mg'
y23 'ch3co2ch3', y24 'hoc(ch3)3'
y25 'ch4', y26 'i2'
y27 '안녕', y28 'o2'
y29 'cr2o3', y30 'ch3cl'
y31 'nacn', y32 'nacl'
y33 'cl2', y34 'ch3cooh' /
rx '논리적 조건' / rxn01 * rxn22 /;
별칭(v,vv);
세트
logicc(rx,v,vv) '화학 반응의 수학적 표현'
/ rxn01.y04.(y01,y02,y03), rxn12.y24.(y09,y23)
rxn02.y06.(y04,y05), rxn13.y18.(y24,y17)
rxn03.y07.(y04,y05), rxn14.y21.(y25,y26)
rxn04.y03.(y04,y05), rxn15.y27.(y25,y26)
rxn05.y11.(y08,y09,y10), rxn16.y14.(y03,y28,y29)
rxn06.y06.(y11,y12,y13), rxn17.y32.(y30,y31,y12)
rxn07.y15.(y14,y09,y10,y05), rxn18.y08.(y30,y31,y12)
rxn08.y06.(y15,y16,y17), rxn19.y30.(y25,y33)
rxn09.y06.(y18,y19,y12), rxn20.y13.(y25,y33)
rxn10.y20.(y18,y19,y12), rxn21.y01.(y34,y03)
rxn11.y09.(y21,y22), rxn22.y34.(y14,y28) /
rxv(rx,v) 'rx를 v로 매핑';
rxv(rx,v) = sum(vv, logicc(rx,v,vv));
이진변수 y(v);
가변토썸;
방정식
obj '아세톤이 생성될 수 있는지 확인하기 위해 y06을 최소화하세요'
leq(rx,v) '논리적 제약';
obj..totsum =e= y('y06');
leq(rxv(rx,v)).. sum(logicc(rxv,vv), 1 - y(vv)) =g= 1 - y(v);
세트
yavail(v) '사용 가능한 원료 및 촉매'
/ y02, y03, y05, y10, y12, y13, y17, y22, y25, y26, y28, y31, y33 /
ynotavail(v) '원료 및 촉매를 사용할 수 없음'
/ y16, y19 /;
y.fx(yavail) = 1;
y.fx(ynotavail) = 0;
모델 규칙 베이스 / all /;
mip를 사용하여 totsum을 최소화하는 규칙 베이스를 해결합니다.