3.1 퍼지모델링
활성슬러지 공정 제어는 유입수의 양적, 질적 변화에도 불구하고 공정 상태 계측 정보(입력변수)에 입각하여 하수의 질을 유지하고 공정의 실패를 방지하기
위해 RRSP, DOSP, WSR을 조작한다. 활성슬러지 공정 입출력 변수의 멤버쉽 함수는 이산치형으로 이루어지며 컴퓨터에서의 계산을 용이하게 하기
위해 0~1 사이의 값인 멤버쉽 그레이드(membership grade)를 0~10 사이의 값으로 잡았다. 예를 들면 “NH
3-N is Small”에 대한 멤버쉽 함수는 다음과 같다.
μs(NH
3-N)=[10/2,10/4,5/6,5/8,0/10,0/12,0/14,0/16,0/18,0/20]
그러나, 실제 하수처리장 현장 특성의 현장 조사에서 다음과 같은 내용을 현장 전문가로부터 알 수가 있었다. 실제 하수처리장의 주요 제어를 위한 활성오니공정
변수는
표 1과 같다.
표 1. 하수처리 활성오니공정 입출력
Table 1. Inputs/Outputs in Activated Sludge Process
Influent Variables(Aeration Tank)
|
DO
(Dissolved Oxygen)
|
NH4
|
MLSS
(Mixed Liquid Suspended Sloid)
|
Effluent Variables
|
COD
(Chemical Oxygen Demand)
|
T-P
(Total P)
|
T-N
(Total N)
|
SS
Suspended Solid)
|
Control Variables
|
DOSP
(Dissolved Oxygen Set Pont)
|
RRSP
(Recycled Return Sludge Set Point)
|
WSR
(Wasted Sludge Set Point)
|
그러나, 유입수 계측항목 BOD, T-N, T-P, NH
4, PO
4, NO
3, SS는 계측기 오차로 신뢰할 수 없는 데이터였다. 따라서, 실제적인 제어를 위해서는 폭기조의 데이터를 참조하므로, 제어를 위해서는 폭기조 입력항목을
사용하는 것이 최선이다. 따라서, 폭기조 데이터로 퍼지모델의 입력변수로 DO, MLSS, NH
4로 정하였다.
출력변수는 실제 하수처리장에서 관리하는 항목으로 매시간 환경관리공단으로 전송되는 4개 방류수 항목임(COD, T-N, T-P, SS). 이 항목은
각각 법정 기준치 이하를 유지해야 된다. 따라서, 출력변수는 4개 방류수 항목으로 정하였다.
입출력 변수 및 활성오니 공정의 특징과 제어의 특징은 다음과 같다.
-. DO 제어를 지별 밸브제어를 수행.
-. 수질은 COD 적용(BOD는 BOD5를 적용해야 함으로 실질적으로 불가)
-. DO 계측기는 설치 위치에 따라 값이 다름
-. T-N, T-P에 따라 송풍량 조절(T-N, T-P ▽ → 송풍량 ▽, T-N, T-P ▲→송풍량 ▲)
-. T-N, T-P에 데이터 취득에 1시간 소요
-. 암모니아(NH3)가 T-N에 영향 미침
-. 외부 온도에 따라 송풍기 압력 변화
-. 비가 오면 DO 올라감 (그래프 특성 파악이 필요)
-. 수질과 무관하게 DO 조절
공정제어 특성은 다음과 같다.
-. 산소 잔류 DO량은 전체 필요량은 2-3%
-. 송풍량으로 암모니아 제어를 하는 경우도 있음.
-. pH 변화에 따른 DO 그래프 분석이 필요
-. 제어 : 암모니아(NH3)가 1.0 이하
→ 송풍량과 MLSS 같이 올려야 함. 반송오니 늘림.
-. 에너지 절감 : 인버터+조절펌프
-. 주요 인자 : COD, SS, T-P, T-N, PH, 유출수 유량
-. 제어 프로그램
· 계측기 문제로 필터링 기능이 필요
· 온라인 제어보다는 전문가시스템 개발이 좋음
· 제어주기 : 2~3시간
따라서, 최종적으로 적용할 퍼지모델 기반 퍼지제어기는 아래와 같은 규칙을 기반으로 작성하였다.
-.계측 데이터 : T-P, T-N, NH
4, MLSS, DO, COD, SS(수동설정 기능, 상하한 설정 기능)
-.제어 기본 알고리즘 : 검증 및 제어 최적화 목적 함수(방류수 수질 기준치 이하)
° 규칙 1) T-N, T-P에 따라 송풍량 조절
(T-N, T-P ▽ → 송풍량 ▽, T-N, T-P ▲→송풍량 ▲)
° 규칙 2) 암모니아(NH3)가 1.0 이하
→ 송풍량과 MLSS 같이 올려야 함. 반송오니 늘림.
° 규칙 3) DO 제어
→ DO : 1.5~4 mg/L에서 유지
→ 연속제어보다는 상하한으로 On/OFF 제어
이를 기반으로 최종 퍼지모델은 다음과 같이 구현하였다.
-. 입력변수 3개 : 폭기조 NH
4, DO, MLSS
-. 출력변수 4개 : 방류수 COD, T-N, T-P, SS
따라서, 퍼지모델(퍼지 규칙 2개인 경우)은 아래
식(1) 과 같다.
각각의 퍼지모델 후반부는
식(2)와 같다.
-. i번째 규칙의 파라미터 : 13개
A
1i(3개:c, σ
1, σ
2), A
2i(3개:c, σ
1, σ
2), A
3i(3개:c, σ
1, σ
2), a
0i, a
1i, a
2i, a
3i
퍼지모델의 출력 계산은 아래
식(3)과 같다.
퍼지모델별 오차는 아래
식(4)로 계산한다.
(y는 실제값는 (COD, TN, TP, SS),
는 퍼지모델값, N : 데이타 수)
파라미터 튜닝은 유전알고리즘을 사용하였다. 유전알고리즘은 코딩, 집단으로부터의 탐색, 보조정보의 불필요, 랜덤화된 연산자들의 직접사용이라는 특성으로
인해 복잡한 최적화 문제나 탐색에 있어서 뛰어난 강인성을 발휘하고 있다. 초기 집단으로부터 시간이 경과함에 따라 개선된 집단을 발생시키는 유전알고리즘은
유전 연산자로 구성되는데 많은 실용적인 문제에 있어서 좋은 결과를 낳는 단순한 유전알고리즘은 재생(Reproduction), 교배(Crossover),
돌연변이(Mutation) 연산자로 구성된다. 본 연구에서 사용된 단순 유전알고리즘의 순차는 다음과 같다.
[단계1]진화 세대 수, 집단의 크기, 교배 및 돌연변이율로 문자열의 크기와 같은 파라미터를 설정한다.
[단계2]초기 집단을 랜덤하게 발새하고 문자열로 구성된 각 개체의 적합도를 평가한다.
[단계3]유전 연산자에 의해 새로운 개체 집단을 발생한다. 적합도에 비례하여 새로운 개체가 재생되어 교배풀안에 할당되고 교배풀에서 랜덤하게 선정된
두개의 개체가 교배되며 그 가운데 랜덤하게 선정된 개체가 돌연변이가 된다.
[단계4]발생된 개체의 적합도를 평가하고 정해진 진화세대 수가 될 때까지 [단계 3]으로 복귀한다. 이 과정에서 적합도가 가장 높은 개체의 문자열은
보존되며 찾고자 하는 파리미터 집합은 이 문자열의 디코딩으로부터 얻어진다.
본 논문에서 사용된 교배율과 돌연변이율은 여러 가지 값을 시행착오를 통하여 적용한 결과 최종적으로 교배율 0.6, 돌연변이율 0.033으로 정하였다.
목적함수(E)는
식(4)의 역함수를 사용하여 최소의 문제를 최대의 문제로 변환하였다.
파라미터 동정은 목적함수 E를 최소화시키는 파라미터를 동정하는 일이다. 유전알고리즘에 서는 적합도에 따라 재생 연산자에 의해 문자열이 복제되는데 이는
적합도가 큰 문자열이 이후의 세대로 더 많이 복제되는 것을 의미한다. 따라서 적합도 함수를 최대화시키도록 진화가 이루어지므로 최소화 문제를 최대화
문제로 변경하여야 한다. 이 둘의 이중성은 이미 널리 알려져 있듯이 최소화 문제를 유전알고리즘에 맞도록 최대화 문제로 쉽게 변환할 수 있다. 그 변환
방법에는 여러 가지가 있지만 본 연구에서는 목적함수의 역수를 적합도 함수로 결정한다.
소수 집단으로 구성된 유전알고리즘에서 만족할만한 결과를 얻기 위해서는 집단내의 경쟁수준을 조정하는 것이 필요하며 이는 적합도 환산을 통해 복제되는
문자열 수를 조정함으로써 이루어진다. 적합도 환산 절차에는 여러 가지가 있지만 본 연구에서는 f=af+b 선형환산을 사용하며 식 f
max = C
mult × f
avg
는 선형환산을 만족시켜야 한다.
여기서, f는 본래 적합도, f는 f의 환산된 적합도이고 계수 a, b는 평균 환산 적합도로 f
avg와 본래의 평균 적합도 f
avg가 같도록 결정된다. 이는 각 집단내의 평균적인 구성원이 다음 세대에 단지 하나의 자손만을 낳을 수 있음을 의미한다. 여기서, C
mult는 집단내의 최적 구성원에 대한 복제수로 본 연구에서는 2.0이다. 이러한 적합도 환산은 유전알고리즘의 초기 수행에서 몇 개의 특별한 개체들의 적합도를
낮추고 낮은 적합도를 갖는 개체들은 적합도를 증가시켜 바람직하지 않은 조기수령을 방지할 수 있으나 유전알고리즘이 상당히 진화되어 집단의 적합도 평균치와
최대치가 상대적으로 비슷해지면 낮은 값을 갖는 적합도 최소치 f
min을 환산된 적합도 f
min=0에 대응하도록 선형 환산한다.
다수 파라미터로 구성된 최적화 문제를 푸는데 성공적으로 사용된 한가지 코딩방식은 다수의 단일 파라미터를 직렬로 연결하는 코딩 방식이다. 이를 위해
디코드된 양의 정수[0.2L]를 규정된 구간[P
min, P
max]로 선형적으로 사상시키다. 길이(L) 4의 이진수로 된 문자열을 고려하면 여기서 코드 0000와 1111 사이의 코드는 P
min과 P
max 사이의 값으로 식 f
max = C
mult × f
avg 에 의해 선형적으로 디코드된다. 다수 파라미터를 동정하기 위해서는 단일 파라미터 코드를 필요한 수만큼 직렬로 연결하고 각각의 파라미터는 자신의 코드길이와
최대값과 최소값을 갖는다. 따라서 구하고자 하는 파라미터 값은 문자열 중 그 파라미터에 해당되는 코드를 지정된 파라미터의 최대값과 최소값의 사이값으로
선형적으로 디코드된다.
유전알고리즘은 여러 방향에서 탐색을 통해 언덕을 올라감으로 국부수렴의 문제가 발생하지 않지만 최적한 값을 보증하지 못하며 적합도 함수를 극대화시키기
위한 파라미터 수의 증가는 유전알고리즘의 탐색영역을 증가시키고 결과적으로 이는 언덕의 정점값 또는 정점 근방의 값을 찾는데 많은 시간이 걸리게 한다.
이러한 문제점을 해결하는 한 수단으로 탐색영역 축소를 통한 유전알고리즘의 수렴성을 개선하는 방법이 제시되는데 유전알고리즘의 탐색영역 축소를 통해 보다
빨리 최고치 언덕의 점 근방으로 수렴될 수 있고 파라미터의 디코딩 오차도 신속하게 줄일 수 있다. 탐색영역조정은 유전알고리즘이 진화되어 집단내의 적합도
함수 최대값이 α보다 큰 개체(문자열)가 m개 발생하면 그 m개의 문자열로부터 파라미터 값들을 디코드하고 이 값에 기초하여 파라미터의 최소값을 증가시키고
최대값은 감소시킴으로써 이루어진다.
탐색영역이 조정되어 줄어들수록 α는 크게 하고 m은 줄인다. 탐색영역 조정에 의한 유전알고리즘의 순차는 다음과 같다.
[단계 1] 초기 집단, P(0)를 랜덤하게 발생하고 P(0)내의 모든 개체의 적합도 값을 계산하고 t를 1로 설정한다.
[단계 2] P(t)로부터 P(t+1)을 다음과 같이 발생시키다. P(t)에서 적합도 값에 비례하여 개체를 발생하고 교배 풀에서 랜덤하게 두 개체를
선택하여 교배와 돌연변이 연산을 수행하여 P(t+1)을 발생하고 P(t+1)내의 모든 개체의 적합도를 계산한다.
[단계 3] 만약 적합도 값이 탐색영역 조정을 위한 값, α보다 크면 문자열을 디코딩하고 디코드된 문자열이 m개가 되면 디코드된 파라미터 값 가운데
최소값과 최대값에 의해 탐색영역이 결정된다.
[단계 4] 적합도가 가장 높은 개체의 문자열은 보존되며 최대 진화 수에 도달할 때까지 [단계 2]로 복귀한다.