설명
이 간단한 정제소 예시는 EXXON의 Platoform 논문에서 가져온 것입니다. 세 가지 주요 장치, 파이프스틸, 동력 형성기 및 촉매 분해 장치 존재합니다. 정유소는 세 가지 원유 중 하나를 선택하고 판매합니다. 4개의 최종 제품. 블렌딩은 레시피와 품질에 따라 이루어집니다. 사양. 모든 제품 흐름은 중량으로 측정됩니다. 원본 Platoform 버전은 연구용 옥탄가와 독점적 특성으로 인해 점도 혼합 공식. 간단한 기능적 형태는 Platoform 결과로부터 추정되었습니다. 설명을 위한 목적 및 모터가스용 "ron"의 하위 사양 타당성을 유지하기 위해 99.3에서 99.0으로 낮추어야 했습니다.
소형 모델 유형 :LP
카테고리 : 슬롯 사이트 모델 라이브러리
메인 파일 : fawley.gms
$title 플랫폼 예시 리파이너리 (FAWLEY,SEQ=65)
$onText
이 간단한 정유소 예시는 EXXON의 Platoform 논문에서 가져온 것입니다.
세 가지 주요 장치, 파이프스틸, 동력 형성기 및 촉매 분해 장치
존재합니다. 정유소는 세 가지 원유 중 하나를 선택하고 판매합니다.
4개의 최종 제품. 블렌딩은 레시피와 품질에 따라 이루어집니다.
사양. 모든 제품 흐름은 중량으로 측정됩니다. 원본
Platoform 버전은 연구용 옥탄가와
독점적 특성으로 인해 점도 혼합 공식. 간단한
기능적 형태는 Platoform 결과로부터 추정되었습니다.
설명을 위한 목적 및 모터가스용 "ron"의 하위 사양
타당성을 유지하기 위해 99.3에서 99.0으로 낮추어야 했습니다.
Palmer, KH, 수학적 계획법을 위한 모델 관리 프레임워크,
EXXON 모노그래프 시리즈. 존 와일리와 아들, 1984.
키워드: 선형 계획법, 정유소 운영, 혼합 문제
$offText
세트
c '상품' / arabian-l '원유'
아라비안-h '원유'
브레가 '원유'
lv-나프타 '경질 버진 나프타'
v-heat-oil '버진 난방유'
iv-naphtha '중간 버진 나프타'
진공 dst '진공 증류액'
Vacuum-res '진공 잔류물'
res-arab-l '진공 잔류물 - 아라비아 빛'
res-arab-h '진공 잔류물 - 아라비아 무거운'
res-brega '진공 잔류물 - 브레가'
부탄
개량하다
cc-naph-l '촉매 분해 나프타 - 심각도 낮음'
cc-naph-h '촉매분해 나프타 - 심각도 높음'
cc-dist '촉매 분해 증류액'
연료 임프 '수입 연료'
연료 등가물 '연료 등가물' /
cr(c) '원유' / arabian-l, arabian-h, brega /
ci(c) '수입된 구성요소' / 연료 임프 /
슬롯 사이트 '최종 제품' / 모터가스 '모터 가솔린'
제트 연료 '제트 연료'
열유 '열유'
연료유 '연료유' /
cfq(슬롯 사이트) '최종 제품 품질 혼합'
cfr(슬롯 사이트) '최종 제품 레시피 혼합'
k '생산 단위' / 파이프스틸, 개질기, C-크래커 /
p '프로세스' / d-arab-l '아라비아 경질 원유 증류'
d-arab-h '아라비아 중질 원유를 증류하는 중'
d-brega '브레가 원유를 증류하는 중'
개혁 '개혁'
ho-low-s '난방유 cc - 심각도 낮음'
ho-high-s '난방유 cc - 심각도 높음'
vd-low-s '진공 증류액 cc - 심각도 낮음'
vd-high-s '진공 증류액 cc - 심각도 높음' /
kuse(k,p) / 파이프스틸.(d-arab-l,d-arab-h,d-brega)
개혁자.(개혁)
c-cracker.(ho-low-s,ho-high-s,vd-low-s,vd-high-s) /
bposs(슬롯 사이트c) '품질 혼합을 위한 혼합 가능성'
/ 모터가스.(lv-naphtha,butane,reformate,cc-naph-l,cc-naph-h)
연료유.(v-열유,진공-dst,res-arab-l,res-arab-h
res-brega,cc-dist,연료 등가,연료 임프) /
s '제품 사양' / rvp '레이드 증기압'
론 '연구 옥탄가'
pct-212f '화씨 21도에서 증류된 퍼센트'
황 '황 함량'
vbn '점도 혼합수' /
m '제품 치수' / 부피, 무게 /
ms(m,s) '사양 측정' / 부피.(rvp, ron, pct-212f), 무게.(황, vbn) /
cfm(슬롯 사이트m) '필요한 측정값'
l '품질 한계' / 하한, 상한 /
r '레시피' / 레시피-1*레시피-3 /
tr '전송 옵션' / tr-1, tr-2 /;
테이블 crdat(cr,*) '원유 정보 테이블'
공급 가격 운송 중력
* (1000톤) ($/bbl) ($/톤) (톤/m3)
아라비아-l 110 35 24.15 .858
아라비안-h 165 34 24.15 .886
브레가 80 42 10.05 .823;
테이블 ddat(슬롯 사이트,*) '수요 데이터'
수요 가격
* (1000톤) ($/톤)
모터 가스 40 430
제트 연료 20 300
열유 50 315
연료유 145 250;
테이블 kdat(k,*) '용량 데이터'
용량 운영 비용 운영일
* (1000bbl/d) ($/bbl f) (일/기간)
파이프스틸 65.0 .15 31
개질기 7.5 .60 28
c-크래커 8.0 .65 28;
표 ap(c,p) '공정 수율(원유 공급물의 중량 비율)'
d-아랍-l d-아랍-h d-브레가
아라비아-l -1.0
아라비아-h -1.0
브레가 -1.0
lv-나프타 .035 .030 .045
IV-나프타 .100 .075 .135
v열유 .390 .300 .430
진공 dst .285 .230 .280
res-아랍-l .165
res-아랍-h .335
레스-브레가 .100
+ 개혁 ho-low-s ho-high-s vd-low-s vd-high-s
iv-나프타-1.
v-열유 -1. -1.
진공-dst -1. -1.
부탄 .02 .02 .0325 .05 .06
개질 .90
cc-나프-l .275 .325
CC-나프-h .3775 .45
CC 거리 .68 .555 .585 .44
연료 등가 .08 .025 .035 .040 .050;
테이블 레시피(슬롯 사이트c,r) '블렌딩 레시피(무게 비율)'
레시피-1 레시피-2 레시피-3
열유.v-열유 1.0
열유.cc-dist 1.0
제트 연료.lv-나프타 .2
제트 연료.iv-나프타 .3 .1
제트 연료.v-열유 .7 .8 .1
제트 연료.cc-dist .8;
(c,tr) '이동 과정(무게 비율)' 표
tr-1 tr-2
lv-나프타 -1
부탄 -1
연료 등가물 1.11 1.07;
테이블 사양(슬롯 사이트l,s) '품질 혼합에 대한 제품 사양'
rvp 론 pct-212f 유황 vbn
모터 가스.하부 10 99
모터 가스. 상부 60
연료유.상부 3 37.5;
테이블 prop(c,*) '속성'
rvp ron pct-212f 유황 vbn 중력
부탄 75 101.6 100 .570
lv-나프타 12 86.3 95 .650
iv-나프타 .737
개질 6 102.5 35 .865
cc-나프-l 7 94.9 60 .730
cc-나프-h 9 99.1 64 .750
v열유 1.0 14.8 .886
진공 dst 1.7 21.8 .920
res-아랍-l 4.0 48
res-아랍-h 5.0 51
레스-브레가 .6 44
CC-거리 1.5 18.0
연료 부족 3.0 37.5
연료 등가물 3.5 44 ;
스칼라
m3tob '배럴을 m3으로 변환(m3당 배럴)' / 6.29 /
pbmg '모터 가스의 납 함량(리터당 그램)' / .4 /
ppb '납 가격(kg당 $)' / 7.8 /
ocpb '납 비용(휘발유 m3당 $)';
매개변수
char(c,m) '제품 잔액에 대한 변환'
bp(k,p) '용량 활용도(톤당 m3)'
kp(k) '용량(1000m3)'
oc(k) '운영 비용(m3당 $)'
pcr(cr) '플랜트게이트 원유 가격(톤당 $)'
pimp(c) '수입 부품 가격(톤당 $)' / Fuel-imp 245 /
invent(c) '재고 변경(1000톤 - 축적 양수)' / cc-naph-l -.58
개질 1.65 /
dir(l) '사양 초과 표시' / lower -1, upper 1 /;
cfr(슬롯 사이트) = sum((c,r)$recipes(슬롯 사이트c,r), yes);
cfq(슬롯 사이트) = cfr(슬롯 사이트)가 아님;
cfm(슬롯 사이트m) = sum((l,s)$specs(슬롯 사이트l,s), ms(m,s));
cfm(슬롯 사이트,"체중") = 예;
char(c,"무게") = 1;
char(c,"볼륨")$prop(c,"중력") = 1/prop(c,"중력");
prop(cr,"중력") = crdat(cr,"중력");
bp(k,p)$kuse(k,p) = 1/sum(c$(ap(c,p) < 0), -ap(c,p)*prop(c,"중력"));
kp(k) = kdat(k,"용량")*kdat(k,"운영일")/m3tob;
ocpb = pbmg*ppb;
oc(k) = kdat(k,"운영 비용")*m3tob;
pcr(cr) = crdat(cr,"가격")*m3tob/crdat(cr,"중력");
cfr, cfq, cfm, char, bp, kp, oc, ocpb, pcr을 표시합니다.
변수
u(c) '원유구매(1000톤)'
z(p) '생산 수준(1000톤)'
cap(k) '사용 용량(1000m3)'
trans(tr) '이적 활동(1000톤)'
import(c) '부품 수입(1000톤)'
bq(c,슬롯 사이트) '고품질 블렌딩 활동(1000톤)'
rb(슬롯 사이트r) '레시피 블렌딩 활동(1000톤)'
q(슬롯 사이트m) '최종 제품 측정(1000톤)'
ov(슬롯 사이트l,s) '혼합 과다 또는 과소(1000단위)'
매출액(슬롯 사이트) '최종제품 판매량(1000톤)'
수익 '최종 제품 수익(1000 $)'
반복되는 '운영 비용(1000$)'
'외부상품구매(1000$)' 구매
운송 '운송비(1000$)'
이익 '영업 이익(1000 $)';
양수 변수 u, cap, z, bq, rb, q, sales, ov, trans, import;
방정식
mbal(c) '성분수지(1000톤)'
kbal(k) '용량 제약(1000m3)'
dbal(슬롯 사이트) '수요수지(1000톤)'
qsb(슬롯 사이트l,s) '품질 제약 조건(1000 단위)'
pbal(슬롯 사이트m) '제품 잔고(1000개)'
drev '수익 정의(1000 $)'
doper '반복 비용 정의(1000 $)'
dpur '구매 비용 정의(1000 $)'
dtran '운송 비용 정의(1000 $)'
dprof '이익 정의(1000 $)';
mbal(c).. u(c)$cr(c) + sum(p, ap(c,p)*z(p)) + sum(tr, at(c,tr)*trans(tr)) + import(c)$ci(c)
=e= sum(cfq$bposs(cfq,c), bq(c,cfq)) + invent(c) + sum((cfr,r), recipe(cfr,c,r)*rb(cfr,r));
kbal(k).. cap(k) =e= sum(p, bp(k,p)*z(p));
dbal(슬롯 사이트).. 판매(슬롯 사이트) =e= q(슬롯 사이트,"중량")$cfq(슬롯 사이트) + sum((c,r), recipe(슬롯 사이트c,r)*rb(슬롯 사이트r))$cfr(슬롯 사이트);
qsb(cfq,l,s)$specs(cfq,l,s).. sum(c$bposs(cfq,c), prop(c,s)*sum(m$ms(m,s), char(c,m)*bq(c,cfq)))
+ dir(l)*ov(cfq,l,s)
=e= 합계(m$ms(m,s), 사양(cfq,l,s)*q(cfq,m));
pbal(cfq,m)$cfm(cfq,m).. q(cfq,m) =e= sum(c$bposs(cfq,c), char(c,m)*bq(c,cfq));
drev.. 수익 =e= sum(슬롯 사이트, ddat(슬롯 사이트,"price")*sales(슬롯 사이트));
doper.. recurrent =e= sum(k, oc(k)*cap(k)) + ocpb*q("모터 가스","볼륨");
dpur..구매 =e= sum(cr, pcr(cr)*u(cr)) + sum(ci, pimp(ci)*import(ci));
dtran..transport =e= sum(cr, crdat(cr,"transport")*u(cr));
dprof.. 이익 =e= 수익 - 반복 - 구매 - 운송;
모델 엑손 / 모두 /;
u.up(cr) = crdat(cr,"공급");
sales.fx(슬롯 사이트) = ddat(슬롯 사이트,"수요");
cap.up(k) = kp(k);
lp를 사용하여 이익을 극대화하는 exxon을 해결합니다.
매개변수 fblend '중유 혼합 작업 요약';
fblend(c,"weight") = bq.l(c,"연료유");
fblend("**총계**","중량") = q.l("연료유","중량");
fblend(c,"퍼센트") = fblend(c,"중량")/fblend("**총계**","중량")*100;
fblend("**전체**","퍼센트") = 100;
fblend(c,"황")$bposs("연료유",c) = prop(c,"황") ;
fblend("**총계**","황") = sum(c, fblend(c,"퍼센트")*fblend(c,"황"))/100;
fblend(c,"vbn")$bposs("연료유",c) = prop(c,"vbn");
fblend("**총계**","vbn") = sum(c, fblend(c,"퍼센트")*fblend(c,"vbn"))/100;
fblend를 표시합니다;