분리2 : 3열 증류에서 프로판, 이소부탄, n-부탄 및 이소펜탄의 비선명 분리

참조

  • Neculai Andrei, 크레이지 슬롯 기술을 사용한 비선형 최적화 애플리케이션, 스프링거 최적화 및 그 애플리케이션, 모델분리2(7.17) 장화학공학 응용, 2013

카테고리 : 크레이지 슬롯 NOA 라이브러리


메인파일 : separation2.gms

$onText
프로판, 이소부탄, n-부탄 및 이소펜탄의 선명하지 않은 분리
3열 증류.

Aggarwal, A., Floudas, C.A., 일반 증류 순서의 합성 -
선명하지 않은 분리. 계산. 화학. Eng., 14, 1990, pp.631-653.

Floudas, C.A., Pardalos, P.M., et al. 로컬 테스트 문제 핸드북
및 글로벌 최적화. Kluwer 학술 출판사, Dordrecht, 1999,
섹션 5.3.3, pp. 46-50.
$offText

스칼라 a01 /0.31569/, a02 /0.96926/, a03 /0.40281/,
        a11 /-0.0112812/, a12 /-0.0413393/, a13 /-0.0119785/,
        a21 /0.0072698/, a22 /0.02282203/, a23 /0.0082055/,
        a31 /0.0064241/, a32 /0.0257035/, a33 /0.009819/;

스칼라 bA1 /0.0016446/, bA2 /0.0015625/, bA3 /-0.001748/,
        bB1 /0.0018611/, bB2 /0.0091604/, bB3 /-0.0002583/,
        bC1 /0.001262/, bC2 /0.0076758/, bC3 /-0.0004691/;

변수 F1, 크레이지 슬롯, F3, F4, F5, F6, F7, F8,
          F9, F10, F11, F12, F13, F14, F15, F16,
          F17, F18, F19, 크레이지 슬롯0, 크레이지 슬롯1, 크레이지 슬롯2, 크레이지 슬롯3, 크레이지 슬롯4,
          크레이지 슬롯5, 크레이지 슬롯6, 크레이지 슬롯7, 크레이지 슬롯8, 크레이지 슬롯9, F30, F31, F32,
          xA6, xA10, xA15, xA24, xA25,
          xB6, xB10, xB15, xB24, xB25,
          xC6, xC10, xC15, xC24, xC25,
          xD6, xD10, xD15, xD24, xD25,
          xA7, xB7, xA16, xB16, xC16,
          xB20, xC20, xD20, xC30, xD30, obj;

방정식 e1,e2,e3,e4,e5,e6,e7,e8,e9,e10,e11,e12,e13,e14,e15,e16,e17,e18,
          e19,e20,e21,e22,e23,e24,e25,e26,e27,e28,e29,e30,e31,e32,e33,e34,
          e35,e36,e37,e38,e39,e40,e41,e42,e43,e44,e45,e46,e47,e48,e49,e50,
          e51,e52,e53,e;

예.. obj =e= a01 +(a11+0.85*a21+a31+bA1*xA6+bB1*xB6+bC1*xC6)*F6 +
              a02 +(a12+0.85*a22+0.85*a32+bA2*xA15+bB2*xB15+bC2*xC15)*F15+
              a03 +(a13+a23+0.85*a33+bA3*xA24+bB3*xB24+bC3*xC24)*크레이지 슬롯4;

e1.. F1 + 크레이지 슬롯 + F3 + F4 + F5 =e= 600;
e2.. F6 - F1 - F17 - 크레이지 슬롯6 =e= 0;
e3.. F15 - 크레이지 슬롯 - F11 - 크레이지 슬롯7 =e= 0;
e4.. 크레이지 슬롯4 - F3 - F12 - 크레이지 슬롯1 =e= 0;
e5.. F7 - F8 - F9 =e= 0;
e6.. F10 - F11 - F12 - F13 - F14 =e= 0;
e7.. F16 - F17 - F18 - F19 =e= 0;
e8.. 크레이지 슬롯0 - 크레이지 슬롯1 - 크레이지 슬롯2 - 크레이지 슬롯3 =e= 0;
e9.. 크레이지 슬롯5 - 크레이지 슬롯6 - 크레이지 슬롯7 - 크레이지 슬롯8 - 크레이지 슬롯9 =e= 0;
e10.. F30 - F31 - F32 =e= 0;
e11.. F7*xA7 - 0.85*F6*xA6 =e= 0;
e12.. F16*xB16 - 0.85*F15*xB15 =e= 0;
e13.. 크레이지 슬롯5*xC25 - 크레이지 슬롯4*xC24 =e= 0;
e14.. F10*xB10 - F6*xB6 =e= 0;
e15.. 크레이지 슬롯0*xC20 - 0.85*F15*xC15 =e= 0;
e16.. F30*xD30 - 0.85*크레이지 슬롯4*xD24 =e= 0;
e17.. F6*xA6 - F7*xA7 - F10*xA10 =e= 0;
e18.. F6*xB6 - F7*xB7 - F10*xB10 =e= 0;
e19.. F6*xC6 - F10*xC10 =e= 0;
e20.. F6*xD6 - F10*xD10 =e= 0;
e21.. F15*xA15 - F16*xA16 =e= 0;
e22.. F15*xB15 - F16*xB16 - 크레이지 슬롯0*xB20 =e= 0;
e23.. F15*xC15 - F16*xC16 - 크레이지 슬롯0*xC20 =e= 0;
e24.. F15*xD15 - 크레이지 슬롯0*xD20 =e= 0;
e25.. 크레이지 슬롯4*xA24 - 크레이지 슬롯5*xA25 =e= 0;
e26.. 크레이지 슬롯4*xB24 - 크레이지 슬롯5*xB25 =e= 0;
e27.. 크레이지 슬롯4*xC24 - 크레이지 슬롯5*xC25 - F30*xC30 =e= 0;
e28.. 크레이지 슬롯4*xD24 - 크레이지 슬롯5*xD25 - F30*xD30 =e= 0;
e29.. 0.250*F1 + F17*xA16 + 크레이지 슬롯6*xA25 - F6*xA6 =e= 0;
e30.. 0.333*F1 + F17*xB16 + 크레이지 슬롯6*xB25 - F6*xB6 =e= 0;
e31.. 0.167*F1 + F17*xC16 + 크레이지 슬롯6*xC25 - F6*xC6 =e= 0;
e32.. 0.250*F1 + 크레이지 슬롯6*xD25 - F6*xD6 =e= 0;
e33.. 0.250*크레이지 슬롯 + F11*xA10 + 크레이지 슬롯7*xA25 - F15*xA15 =e= 0;
e34.. 0.333*크레이지 슬롯 + F11*xB10 + 크레이지 슬롯7*xB25 - F15*xB15 =e= 0;
e35.. 0.167*크레이지 슬롯 + F11*xC10 + 크레이지 슬롯7*xC25 - F15*xC15 =e= 0;
e36.. 0.250*크레이지 슬롯 + F11*xD10 + 크레이지 슬롯7*xD25 - F15*xD15 =e= 0;
e37.. 0.250*F3 + F12*xA10 - 크레이지 슬롯4*xA24 =e= 0;
e38.. 0.333*F3 + F12*xB10 + 크레이지 슬롯1*xB20 - 크레이지 슬롯4*xB24 =e= 0;
e39.. 0.167*F3 + F12*xC10 + 크레이지 슬롯1*xC20 - 크레이지 슬롯4*xC24 =e= 0;
e40.. 0.250*F3 + F12*xD10 + 크레이지 슬롯1*xD20 - 크레이지 슬롯4*xD24 =e= 0;
e41.. 0.250*F4 + F8*xA7 + F13*xA10 + F18*xA16 + 크레이지 슬롯8*xA25 =e= 50;
e42.. 0.222*F4 + F8*xB7 + F13*xB10 + F18*xB16 + 크레이지 슬롯2*xB20 + 크레이지 슬롯8*xB25 =e= 100;
e43.. 0.167*F4 + F13*xC10 + F18*xC16 + 크레이지 슬롯2*xC20 + 크레이지 슬롯8*xC25 + F31*xC30 =e= 40;
e44.. 0.250*F4 + F13*xD10 + 크레이지 슬롯2*xD20 + 크레이지 슬롯8*xD25 + F31*xD30 =e= 100;
e45.. xA6 + xB6 + xC6 + xD6 =e= 1;
e46.. xA7 + xB7 =e= 1;
e47.. xA10 + xB10 + xC10 + xD10 =e= 1;
e48.. xA15 + xB15 + xC15 + xD15 =e= 1;
e49.. xA16 + xB16 + xC16 =e= 1;
e50.. xB20 + xC20 + xD20 =e= 1;
e51.. xA24 + xB24 + xC24 + xD24 =e= 1;
e52.. xA25 + xB25 + xC25 + xD25 =e= 1;
e53.. xC30 + xD30 =e= 1;

* 변수의 한계
F1.lo=0;      F1.up=600;       크레이지 슬롯.lo=0;      크레이지 슬롯.up=600;
F3.lo=0;      F3.up=600;       F4.lo=0;      F4.up=600;
F5.lo=0;      F5.up=600;       F6.lo=0;      F6.up=600;
F7.lo=0;      F7.up=600;       F8.lo=0;      F8.up=600;
F9.lo=0;      F9.up=600;       F10.lo=0;     F10.up=600;
F11.lo=0;     F11.up=600;      F12.lo=0;     F12.up=600;
F13.lo=0;     F13.up=600;      F14.lo=0;     F14.up=600;
F15.lo=0;     F15.up=600;      F16.lo=0;     F16.up=600;
F17.lo=0;     F17.up=600;      F18.lo=0;     F18.up=600;
F19.lo=0;     F19.up=600;      크레이지 슬롯0.lo=0;     크레이지 슬롯0.up=600;
크레이지 슬롯1.lo=0;     크레이지 슬롯1.up=600;      크레이지 슬롯2.lo=0;     크레이지 슬롯2.up=600;
크레이지 슬롯3.lo=0;     크레이지 슬롯3.up=600;      크레이지 슬롯4.lo=0;     크레이지 슬롯4.up=600;
크레이지 슬롯5.lo=0;     크레이지 슬롯5.up=600;      크레이지 슬롯6.lo=0;     크레이지 슬롯6.up=600;
크레이지 슬롯7.lo=0;     크레이지 슬롯7.up=600;      크레이지 슬롯8.lo=0;     크레이지 슬롯8.up=600;
크레이지 슬롯9.lo=0;     크레이지 슬롯9.up=600;      F30.lo=0;     F30.up=600;
F31.lo=0;     F31.up=600;      F32.lo=0;     F32.up=600;

xA6.lo=0;     xA6.up=1;        xA10.lo=0;    xA10.up=1;
xA15.lo=0;    xA15.up=1;       xA24.lo=0;    xA24.up=1;
xA25.lo=0;    xA25.up=1;       xB6.lo=0;     xB6.up=1;
xB10.lo=0;    xB10.up=1;       xB15.lo=0;    xB15.up=1;
xB24.lo=0;    xB24.up=1;       xB25.lo=0;    xB25.up=1;
xC6.lo=0;     xC6.up=1;        xC10.lo=0;    xC10.up=1;
xC15.lo=0;    xC15.up=1;       xC24.lo=0;    xC24.up=1;
xC25.lo=0;    xC25.up=1;       xD6.lo=0;     xD6.up=1;
xD10.lo=0;    xD10.up=1;       xD15.lo=0;    xD15.up=1;
xD24.lo=0;    xD24.up=1;       xD25.lo=0;    xD25.up=1;
xA7.lo=0;     xA7.up=1;        xB7.lo=0;     xB7.up=1;
xA16.lo=0;    xA16.up=1;       xB16.lo=0;    xB16.up=1;
xC16.lo=0;    xC16.up=1;       xB20.lo=0;    xB20.up=1;
xC20.lo=0;    xC20.up=1;       xD20.lo=0;    xD20.up=1;
xC30.lo=0;    xC30.up=1;       xD30.lo=0;    xD30.up=1;

* 초기점(변형)
F1.1=160;     크레이지 슬롯.1=110;        F3.1=90;      F4.1=60;
F5.1=170;     F6.1=162;        F7.1=30;      F8.1=0;
F9.1=30;      F10.1=127;       F13.1=130;    F15.1=120;
F16.1=70;     F18.1=65;        크레이지 슬롯0.1=50;     크레이지 슬롯1.1=50;
크레이지 슬롯2.1=0;      크레이지 슬롯4.1=140;       크레이지 슬롯5.1=98;     크레이지 슬롯8.1=0;
크레이지 슬롯9.1=100;    F30.1=40;        F31.1=40;
xA6.1=0.2;    xA7.1=1;         xB7.1=0;      xB10.1=0.4;
xB15.1=0.3;   xB16.1=0.5;      xB24.1=0.2;   xC10.1=0.2;
xC20.1=0.3;   xC24.1=0.2;      xC25.1=0.3;   xD6.1=0.25;
xD20.1=0.6;

모델 분리2 /all/;

nlp를 사용하여 obj를 최소화하는 분리 2를 해결합니다.
* 이별 종료2