천연가스, 원전
2019.3.25 월 18:58
> 뉴스 > 오피니언 > 김영창의 전력사업의 이해 | 김영창의 전력사업의 이해
     
전력시스템운용이란 무엇인가?(13)
공학박사 김영창 (전력경제신문 특별 연재 칼럼)
2019년 03월 09일 (토) 15:47:04 전력경제 epetimes@epetimes.com

- 전기의 사용은 일간 또는 주간을 통하여 주기적으로 변동한다.
- 필요 이상으로 많은 발전기를 가동하여 놓으면 연료가 낭비된다.
- 기동정지스케줄 작성문제는 시스템 전체로 본 기동비용과 연료비를 최소화하는 발전기의 기동 및 정지의 스케줄을 구하는 것이다.

   
공학박사 김영창

기동정지스케줄(unit commitment)과 실시간 전력시스템운용


사람들의 활동은 주기적이기 때문에 대규모 인구를 대상으로 서비스를 공급하는 시스템은 주기를 경험하게 된다. 이와 같은 시스템에는 전력시스템뿐만 아니라 통신시스템, 수송시스템 등도 있다. 전력시스템의 경우, 전체 시스템의 부하는 조명용부하와 산업용부하를 많이 사용하는 주간과 초저녁에는 높고, 대부분의 사람들이 잠을 자는 늦은 저녁, 이른 아침 등의 시간에는 낮다. 또한, 전력수요는 주말에는 낮고 평일에는 높아서 1주일마다 주기적으로 변동한다. 그러면 이러한 현상이 전력시스템운용에서 왜 문제가 되는가? 단순하게 최대부하를 만족시키기 위하여 충분하게 발전기를 기동하여 놓고 그 상태를 지속하면 되지 않는가? 발전기를 기동하는 것은 발전기의 회전속도를 시스템의 동기속도에 맞춘 다음에 차단기를 닫아 시스템에 병입하고(synchronize) 전기를 생산할 수 있는 상태로 하는 것(turn it on)이다. “필요 이상으로 많은 발전기를 기동하고 켜놓은 상태로 유지하는 것”은 경제성에 관한 문제의 하나이다. 너무나 많은 발전기를 가동하여 놓는 것은 연료비를 낭비하는 것이다. 발전기를 운전할 필요가 없는 시간대에 정지시켜 놓음으로써 비용을 상당히 절감할 수 있다.

기동정지스케줄과 실시간 시스템운용
기동정지스케줄 작성문제와 경제급전문제의 차이점을 보면, 기동정지스케줄 문제는 전체적으로 기동비용(start-up cost) 및 연료비를 최소화하기 위해 어느 시점에 발전기를 끄고 켤 것인가를 결정하는 문제이며 불시고장으로 인해 정지 중이거나 예방보수로 정지 중인 발전기를 제외한 것이 기동정지스케줄 작성의 대상이 된다. 경제급전 문제는 이미 작성된 기동정지 스케줄에 따라 기동되어 있는 발전기를 대상으로 하여 실시간에서 발전기의 출력을 결정하는 것이며 앞으로의 충족시켜야 할 수요에 대한 예측치가 시간대 별로 주어져야 한다.
 기동정지스케줄 문제는 대상기간을 24시간, 1주일 등으로 할 수 있다. 그리고 문제를 푸는 절차의 내부에 경제급전문제를 부문제(subproblem)로서 포함한다. 발전기건설계획에서의 시뮬레이션과 달리 발전기의 확률적 고장정지를 고려하지 않는다. 기동정지스케줄 문제가 수학적으로 복잡하고 어려운 이유는 정수(integer)인 변수를 포함하기 때문이다. 발전기는 운전상태와 정지상태 가운데 어떤 하나의 것에 속하여야 하며 스위치를 열어서 중간상태에 존재하도록 할 수는 없다. 기동이 결정된 이후의 발전기의 출력은 연속변수로서 고려되어야 한다. 
 기동정지스케줄 문제는 시간적으로 전후가 연결된 제약조건(inter-temporal constraint)을 포함한다. 즉 현재 시간구간의 운전상태가 다음 시간구간의 운전상태 결정에 영향을 미치므로 시간구간 사이의 연결고리를 감안한 가동상황을 결정해야 한다.
 기동정지스케줄 문제의 해를 구할 때에 안전도제약 최적조류계산(SCED)을 부문제로 사용한다면 이것은 안전도제약 기동정지스케줄(SCUC, security-constrained unit commitment) 문제라고 한다. 이 문제는 모선 별 소비자부하를 예측하여 놓고 송전망 용량제약을 고려한 발전기출력을 계산하여 기동비용 및 연료비를 고려한 발전기의 기동정지의 결정을 하는 것이다. 오늘날에는  송전선의 집합이 대단히 크고 전력시장의 관할지역이 넓어서 여러 전력회사의 전력시스템을 연계하여 운용할 경우에 개별 전력시스템의 기동정지스케줄과 연계선의 용량문제를 파악하기 위하여 안전도제약 기동정지스케줄 프로그램이 사용되기도 한다. 실제로 기동정지스케줄을 실시간시스템운용에서 사용할 수 없는 이유는 5분마다 기동정지를 실행하고 SCED가 계산한 발전기의 출력신호에 의하여 출력기준점을 조정하는 것이 물리적으로도 불가능하고 5분마다 모선 별 소비자부하를 일주일 정도의 대상기간에 대하여 예측하고 무한대에 가까운 발전기상태의 조합을 고려한다는 것도 거의 불가능하기 때문이다.
 그림 26은 하루를 대상으로 한 기동정지스케줄 내용을 보여준다. 하루의 부하가 정상과 골짜기(peak and valley)의 형태를 나타낸다고 하면 총부하를 넘어선 부분은 순동예비력을 나타낸다. 따라서 골짜기에서는 발전기를 정지시켜야 하며 총부하가 증가하면 다시 발전기를 기동하여야 한다. 또한 발전기가 정지된 이후에 일정기간이 지나야 다시 가동해야 하는 것도 있다. 이렇게 하면서 작성대상기간 중의 기동비용과 연료비의 합이 최소로 되는 발전기의 기동 및 정지 스케줄을 구한다. 작성기간은 일주일이며 일반적으로 발전기가 수 백 개라면 일주일 전체로 볼 때 가능한 발전기 조합은 천문학적으로 많다. 그러나 실제로 기동정지스케줄을 작성하는 시점에서 보면 약 300 개 이상의 발전기가 운전 중이라고 하여도 내일의 전력시스템 운용을 위해 가동을 결정해야 할 발전기를 선택할 때에는 선택할 범위가 상당히 축소된다. 즉 고장정지 또는 예방보수 중인 발전기는 가동할 수 없다. 이미 운전하고 있는 원자력발전기 또는 화력발전기를 기동정지스케줄을 고려해 새로 가동여부를 결정할 필요는 없다. 그러므로 매일 기동정지스케줄을 작성한다고 해도 기동정지스케줄에서 선택할 발전기는 한정적인 것이며 기동비용 및 연료비의 최소화를 고려해 기동정지스케줄을 변경할 대상이 몇 개 되지 않는다. 시스템운용자의 중요한 관심사는 내일의 기동정지스케줄 작성을 작성할 때 부하추종(load-following) 운용예비력과 순동예비력을 고려해 어떤 발전기를 대기예비력으로 할 것인가, 또는 어떤 발전기에 주파수조정 역할을 맡길 것이냐 하는 것이다.

   
그림 26. 기동정지스케줄 작성문제


기동정지스케줄 문제에서의 각종 제약조건
기동정지스케줄 작성에서 고려하는 주요 제약조건으로서 운전 중인 발전기가 고장으로 정지해도 주파수가 지정한 수치 이하로 하락하지 않아야 된다는 순동예비력 확보량에 대한 제약, 화력발전기의 운전제약, 연료사용량의 제약, 시스템운용의 안전도유지에 관한 제약, 의무운전(must-run) 발전기에 관한 제약, 수력발전기 저수지용량의 제약 등이 있다. 순동예비력이란 현재 동기운전 중(spinning)인 발전기의 정격출력을 합산한 것에서 운전 중인 발전기의 출력의 합을 뺀 값을 말한다. 운전 중인 발전기 가운데 가장 출력이 큰 발전기가 탈락하는 것과 한 시간 이내의 시스템부하의 변동에 대비하여 순동예비력이 지정된 시간 이내에 확보되고 탈락된 발전기의 출력만큼을 회복하여야 한다는 등의 규칙을 준수하기 위하여 순동예비력을 확보하여야 한다. 기동정지스케줄 문제는 순동예비력의 확보뿐만 아니라 ‘계획 운용예비력’ 또는 ‘대기 운용예비력’의 크기도 고려한다. 이에 해당하는 발전기는 전력시스템에 병입한 후 출력을 증가하여 최대출력에 도달하는 시간이 대단히 짧은 급속기동 디젤발전기, 가스터빈 발전기, 대부분의 수력발전기, 그리고 양수발전기 등이다. 이러한 발전기들은 최대출력에 도달하는 기간을 고려하여 전체적인 순동예비력 확보량을 계산할 경우에 고려된다. 또한 순동예비력은 송전망의 각 송전선 전력조류의 한계를 고려하여 전력시스템 전체에 골고루 분포되어 출력조정에 응할 수 있어야 한다. 이것을 ‘예비력 저장(bottling)’이라고 말하며 연계시스템의 경우, 하나의 전력시스템이 고립될 경우에도 시스템운용을 지속할 수 있다.

화력발전기에 대한 제약조건
화력발전기는 서서히 온도를 올려야 하며 이 제약으로 인하여 발전기를 기동하기 위하여 시간이 많이 필요하다. 화력발전기의 운전에 대한 제약으로 인하여 여러 종류의 제약이 필요하게 된다. 먼저 최소운전시간(minimum up-time) 제약이 가해지는데 이것은 일단 발전기가 운전 중이라면 일정 시간이 경과한 이후에 정지시켜야 한다는 제약이다.
 또한 일단 발전기가 정지 중이라면 일정시간이 경과한 이후에 기동하여야 한다는 최소정지시간(minimum down-time) 제약이 가해진다. 발전기를 운전하려면 운전원이 필요한데 기동, 정지 시에는 이들의 역할이 중요하므로 운전원제약이 필요하다. 하나의 발전소에 여러 발전기가 있다면 2개 이상의 발전기를 동시에 기동하는 과정에서 운전원이 부족할 수 있으므로 2개 이상의 발전기를 동시에 기동할 수 없는 경우도 발생하기 때문이다.
 기타 제약조건으로 의무운전이 있으며 어떤 발전기는 1년 중의 일정 시간 동안에 송전망의 전압지원(무효전력공급) 목적 또는 발전용이 아닌 다른 목적의 스팀공급 등을 위하여 의무운전제약이 있다. 연료제약 조건은 연료공급량에 대한 제약 또는 어느 기간 동안에 지정한 종류의 연료를 사용하여야 한다는 조건 등이며 이로 인하여 기동정지스케줄 작성이 대단히 복잡하게 된다. 수력발전기의 경우에는 저수지의 수위 또는 강물의 흐름 등으로 인하여 제약을 받으므로 운전스케줄과 기동정지스케줄은 불가분의 관계에 있다.
 
발전기의 기동비용
 화력발전기 터빈의 온도와 압력은 서서히 변하여야 하기 때문에 발전기를 기동시키는 데 있어서는 일정량의 연료가 어쩔 수 없이 낭비된다. 이에 따른 연료비는 발전기가 출력을 내는 데에 사용되지 않으며 기동정지스케줄 문제에 있어서 기동비용이라고 말한다. 기동비용은 정지시간이 오래 경과된 이후에 기동하는 냉간기동(cold start-up)의 경우에 가장 크고, 정지시킨 다음 시간이 얼마 경과하지 않아서 운전온도에 가까운 상태로써 다시 기동한다면 기동비용이 가장 작다. 발전기가 정지 중일 때 발전기를 취급하는 방법에는 두 가지가 있다. 첫 번째 경우는 보일러가 냉각되도록 하고 다시 기동할 때에 가열하는 것이며, 두 번째는 ‘뱅킹(banking)’이라는 방법으로써 에너지를 가하여 보일러가 운전온도를 유지하도록 하는 것이다. 상황에 따라 두 가지 방법의 비용을 비교하여 더 유리한 쪽을 채택한다.
 발전기 기동비용 측면에서 보면 원자력발전기는 정지상태에서 병입에 이르는 시간이 길고, 유연탄화력발전기도 24시간에서 36시간 정도의 시간이 필요하여 기동비용이 높으며 중간부하용 발전기는 기저부하용 발전기와 첨두부하용 발전기의 중간 정도의 특성을 갖는다. 또한 원자력 및 화력발전기는 한번 운전을 중지하면 일정시간이 지나야 가동을 시작할 수 있고, 첨두부하용 발전기는 기동시간이 짧고 기동비용이 거의 없다. 수력발전기는 화력발전기의 특성과 달리 기동비용은 거의 없고 기동시간도 짧으므로 시스템수요의 변동에 따라 출력을 조정하여 주파수를 조정하는 목적으로 편리하게 이용된다. 양수발전기도 수력발전기와 동일하지만 에너지저장 발전기이므로 상부저수지에 물을 펌핑해 놓아야 발전이 가능하다. 즉 펌핑하고 있는 동안에는 소비자부하처럼 작용한다. 기동정지스케줄 작성 프로그램은 발전기의 기동비용 및 최소정지시간 등의 특성도 고려해 스케줄을 작성한다.
 기동정지스케줄 작성문제의 해법으로서 우선순위열거법, 동적계획법(Dynamic Programming), 라그랑지 완화법(Lagrange Relaxation), 혼합정수 선형계획법(Mixed Integer Linear Programing) 등이 있다.

우선순위열거법
이것은 가장 단순한 기동정지스케줄 작성방법으로 발전기의 우선순위 목록을 작성하여 기동정지를 결정한다. 각종 제약조건이 준수되도록 발전기를 그룹 별로 분류해 놓아 우선순위법에 대한 기법을 개선할 수 있다. 동적계획법을 사용할 경우에도 발전기조합의 탐색을 위하여 동일한 우선순위 목록을 작성하여 사용한다.

동적계획법
이것은 리차드 벨만의 ‘최적성의 원리’를 사용한다. 먼저 모든 시간구간에 대하여 발전기조합(동적계획법의 스테이트에 해당)을 작성하여 놓는다. 그리고 두 번 째 시간구간부터 마지막 시간구간까지의 모든 스테이트에 대하여 다음과 같은 계산을 한다. 각 시간구간의 스테이트 별로 직전의 모든 스테이트로부터 천이(transition)하여 올 때의 기동비용과 시스템운용비를 각각 계산하여 놓는다. 이 때에 직전의 시간구간의 어떤 스테이트에서 출발하여 오는 것이 최소비용의 부분경로(partial path)인가를 지시자(flag)로서 스테이트마다 보관하여 놓은 다음, 추가비용을 스테이트의 목적함수에 기록하여 놓는다.
 이 계산이 끝난 후, 최종 시간구간의 스테이트 가운데 목적함수가 가장 작은 것에서 출발하여 역순으로 지시자를 이용하여 첫째 시간구간까지 추적하여 가면 최소비용경로에 속하는 시간대 별 발전기조합이 구해진다. 동적계획법을 사용하면 발전기의 기동 및 정지를 나타내는 정수(integer) 변수와 연속변수를 동시에 취급하기 용이하므로 널리 사용되는 기법이지만 컴퓨터 기억장소를 너무 많이 요구한다. 그러므로 시간구간 별 발전기조합의 수를 축소해 작은 범위만을 검토해야 하는 단점이 있다.

라그랑지 완화법(Lagrangian Relaxation Method)
동적계획법을 이용하여 해를 찾는 것은 발전기의 갯수가 많은 대규모 시스템에서는 불리하다. 라그랑지 완화법은 동적계획법의 단점을 보완하며 쌍대최적화(dual optimization) 기법을 사용한다. 시간대 별로 운전여부를 나타내는 발전기 별 정수변수를 작성하고 목적함수와 여러 종류의 제약조건식을 정의한다. 제약조건식은 시스템부하와 발전기출력에 관련된 제약, 발전기출력에 관한 제약, 최소운전시간과 최소정지시간에 대한 제약 등이며 다른 제약조건도 정식화하여 기동정지스케줄 문제에 포함시킬 수 있다. 기동정지스케줄 문제는 위의 제약조건을 고려해 라그랑지 함수를 최소화한다. 라그랑지 완화법의 계산과정은 결합제약조건이 존재하지 않는 것처럼 하여 일시 무시하거나 완화하고 기동정지스케줄 문제를 풀어간다. 이것은 쌍대최적화 절차를 통하여 문제를 푸는 것으로서 이 절차는 원문제(primal problem)의 변수에 대해 최소화하는 한 편, 라그랑지 승수에 관해 라그랑지 함수를 최대화하는 것으로서 이 방법에 의하여 원문제인 제약있는 최소화문제를 푼다. 대부분의 라그랑지 완화법을 이용한 프로그램은 동적계획법을 사용하여 초기해를 구하고 다음으로 쌍대최적화 기법을 사용하며 마지막 종료단계에 와서는 발견적 기법(heuristic method)을 이용하거나 제한적 동적계획법을 이용하여 최종해를 구한다.

혼합정수 선형계획법
최근에는 정수계획법(integer programming)의 분야에 커다란 진보가 이루어졌으며 정수의 변수를 직접 취급하여 최적해에 도달하는 것에 대하여 라그랑지 완화법보다 우수한 기법도 개발되었다. 미국 내의 다수의 시스템운용기관은 혼합정수 선형계획법을 사용하는 컴퓨터 프로그램을 사용하고 있다.

1
0
전력경제의 다른기사 보기  
ⓒ 전력경제신문(http://www.epetimes.com) 무단전재 및 재배포금지 | 저작권문의  

     
전체기사의견(0)  
 
   * 200자까지 쓰실 수 있습니다. (현재 0 byte/최대 400byte)
   * 욕설등 인신공격성 글은 삭제 합니다. [운영원칙]
전체기사의견(0)
전력경제소개 | 기자이메일 | 자유게시판 | 구독신청 |기사제보 | 광고문의 | 제휴안내 | 이메일무단수집거부 | 개인정보취급방침 | 청소년보호정책
제호 : 인터넷전력경제 | 등록번호 : 서울 아00205 | 등록·발행일자 : 2006년 5월 12일 | 발행인 : 조순형 | 편집인 : 김홍섭 | 청소년보호책임자 : 김홍섭
Copyright by 2006 (주)전력경제신문사  서울 서초구 명달로 22길 12-12(서초3동 1515-5 )UNK빌딩 4층 | 전화 : 02-582-0048(대표) | 문의 : 문의메일