본문 바로가기 메뉴 바로가기

원자력 발전소 연료 삽입체의 이동경로 최적화

개요

원자력 발전소에서는 K주기 가동(전력생산)을 종료한 후 계획예방정비 기간에 K주기에서 사용한 연료와 삽입체(제어봉)를 모두 원자로에서 사용후핵연료저장조(SFP)로 이동시킨다. 계획예방정비 기간에 사용후핵연료저장조에서 이 연료와 삽입체를 점검한 후 K+1주기 원자로 배치 모형에 맞게 삽입체를 재배치(이동)하게 되는데 이 재배치 이동 경로를 줄이면 정비 시간을 단축할 수 있다. 즉, 재배치에 따른 정비 기간을 단축시킴으로써 발전소의 안전성과 경제성 향상에 기여할 수 있다. 국가수리과학연구소와 한국수력원자력은 사용후핵연료저장조 내 삽입체들의 이동거리를 최적화(최소화)하는 것을 목표로 선형계획법을 이용한 삽입체의 최적 이동 경로 알고리즘을 개발하였다. 여기서 알고리즘에 도입된 수학적인 방법을 살펴보자.

사용후핵연료저장조 삽입체 이동 문제

사용후핵연료저장조 내에 있는 삽입체는 아래 그림과 같이 기중기를 통해서 다른 연료에 장착된다.

기중기를 기준으로->1로 이동 후 ->2로 이동

K+1주기에 사용할 연료(121개) 중 삽입체(제어봉)가 장착될 연료는 총 33개이다. 이들 연료에는 고리2호기 규칙에 어긋나지 않는 한 어떠한 삽입체가 장착되어도 무방하다(자체 규칙은 발전소 보안상 미공개). 실제로 산업문제를 해결할 때는 이 규칙을 모두 고려하였으나 여기에서는 다루지 않는다. 즉, 이동해야 할 삽입체의 개수가 33개이고 기중기의 처음 위치까지 고려하게 되면 삽입체를 이동하는 모든 경우의 수는 다음과 같다.

$$ 33\cdot ( 33! ) ( 32! ) = ( 33! )^2 \approx 7.54 \cdot 10^{73} $$

쉬운 이해를 위해 규칙을 고려하지 않은 삽입체 이동경로 문제는 다음과 같다.

주어진 정보 및 조건

  • $S$ : 현재 기중기 위치
  • $G_\alpha = \{\alpha_1,..., \alpha_{33}\}$ : 현재 삽입체들의 위치 집합
  • $G_\beta = \{\beta_1,..., \beta_{33}\}$ : 삽입체들을 장착해야 할 위치 집합
  • 단, 한 번 선택된 연료에는 중복해서 삽입체가 장착될 수 없음

이동순서 설명 (S→Gα→Gβ→Gα→Gβ… 순으로 이동한다.)

문제 및 조건

기중기가 $S$에서 출발하여 $G_\alpha$ 에 있는 모든 삽입체들을 $G_\beta$로 이동하는 최소 이동 경로를 구하자.

위 선형계획법을 통해 얻은 최소 이동경로와 본인이 경험적으로 설정한 이동경로를 비교해보자.

시뮬레이터 건너뛰기

연료 삽입체 이동거리 최소화

S점에서 시작하여 노란색, 파란색, 노란색 순으로 모든 점들을 한번씩 지나는 최소 이동경로를 찾아보세요

원하는 위치를 클릭하세요.

결과

선형계획법을 이용한 최소 이동경로가 직접 설정한 이동경로와 비교하여 얼마나 시간을 단축 시킬 수 있는지 확인해 보자.
아래 결과는 알고리즘을 통해서 얻은 결과를 기준(100)으로 나의경로 값을 보여준다.

최소경로 100
위 시뮬레이션을 완료하면 최소경로와 비교가능합니다 140
최대경로

참고

국가수리과학연구소와 한국수력원자력이 공동으로 개발한 이 알고리즘을 2018년 5월 고리2호기에 적용한 결과 기존 경험적으로 설정한 이동 경로 대비 약 40% 단축되는 경제적 효과뿐 아니라 안정성 확보에 크게 기여하여 곧 다른 국내 원전으로 확대 적용할 계획이다.

알고리즘

사용한 Linear Programming 알고리즘은 다음과 같다.

  • S: 시작점
  • $G_\alpha = \{\alpha_1,..., \alpha_N\}$: K 주기에서 사용한 삽입체 중에서 K+1 주기에서 재사용하는 삽입체
  • $G_\beta = \{\beta_1,..., \beta_N\}$: K+1 주기에서 삽입체가 장착되어야 할 연료(현재 삽입체가 없음)
  • 변수: Variables $$ x_{S\alpha} (\alpha \in G_\alpha)= \begin{cases} 1,\text{ 시작점 S에서 } G_\alpha \text{에 있는 연료 } \alpha \text{로 기중기가 이동하는 경우}\\ 0,\text{ otherwise} \end{cases} $$ $$ x_{\alpha \beta} (\alpha \in G_\alpha, \beta \in G_\beta)= \begin{cases} 1,\, G_\alpha\text{에 있는 연료 } \alpha \text{에서 } G_\beta \text{ 에 있는 연료 }\beta \text{로 기중기가 이동하는 경우} \\ 0,\text{ otherwise} \end{cases} $$ $$ x_{ \beta\alpha} (\alpha \in G_\alpha, \beta \in G_\beta)= \begin{cases} 1,\, G_\beta\text{에 있는 연료 } \beta \text{에서 } G_\alpha \text{ 에 있는 연료 }\alpha \text{로 기중기가 이동하는 경우} \\ 0,\text{ otherwise} \end{cases} $$
  • 상수: Constants $$ c_{S \alpha} (\alpha \in G_\alpha)= \text{SFP 내에서 시작점 S}\text{와 연료 }\alpha\text{ 사이의 거리} $$ $$ c_{\alpha \beta} (\alpha \in G_\alpha, \beta \in G_\beta)= \text{SFP 내에서 연료}\alpha\text{와 연료 }\beta\text{ 사이의 거리} $$

목적함수: Objective function

$$\mathbf{ \sum_{\alpha \in G_\alpha} c_{S\alpha} x_{S \alpha} + \sum_{\alpha \in G_\alpha,\, \beta \in G_\beta} c_{\alpha \beta} x_{\alpha \beta} + \sum_{\alpha \in G_\alpha,\, \beta \in G_\beta} c_{\alpha \beta} x_{\beta\alpha} } $$

최소이동경로 문제는 아래의 제한조건을 만족하면서 위 목적함수가 최솟값이 되는 변수들의 조합을 찾는 문제이다.

  • 제한조건: Constraints
    • $0\leq x_{S\alpha}, x_{\alpha\beta}, x_{\beta \alpha} \leq 1, \, \alpha \in G_\alpha, \beta \in G_\beta$
    • $\sum_{\alpha \in G_\alpha} x_{S \alpha} = 1$ (시작점 S에서 $G_\alpha$에 있는 $\alpha$ 연료까지의 이동경로는 오직 한 개만 존재)
    • $\sum_{\alpha \in G_\alpha,\, \beta \in G_\beta} x_{\beta \alpha} = N-1$ ($G_\beta$에 있는 하나의 연료는 도착지이므로 $G_\alpha$로 돌아갈 필요가 없음)
    • $\sum_{\beta\in G_\beta}x_{\beta \alpha} + x_{S\alpha} =1$ for all $\alpha \in G_\alpha$ (시작연료 S에서 출발해서 $G_\alpha$의 연료 $\alpha$에 도착하게되면($x_{S\alpha}=1$) 다시 $\alpha$로 되돌아올 수 없음)
    • $\sum_{\beta\in G_\beta}x_{ \alpha\beta} =1$ for all $\alpha \in G_\alpha$ ($G_\alpha$에 있는 연료에서 $G_\beta$에 있는 연료까지의 이동경로는 반드시 하나 여야 함)
    • $\sum_{\beta\in G_\beta}x_{\beta\alpha}\leq 1$ for all $\alpha \in G_\alpha$ ($G_\beta$에 없는 연료에서 $G_\alpha$로 가는 이동경로는 하나이거나 없어야함)
    • $\sum_{\alpha\in G_\alpha}x_{\beta\alpha}\leq 1$ for all $\beta \in G_\beta$ (마지막 도착지 $\beta$에서 $G_\alpha$로 이동하지 않음)
    • $\sum_{\alpha\in G_\alpha}x_{\alpha\beta}= 1$ for all $\beta \in G_\beta$