대규모 화학공장의 운전절차 합성을 위한 알고리즘의 개발

허보경, 황규석

부산대학교 화학공학과

Development of Algorithm for Operating Procedure Synthesis

of large-scale chemical plants

Bo-Kyeng Hou, Kyu-Suk Hwang

Dept. of Chemical Eng., Pusan National Univ.

서론

운전절차 합성(Operating Procedure Synthesis, OPS) 시스템은 에러가 없는 조작절차를 합성하는데 도움을 주며 합성된 조작 절차의 에러는 그 절차를 만드는데 사용된 지식베이스로부터 논리적으로 규명할 수 있다. 또한 특정 공정에 대한 전문가들의 지식을 구조화, 문서화하여 보관하고 공유할 수 있다는 장점과 함께 운전자 교육용 시스템(Operator Training System, OTS)으로의 활용 뿐 아니라 이러한 OPS 시스템은 공정의 이상상황에 유연하게 대처할 수 있는 시스템으로 발전할 수 있을 것으로 예상된다. 그러나 기존의 OPS 시스템은 대규모 화학공장에 적용할 경우에 조합폭발(combinatorial explosion)의 문제가 발생하여 유효한 운전절차를 합성하지 못하는 단점을 가지고 있다.

따라서 본 연구에서는 대규모 화학공장의 운전절차 합성 시에 발생하는 조합폭발의 문제를 해결하기 위해 필요한 지식과 그 표현 방법 및 합성 알고리즘에 관한 연구 내용을 다룬다. 이를 위해서 우선 기존 OPS 시스템의 문제점을 지적하고 그 해결 방안을 모색하며, 다양한 레벨의 지식을 제공하는 공정의 다중 모델(multiple model)을 제공하여 새로운 지식을 연역적, 귀납적으로 유추할 수 있는 능력을 가진 추론엔진(inference engine)을 개발하고자 한다. 또한, 공정에 존재하는 가능한 모든 제약조건들의 분류와 제약조건 전파 방법(constraint propagation)을 이용하여 조작으로 인한 공정 상태의 변화를 모사할 수 있는 방법의 개발과 함께 시간논리(temporal logic)로 공정의 제약조건들을 표현하는 방법, 그리고 운전상황의 인식과 목표트리(goal tree)를 이용하여 목표와 조작 연산자를 선택하는 방법을 제시하고자 한다.

본론

최초의 OPS 시스템(Rivas & Rudd, 1971)은 다음과 같은 다섯 가지 형태의 위험상황을 체크할 수 있었으나 그 이후에 개발된 시스템들은 모두 다 체크해 주지 못하였다. 즉, (1) 두 가지 이상 물질의 혼합, (2) 두 장치 사이의 흐름, (3) 특정흐름의 차단(blocking), (4) 특정한 유출구에 닿는 특정 화합물의 유·무, (5) 특정 장치에 도착한 화학 물질 유·무 등에 의한 위험상황을 말한다.

어떤 OPS 문제에서 임의의 사건은 고정된 시간 안에 일어나야 한다. 예를 들어, 특정한 화학물질은 매우 불안정하기 때문에 합성된 후에 가능한 빨리 사용되어야 한다. 또한 어떤 OPS 문제에서 임의의 사건은 다른 사건이 일어난 다음, 어느 정도 시간이 경과된 후에 일어나야 한다. 예를 들어, 배치가 유입되고 3시간 후에 용기의 내용물을 추가한다. 운전절차 합성 시스템은 이러한 시간적인 제약조건들을 나타내기 위해서 시간에 대한 추론 능력을 가지고 있어야 한다.

그러나 기존의 운전절차 합성 시스템은 전역적 제약조건(global constraint)과 지역적 제약조건(local constraint)은 이용하지만, 임의의 시간간격 동안에 존재하는 시간적 제약조건을 표현하지 못한다.

일반적으로 물질흐름이 합쳐질 때에 발생할 수 있는 형태는 크게 세 가지로 구분할 수 있다.

1. 일반적인 결합(general join) : 각각의 물질 흐름이 서로 독립적으로 시작되며, 어떠한 조건도 가지고 있지 않는다.

2. 동기화 결합(synchronous join) : 각각의 물질 흐름이 서로 종속되어 있으므로 동시에 물질 흐름이 발생되어야 함을 의미하며, 특정한 동기화 조건을 가질 경우에는 해당 조건을 만족하면서 실행되어야 한다.

3. 비동기화 결합(asynchronous join) : 각각의 물질 흐름이 서로 독립적으로 시작되고 종료될 수 있으며, 어느 특정한 지점에 도달할 때까지 지속된다.

이와 같이 기존의 OPS 시스템은 조작, 운전상황 등의 상호 인과관계를 명확하게 인식하지 못하므로 인해 화학공장의 실질적인 운전절차를 합성해 주지 못하였다. 또한 상호 인과관계를 이용하지 않는 연산자의 선택으로 인한 후퇴로 조합폭발의 문제를 항상 수반하게 되었다. 본 연구에서는 시간논리를 이용하여 시간적인 제약조건을 표현한다. 즉 효과적인 연산자의 선택과 위험상황 발생 여부를 확인하기 위해서 ∪(Until), □(Always), □(Eventually), □(Next)로 구성된 일차(first order) 선형 시간논리(Linear Temporal Logic, LTL) 연산자와 ´(All), ～(Some)과 같은 한정사(quantifier), 그리고 ∧(And), ∨(Or), □(Implies), ￢(Not)와 같은 논리 기호(logical symbol)를 이용하여 전역적·시간적 제약조건을 표현한다(Table 1).

Table 1. Meaning of temporal modality

Temporal Modality	Meaning
□f	f holds in the next world
□f	f holds in current world and in all future worlds
□f	f either holds now or in some future world
f1∪f2	Either now or in some future world f2 holds and until that world f1 holds

선형 전순서 알고리즘은 엄청난 탐색 경비를 소요하지만 비선형 알고리즘은 후퇴를 하지 않고 실행 가능한 운전절차를 합성해 줌을 알 수 있다. 또한 복잡한 화학공장의 운전절차를 합성하기 위해서는 조작과 상황 사이의 의미론적인 상관관계의 인식이 필요하다. 이것은 조작에 의한 상황의 변화를 인식하기 위해 반드시 필요하며, 공정변수를 구성요소로 하는 상황리스트로써 나타내는 것이 일반적이다. 즉, 지식베이스 내의 지식 중에서 공장모델(plant model)과 운전상황에 관한 경험규칙이 적절하게 묘사되어야 한다.

부분순서 계획법으로 대표되는 비선형 부분순서 알고리즘은 선형 전순서 알고리즘과 마찬가지로 대규모 화학공장에 적용할 경우, 조합폭발을 일으킬 뿐 만 아니라 수치적인 정보를 이용할 수 없다는 단점을 가지고 있다. 따라서 대규모 화학공장의 운전절차 합성을 위해서는 대상공정의 고유한 특성지식(Table 2)을 이용한 탐색 전략과 각 중간목표를 분할하여 정복하는 방법이 요구된다.

Table 2. The Types of domain-specific knowledge for searching

Types	Domain-specific knowledge
Type1	Declarative knowledge about desirable or undesirable solutions or partial solutions
Type2	Declarative knowledge about desirable or undesirable search paths
Type3	Declarative grammar about desirable solutions
Type4	Procedural knowledge about how the search for the solution should be organized

전향추론(forward chaining)에 의한 선형 전순서 합성 알고리즘은, 목적 지향성(goal direction)의 부족과 연속적인(sequential) 조작 시퀀스를 행하므로 병렬조작의 표현이 어렵지만, 중간목표 상태의 정보와 제약조건을 이용한 탐색 제어가 가능하다.

비선형 부분순서 알고리즘은 합성하는 과정 중에 조작의 순서를 미리 결정하지 않고 순서결정 제약조건(order constraint)만을 부가하므로 후퇴 감소와 병렬 조작 시퀀스가 가능하지만, 탐색의 제어가 힘들고 전순서 조작 시퀀스로의 전환이 어렵다.

이러한 단점을 보완하기 위해 본 연구에서는 시간논리와 목표트리를 이용한 OPS 알고리즘을 이용하여 운전절차를 합성한다.

1) 사용자로부터 장치의 연결관계(topology), 초기상태와 목표상태, 목표트리 그리고 제약조건들을 입력받는다. 입력된 데이터의 논리적 타당성은 제약조건 전파로 검증한 다음에 각 장치의 공정변수 값을 초기화한다. 또한 흐름상황 인식 연산자를 이용하여 각 라인의 흐름상태를 파악한 후, 시간논리로 표현된 특정 영역의 운전상황과 공정 전체의 운전상황을 파악하여 각각 초기화한다.

2) 입력받은 초기 공정상태와 달성하기 원하는 최종 목표 상태가 서로 일치되는 경우, 운전절차를 제시하고 종료된다.

3) 운전상황 진행 알고리즘으로 운전상황의 인과적·시간적 변화를 인식하여 한 후, 목표트리가 있는 경우, 중간목표 달성에 필요한 장치와 선택 가능한 조작 세트를 생성한다. 만일 목표트리가 없는 경우, 초기상태와 목표상태를 비교하여 그 차이를 줄이는데 필요한 조작세트를 생성한다.

4) 조작의 세트 중에서 작동 준비조건과 운전상황 진행 조건(progression condition)을 만족하는 조작을 하나 선택한다

5) 전역적 제약조건에 의해 더 이상 선택할 조작이 없는 경우, 적절한 퍼지 조작을 조작 세트에 추가한 후, 4)로 간다. 퍼지 조작을 행할 수 없는 경우나 운전목표를 달성하는데 필요한 조작이 없는 경우, 사용자에게 운전목표를 달성할 수 없음을 알리고 종료된다.

6) 제약조건 전파를 이용하여 선택된 조작의 실행으로 변화된 공정상태를 모사한다.

7) 변화된 공정상태가 전역적·지역적·시간적 제약조건을 침범하지 않고 안전한지를 체크한다. 만일 위험한 경우에는 공정을 조작 실행 이전의 상태로 되돌린 다음, 4)번으로 가서 조작 세트에서 다른 조작을 하나 선택한 후, 4)∼7)의 과정을 반복 실행한다. 안전한 경우에는 운전절차에 그 조작을 추가한 다음, 2번으로 가서 2)∼7)의 과정을 반복 실행한다.

본 연구에서 제시한 공정 모델링과 합성 알고리즘의 유효성을 검증하기 위해 기존 OPS 시스템이 해결하지 못한 공정에 적용하여 보았다(Fig. 1).

Fig. 1. The bottleneck problem.

공정의 초기 운전상황은 밸브 a, x가 열려져 있어 Hydrogen-In에서 Hydrogen-Out으로 수소가 흐르고 있으며, 산소 탱크(Oxygen-Tank)안에는 산소가 채워져 있지 않고 밸브 b, c, y, z는 닫혀져 있는 상태이다. 운전목표는 산소 탱크에 산소를 채우고 난 다음, Hydrogen-In에서 Hydrogen- Out으로 수소를 다시 흐르게 하는 것이다. 이 공정의 전역적 제약조건은 □산소와 수소가 접촉되어서는 안 된다□이다. 수소와 질소, 산소와 질소는 접촉 가능하므로 산소와 수소를 질소로 퍼지할 수 있다. 단 퍼지할 때에 유출되는 가스의 배출은 Nitrogen-Out으로만 가능하다. 이 공정은 물질 흐름을 생성하는데 필요한 파이프를 공유하게 되어 병목(bottleneck)현상을 일으키므로 매우 복잡한 중간목표 상호작용이 발생하여 목표트리를 생성하기 어려울 뿐 아니라 운전목표를 달성하기 위해 한 밸브의 상태가 두 번 이상 바뀌어야 한다.

합성된 최종 운전절차는 다음과 같다. {((close a)(close x)), ((open b)(open y)), ((close b)(close y)), ((open c)(open z)), ((close c)(close z)), ((open b)(open y)), ((close b)(close y)), ((open a)(open x))}

결론

대규모 화학공장의 운전절차 합성을 위한 효과적인 탐색은 공정의 제약조건, 경험적인 탐색 규칙, 그리고 사건(task)과 공정상태(process state)를 구성요소로 하는 운전상황의 인과관계와 시간적인 변화를 고려해야 가능하다. 시간적 제약조건을 이용한 탐색 제어는, 중간목표의 상태 정보를 이용하여 잘못된 연산자의 선택으로 인한 후퇴를 막아주지만, 사용자로 하여금 탐색 제어를 위한 공정 지식의 획득에 대한 부담을 준다. 그러나 대규모 화학공장의 운전절차 합성을 위한 매우 효과적인 방법임을 입증할 수 있었다.

감사의 글

본 연구는 포항공과대학교 공정산업의 지능자동화 연구센터를 통한 한국과학재단 우수연구센터 지원금에 의한 것입니다.

참고문헌

1. Chapman, D.: "Planning for conjunction goals", Artificial Intelligence, 32(3), 287(1987)

2. Lakshmanan R. and Stephanopoulos G.: "Synthesis Of Operating Procedures for Complete Chemical Plants-I. Hierarchical Structural Modeling for Nonlinear Planning", Comp. & Chem. Eng., 12, 985(1988)