KR102242446B1 - 전력시스템의 동작 중에 제약 코드의 자동화된 수정이 가능한 전력관리장치 및 전력시스템 - Google Patents

전력시스템의 동작 중에 제약 코드의 자동화된 수정이 가능한 전력관리장치 및 전력시스템 Download PDF

Info

Publication number
KR102242446B1
KR102242446B1 KR1020190030495A KR20190030495A KR102242446B1 KR 102242446 B1 KR102242446 B1 KR 102242446B1 KR 1020190030495 A KR1020190030495 A KR 1020190030495A KR 20190030495 A KR20190030495 A KR 20190030495A KR 102242446 B1 KR102242446 B1 KR 102242446B1
Authority
KR
South Korea
Prior art keywords
constraint
power
power management
code
smt
Prior art date
Application number
KR1020190030495A
Other languages
English (en)
Other versions
KR20200110949A (ko
Inventor
문영덕
이태식
Original Assignee
이엔테크놀로지 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이엔테크놀로지 주식회사 filed Critical 이엔테크놀로지 주식회사
Priority to KR1020190030495A priority Critical patent/KR102242446B1/ko
Publication of KR20200110949A publication Critical patent/KR20200110949A/ko
Application granted granted Critical
Publication of KR102242446B1 publication Critical patent/KR102242446B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J3/00Circuit arrangements for ac mains or ac distribution networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/06Electricity, gas or water supply
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02EREDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
    • Y02E40/00Technologies for an efficient electrical power generation, transmission or distribution
    • Y02E40/70Smart grids as climate change mitigation technology in the energy generation sector
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S10/00Systems supporting electrical power generation, transmission or distribution
    • Y04S10/50Systems or methods supporting the power network operation or management, involving a certain degree of interaction with the load-side end user applications

Abstract

본 발명은 전력시스템의 동작 중에 제약 코드의 자동화된 수정이 가능한 전력관리장치 및 전력시스템에 관한 것이다. 본 발명의 일 측면은, 제1 제약을 생성하고, 상기 복수의 전력디바이스 중의 적어도 일부가 각각 생성한 제2 제약을 통신부를 통해 수신하며, SMT 기반 프로그램을 사용하여 상기 제1 제약과 상기 제2 제약을 만족하는 제1 해집합을 구하는 전력관리부; 및 상기 제2 제약을 상기 전력디바이스로부터 수신하고, 수신한 상기 제2 제약을 상기 전력관리부로 전송하며, 상기 전력관리부가 생성한 상기 제1 해집합을 상기 복수의 전력디바이스로 전송하는 상기 통신부;를 포함하고, 상기 전력관리부는, 상기 전력시스템의 운영 중에 상기 전력디바이스로부터 제3 제약을 수신하고, 상기 SMT 기반 프로그램이 상기 제3 제약을 반영하여 제2 해집합을 구하도록 자동화된 방식으로 상기 SMT 기반 프로그램의 코드를 수정하는 것을 특징으로 하는 전력관리장치이다.

Description

전력시스템의 동작 중에 제약 코드의 자동화된 수정이 가능한 전력관리장치 및 전력시스템{A POWER MANAGEMENT DEVICE AND A POWER SYSTEM CAPABLE OF AUTOMATIC MODIFICATION OF CONSTRAINT CODE DURING OPERATION OF THE POWER SYSTEM}
본 발명은 전력관리장치 및 전력시스템에 관한 것이다. 특히, 본 발명은 전력시스템의 동작 중에 제약 코드의 자동화된 수정이 가능한 전력관리장치 및 전력시스템에 관한 것이다.
본 명세서에서 언급하는 전력시스템은 전력의 생산, 저장, 소모 중의 적어도 하나 이상을 수행하는 디바이스(이하, '전력디바이스'라고 함)를 포함하는 시스템을 의미한다. 전력디바이스는, 예를 들면, 신재생 발전기 등과 같은 발전 장치, ESS(Energy Storage System) 등의 에너지 저장 장치, 전력을 소비하는 부하 등을 선택적으로 포함할 수 있다. 신재생 발전기 등과 같은 발전 디바이스는 전력의 생산 기능을 수행하고, ESS 등의 에너지 저장 디바이스는 전력의 저장 기능을 수행하며, 부하 등은 전력의 소비 기능을 수행하는 것으로 이해될 수 있다.
전력시스템을 원활하게 운영하기 위해 전력디바이스들을 관리하는 전력관리장치가 사용될 수 있다.
전력관리장치를 이용하여 전력시스템을 운영하는 하나의 방법으로 중앙집중식 방식이 고려될 수 있다. 중앙집중식 방식에서, 전력관리장치는 미리 확보된 전력디바이스에 대한 정보에 기초하여 미리 결정된 알고리즘에 따라 전력디바이스들을 관리할 수 있다. 이 방법의 경우, 각 전력디바이스의 특성을 반영하여 전력시스템을 효율적으로 운영하기가 곤란하다는 단점이 있다.
다른 방법으로, 전력관리장치가 전력디바이스로부터 미리 결정된 종류의 정보를 수시로 수신하고 이를 반영하여 미리 결정된 알고리즘에 따라 전력디바이스들을 관리하는 방식이 고려될 수 있다. 예를 들어, 전력디바이스가 전력관리장치로 정보를 제공할 파라미터 및 그 속성은 프로토콜에 따라 미리 결정되어 있고, 전력디바이스는 전력관리장치로 미리 정해진 파라미터의 속성값을 전송하는 정도의 제한된 정보 교류가 이루어질 수 있다. 이 때, 전력관리장치는 전력디바이스로부터 수신한 파라미터의 속성값을 반영할 수 있도록 설계된 알고리즘에 따라 동작하며 전력디바이스를 관리할 수 있다.
후자의 경우 전자에 비해 각 전력디바이스의 특성을 어느정도 반영할 수 있다는 장점은 있으나, 전력디바이스로부터 전력관리장치로 전송될 수 있는 정보가 제한되어 각 전력디바이스의 특성을 충분히 반영하기는 곤란하다는 단점이 있다. 예를 들어, 어떤 전력디바이스가 프로토콜에서 지원하지 않는 파라미터와 관련된 특정 조건이 만족되느냐 만족되지 않는냐에 따라 다르게 동작하기를 원하는 경우, 전력디바이스의 이러한 요구를 충족하기 위해서는 프로토콜을 수정할 필요가 있을뿐만 아니라 전력관리장치 내부의 알고리즘도 변경할 필요가 있다.
전력디바이스는 전력의 생산, 저장 또는 소비 중의 어떤 기능을 담당하느냐에 따라 자신의 최적 동작을 위한 다양한 요구 조건이 있을 수 있다. 또한, 동일한 종류의 전력디바이스라고 하더라도 각 전력디바이스가 처한 상황에 따라서도 원하는 동작 조건이 달라질 수 있다. 각 전력디바이스가 요구하는 다양한 조건을 중앙의 전력관리장치가 모두 취합하여 적절한 해결책을 제시하는 것은 쉽지 않다. 게다가 각 전력디바이스가 원하는 조건이 외부 또는 내부 상황에 따라 수시로 달라지는 경우, 전력관리장치가 이를 적절히 반영하여 시스템을 최적으로 운영하기 위해서는 수시로 프로토콜을 변경하고 내부 알고리즘을 수정해야 하므로, 각 전력디바이스의 수시로 변하는 다양한 요구 조건을 반영하며 전력시스템을 운영하는 것은 지금까지 알려진 기술로는 쉽지 않은 문제이다.
본 발명은 각 전력디바이스의 다양한 요구 조건을 반영하여 효율적으로 운영될 수 있는 전력시스템 및 이러한 전력시스템에 사용되기 위한 전력관리장치를 제공할 수 있다.
또한, 본 발명은 전력디바이스가 원하는 동작 조건을 전력시스템의 운영을 중단하지 않으면서 자동화된 방식으로 수시로 반영할 수 있는 전력시스템 및 이러한 전력시스템에 사용되기 위한 전력관리장치를 제공할 수 있다.
본 발명의 일 측면은, 전력의 생산, 저장 또는 소비 중의 적어도 하나 이상을 수행하는 복수의 전력디바이스 및 상기 복수의 전력디바이스의 전력 관리를 수행하는 전력관리장치를 포함하는 전력시스템에서 사용되는 상기 전력관리장치에 있어서, 제1 제약을 생성하고, 상기 복수의 전력디바이스 중의 적어도 일부가 각각 생성한 제2 제약을 통신부를 통해 수신하며, SMT 기반 프로그램을 사용하여 상기 제1 제약과 상기 제2 제약을 만족하는 제1 해집합을 구하는 전력관리부; 및 상기 제2 제약을 상기 전력디바이스로부터 수신하고, 수신한 상기 제2 제약을 상기 전력관리부로 전송하며, 상기 전력관리부가 생성한 상기 제1 해집합을 상기 복수의 전력디바이스로 전송하는 상기 통신부;를 포함하고, 상기 전력관리부는, 상기 전력시스템의 운영 중에 상기 전력디바이스로부터 제3 제약을 수신하고, 상기 SMT 기반 프로그램이 상기 제3 제약을 반영하여 제2 해집합을 구하도록 자동화된 방식으로 상기 SMT 기반 프로그램의 코드를 수정하는 것을 특징으로 하는 전력관리장치이다.
상기 전력관리장치에 있어서, 상기 전력관리부는 전력관리 프로그램을 포함하고, 상기 전력관리 프로그램은 상기 제3 제약을 반영하여 상기 SMT 기반 프로그램의 코드를 수정하고, 상기 SMT 기반 프로그램은 상기 수정된 코드에 기초하여 상기 제2 해집합을 구할 수 있다.
상기 전력관리장치에 있어서, 상기 자동화된 방식으로 상기 SMT 기반 프로그램의 코드를 수정하는 것은 상기 전력시스템의 운영을 중단하지 않은 상태에서 수행될 수 있다.
상기 전력관리장치에 있어서, 상기 제3 제약은 상기 제2 제약을 대체하는 제약일 수 있다.
상기 전력관리장치에 있어서, 상기 제3 제약은 상기 제2 제약에 더하여 추가되는 제약일 수 있다.
상기 전력관리장치에 있어서, 상기 전력관리 프로그램은 상기 전력디바이스로부터 상기 제3 제약을 수신하면, 상기 제3 제약을 포함하지 않는 제약 집합의 코드(제A 코드 집합) 전체를 상기 제3 제약을 포함하는 제약 집합의 코드(제B 코드 집합)로 대체하여 상기 SMT 기반 프로그램의 코드를 수정할 수 있다.
상기 전력관리장치에 있어서, 상기 전력관리 프로그램은 상기 제3 제약을 수신하면 상기 제B 코드 집합을 생성하여 저장할 수 있다.
상기 전력관리장치에 있어서, 상기 전력관리 프로그램은 상기 전력디바이스로부터 상기 제3 제약을 수신하면, 상기 제3 제약을 포함하지 않는 제약 집합의 코드(제A 코드 집합)와 상기 제3 제약을 포함하는 제약 집합의 코드(제B 코드 집합)를 비교하여 차이가 있는 코드를 수정할 수 있다.
상기 전력관리장치에 있어서, 상기 전력관리 프로그램은 상기 SMT 기반 프로그램 언어가 이해할 수 있는 제약 입력 명령과 제약 소거 명령을 사용하여 상기 SMT 기반 프로그램의 코드를 수정할 수 있다.
상기 전력관리장치에 있어서, 상기 SMT 기반 프로그램 언어는 Z3Py이고, 상기 제약 입력 명령은 push 함수이며, 상기 제약 소거 명령은 pop 함수일 수 있다.
상기 전력관리장치에 있어서, 상기 전력관리 프로그램은, 상기 제1 제약, 상기 제2 제약 및 상기 제3 제약을 모두 포함하는 제약 집합에서 전력시스템의 동작 중에 수정되지 않는 제약(고정 제약)과 수정이 가능한 제약(가변 제약)을 구분하고, 상기 가변 제약에 대해 상기 자동화된 방식으로 상기 SMT 기반 프로그램의 코드를 수정할 수 있다.
상기 전력관리장치에 있어서, 상기 전력관리 프로그램은 상기 제약들 사이의 관계를 설정하는 관계 제약을 생성하고, 상기 관계 제약을 가변 제약으로 구분하며, 상기 제3 제약이 수신되면 상기 관계 제약의 변경이 필요한지 여부를 판단하며, 필요하다고 판단될 경우 상기 관계 제약을 변경할 수 있다.
상기 전력관리장치에 있어서, 상기 관계 제약의 각각에 대해 상기 제약들에 포함된 파라미터들의 상태에 따라 사용될 수 있는 코드들이 미리 설정되어 저장되고, 상기 전력관리 프로그램은 상기 관계 제약의 각각에 대해 상기 파라미터들의 상태에 기초하여 사용될 코드를 선택할 수 있다.
상기 전력관리장치에 있어서, 상기 제2 제약과 상기 제3 제약은 상기 전력디바이스의 전력 전송과 관련된 파라미터들 사이의 관계식을 포함할 수 있다.
상기 전력관리장치에 있어서, 상기 제2 제약과 상기 제3 제약에 포함되는 파라미터에 대한 관계식의 형태는 미리 특정되지 않고, 하나의 전력디바이스로부터 수신한 상기 제2 제약과 상기 제3 제약은 서로 상이한 파라미터에 대한 관계식을 포함할 수 있다.
상기 전력관리장치에 있어서, 상기 전력관리장치는 상기 제3 제약에 대한 수락 여부를 판단하고, 수락할 경우 상기 제3 제약을 반영하여 상기 제2 해집합을 구할 수 있다.
본 발명의 일 측면은, 전술한 어느 하나의 전력관리장치; 및 전력의 생산, 저장 또는 소비 중의 적어도 하나 이상을 수행하는 복수의 전력디바이스;를 포함하는 전력시스템이다.
상기 전력시스템에 있어서, 상기 전력관리장치와 상기 전력디바이스 사이에 전달되는 상기 제2 제약, 상기 제3 제약 및 상기 해집합은 계약관리장치를 통해 블록체인의 트랜잭션으로 기록될 수 있다.
상기 전력시스템에 있어서, 상기 전력디바이스는, 사용자로 하여금 상기 SMT 기반 프로그램 언어가 이해할 수 있는 연산자만을 사용하여 상기 제2 제약과 상기 제3 제약을 구성하도록 가이드하는 사용자 인터페이스; 및 상기 사용자 인터페이스를 통해 입력되는 상기 제2 제약 및 상기 제3 제약의 내용에 따라 상기 SMT 기반 프로그램 언어가 이해할 수 있는 코드를 생성하는 제약코드 생성부;를 포함할 수 있다.
본 발명에 의하면, 각 전력디바이스가 전력관리장치로 전달하는 동작 조건을 각 전력디바이스가 자체적으로 유연하게 설정하도록 함으로써, 각 전력디바이스가 원하는 다양한 요구 조건을 자동화된 방식으로 수시로 반영하여 전력시스템이 효율적으로 운영되도록 할 수 있다.
도 1은 일 실시예에 따른 전력시스템을 예시하는 도면이다.
도 2는 도 1의 전력관리장치를 예시하는 도면이다.
도 3은 도 1의 전력시스템에 의한 전력관리방법의 일 실시예를 예시하는 도면이다.
도 4는 도 1의 전력시스템에 의한 전력관리방법의 일 실시예를 예시하는 도면이다.
도 5는 일 실시예에 따른 전력시스템을 예시하는 도면이다.
도 6은 도 5의 전력시스템에 의한 전력관리방법의 일 실시예를 예시하는 도면이다.
도 7은 도 5의 전력시스템에 의한 전력관리방법의 일 실시예를 예시하는 도면이다.
도 8은 일 실시예에 따른 전력시스템을 예시하는 도면이다.
도 9는 일 실시예에 따른 전력시스템을 예시하는 도면이다.
도 10과 도 11은 각각 일 실시예에 따른 전력관리방법을 예시하는 도면이다.
도 12와 도 13은 각각 일 실시예에 따른 제약 집합의 구조를 설명하는 도면이다.
도 14와 도 15는 각각 제약 집합을 자동화된 방식으로 변경하는 방법의 일 실시예를 설명하는 도면이다.
도 16 및 도 17은 Z3Py에서 push 및 pop 함수를 이용하여 제약을 수정하는 방법을 예시한다.
도 18은 일 실시예에 따라 관계 제약 코드를 설정하는 방법을 설명하는 도면이다.
도 19는 일 실시예에 따른 전력디바이스를 예시하는 도면이다.
도 20은 일 실시예에 따른 전력디바이스의 사용자 인터페이스를 예시하는 도면이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
도 1은 일 실시예에 따른 전력시스템을 예시하는 도면이다. 도 1을 참조하면, 전력시스템(100)은 전력관리장치(110)과 복수의 전력디바이스(120-1, 120-2)를 포함할 수 있다.
본 명세서에서 언급하는 전력시스템은 전력의 생산, 저장, 소모 중의 적어도 하나 이상을 수행하는 디바이스(이하, '전력디바이스'라고 함)를 포함하는 시스템을 의미한다.
전력디바이스(120)는 전력의 생산, 저장 또는 소비 중의 적어도 하나 이상을 수행할 수 있다. 전력디바이스는, 예를 들면, 신재생 발전기 등과 같은 발전 장치, ESS 등의 에너지 저장 장치, 부하 등을 선택적으로 포함할 수 있다. 신재생 발전기 등과 같은 발전 디바이스는 전력의 생산 기능을 수행하고, ESS 등의 에너지 저장 디바이스는 전력의 저장 기능을 수행하며, 부하 등은 전력의 소비 기능을 수행하는 것으로 이해될 수 있다. 각 전력디바이스(120)는 전력의 생산, 저장 및 소비 중의 복수의 기능을 수행할 수도 있다.
각각의 전력디바이스(120)는 직접 전력 계통에 연결되거나 또는 다른 전력디바이스(120)를 통해 전력 계통에 연결되거나 또는 전력 계통에 연결되지 않은 채 다른 전력디바이스(120)와 연결되어 전력을 처리할 수 있다. 즉, 본 실시예의 전력시스템(100)은 전력 계통에 연결되어 사용되는 것이 일반적이겠지만, 경우에 따라 전력 계통과 연결되지 않은 채 단독으로 운영되는 시스템일 수도 있다.
전력관리장치(110)는 복수의 전력디바이스(120-1, 120-2)의 전력 관리를 수행할 수 있다. 전력관리장치(110)는 전력시스템(100)이 원활하게 운영될 수 있도록 전력디바이스(120)와 정보를 주고 받으며 전력디바이스(120)를 관리할 수 있다.
이를 위해, 전력관리장치(110)는 자신의 상황에 따른 제약(제1 제약)을 생성하고, 전력디바이스(120)가 생성한 제약(제2 제약)을 전력디바이스(120)로부터 수신하며, SMT(Satisfiability Modulo Theory) 기반 프로그램을 사용하여 제1 제약과 제2 제약을 만족하는 해집합(제1 해집합)을 구하고, 제1 해집합을 복수의 전력디바이스(120)로 전송할 수 있다. 전력디바이스(120)는 전력관리장치(110)로부터 수신한 제1 해집합에 기초하여 동작할 수 있다. 이하 설명의 편의를 위해, 전력관리장치(110)가 생성하는 제약과 전력디바이스(120)가 생성하는 제약을 각각 제1 제약과 제2 제약으로 구분하여 언급할 것이다.
전력관리장치(110)는 전력시스템(100)의 전체적인 관리 기능을 수행하므로 전력시스템(100)의 전반적인 동작 조건을 고려하여 제1 제약을 생성할 수 있다.
전력디바이스(120)는 자신의 특성이나 상황에 맞춰 자신이 원하는 동작 조건을 설정하고 이를 제2 제약으로 생성할 수 있다. 다만, 모든 전력디바이스(120)가 각각 제2 제약을 생성할 필요는 없고, 복수의 전력디바이스(120)의 적어도 일부가 각각 필요에 따라 제2 제약을 생성할 수 있다. 각 전력디바이스(120)와 관련되어 미리 결정될 수 있는 기본적인 제약은 전력관리장치(110)에서 제1 제약으로 생성하고, 각 전력디바이스(120)는 특별히 자신이 원하는 동작 조건이 있는 경우 스스로의 판단에 따라 제2 제약을 생성하여 전력관리장치(110)로 전송하는 방법이 사용될 수도 있다.
여기서, '제약(constraint)'은 전력시스템(100)의 전력 처리와 관련된 변수(이하 '파라미터'라고 함)에 대한 기술(description)로서, 전력관리장치(110) 또는 전력디바이스(120)가 원하는 동작 조건이 그 예가 될 수 있다.
파라미터는, 예시적으로, 신재생 발전기의 발전량, 에너지 저장 장치의 충방전량, 배선 용량, 전력요금, 계절, 요일, 기온 등을 포함할 수 있다.
해집합은 전력관리장치(110)가 전력디바이스(120)를 관리하기 위해 결정되어야 하는 일부 파라미터의 값 또는 그 범위일 수 있다. 예시적으로, 해집합은 각 전력디바이스(120)의 충방전 전력 범위일 수 있다.
예시적으로, 제약은 파라미터들 사이의 대소 비교, 논리 연산, 조건 연산 등을 포함할 수 있다. 아래는 제약에 사용될 수 있는 표현들을 일부 예시한 것으로서, P1, P2, P3는 파라미터로 이해될 수 있다.
P1 = 상수 ; 파라미터 P1에 상수값을 입력
P1 > 상수 ; 파라미터 P1과 상수의 대소 비교
P1 > P2 ; 파라미터들 사이의 대소 비교
P1 AND P2 ; 파라미터들 사이의 논리 연산
P1 > P2 이면, P3 > 상수 ; 파라미터를 포함하는 조건 연산
전력디바이스(120)가 전력관리장치(110)로 전송하는 제2 제약에 이와 같은 다양한 표현들을 할 수 있게 되면 각 전력디바이스(120)는 자신이 원하는 동작 조건을 세밀하게 표현할 수 있다. 예를 들면, 태양광 발전기를 포함하는 ESS의 경우, 'ESS의 SOC(P1)가 A 이하이고, 전력 판매단가(P2)가 B 이상이면, 태양광 발전기의 전력 생산량(P3)의 70%는 전력 계통으로 방전(P4)하고 30%는 ESS에 저장(P5)'이라는 동작 조건을 전력관리장치로 전달할 수 있다. 즉, 전력디바이스(120)는 'if((P1 < A) AND (P2 > B)), P4 = 0.7*P3, P5 = 0.3*P3'라는 제약을 생성하고 전력관리장치(110)로 전송할 수 있다. 제약에 위와 같은 다양한 표현들이 가능한 경우, 각 전력디바이스(120)는 다양한 형태로 자신만의 동작 조건을 생성할 수 있으므로 각 전력디바이스(120)는 자신의 상황에 맞는 최적 동작을 도모할 수 있다. 종래와 같이 프로토콜에 따라 미리 정해진 파라미터의 속성값을 변경하는 방법과 대비하면 그 차이는 명확히 이해될 것이다.
각 전력디바이스(120)가 제2 제약을 전력관리장치(110)로 전송하면, 전력관리장치(110)는 자신이 생성한 제1 제약과 전력디바이스(120)로부터 수신한 제2 제약을 모두 만족하는 해집합을 구해야 한다. 전술한 바와 같이, 각 전력디바이스(120)가 전력관리장치(110)로 전송하는 제2 제약은, 프로토콜에 의해 미리 정해진 형태의 표현이 아니라, 각 전력디바이스(120)가 자신의 상황에 맞는 동작 조건을 고려하여 다양하게 표현될 수 있다.
일반적인 프로그램 언어의 경우, 제약들이 미리 정해지면 프로그래머가 주어진 제약들을 분석하여 해집합을 구하는 알고리즘을 설계하고 설계된 알고리즘에 따라 코딩된다. 그런데 전력디바이스(120)로부터 전력관리장치(110)로 전송되는 제2 제약의 형태가 달라지면(예를 들어, 단순한 속성값의 변경이 아닌 조건 형태가 변경될 경우), 기존에 설계된 알고리즘으로는 전력디바이스(120)가 새롭게 제시한 제2 제약을 반영한 해집합을 구할 수 없으므로 새로운 제2 제약을 고려하여 알고리즘을 변경해야 한다. 따라서 일반적인 프로그램을 사용하는 경우, 제약이 변경되거나 새로운 형태의 제약이 생기면 대응하기가 곤란하다. 본 실시예에서는 제2 제약이 다양하게 표현될 수 있음을 고려하여, 전력관리장치(110)가 SMT 기반 프로그램을 사용하여 해집합을 구할 수 있다.
SMT 기반 프로그램은, 제약을 만족하는 해집합을 구하는 알고리즘을 미리 설계하고 코딩하는 방식의 프로그램이 아니라, 제약(constraint)을 그대로 코딩하면 프로그램이 제약을 만족하는 해집합을 구해주는 프로그램을 의미하는 것으로 이해될 수 있다. SMT 기반 프로그램은 'SMT solver'라고 언급되는 프로그램일 수 있고, 예시적으로 Z3Py 프로그램일 수 있다. 본 실시예에서는 전력관리장치(110)가 SMT 기반 프로그램을 사용하여 해집합을 구함으로써, 전력디바이스(120)가 다양한 형태의 제2 제약을 생성하는 경우에도 알고리즘의 변경없이 제2 제약을 단순히 추가/변경하는 방법으로 용이하게 해집합을 구할 수 있다.
도 2는 도 1의 전력관리장치(110)를 예시하는 도면이다. 도 2를 참조하면, 전력관리장치(110)는 전력관리부(111), 통신부(115), 디스플레이(117) 및 입출력부(119)를 포함할 수 있다.
전력관리부(111)는 제1 제약을 생성하고, 복수의 전력디바이스 중의 적어도 일부가 각각 생성한 제2 제약을 통신부를 통해 수신하며, SMT 기반 프로그램(113)을 사용하여 제1 제약과 제2 제약을 만족하는 해집합을 구할 수 있다.
전력관리부(111)는 전력관리 프로그램, SMT 기반 프로그램, 및 전력관리 프로그램과 SMT 기반 프로그램이 동작하는 하드웨어를 포함할 수 있다. 전력관리 프로그램은 전력관리장치의 전반적인 관리 기능을 수행하는 프로그램일 수 있다. SMT 기반 프로그램은 전술한 제1 제약과 제2 제약을 만족하는 해집합을 구하는 프로그램일 수 있다.
전력관리 프로그램은 SMT 기반 프로그램(113)과 하나의 프로그램으로 통합되거나 또는 SMT 기반 프로그램(113)을 그 내부의 함수(function) 형태로 포함할 수 있다. 예시적으로, 전력관리 프로그램이 파이썬(Python)으로 구현되고 SMT 기반 프로그램(113)이 Z3Py으로 구현되는 경우 전력관리 프로그램과 SMT 기반 프로그램(113)은 하나의 프로그램으로 통합될 수 있다. 예시적으로, 전력관리 프로그램이 Go, Javascript, C++ 등의 일반적인 언어로 구현되고 SMT 기반 프로그램(113)이 Z3Py으로 구현되는 경우, 전력관리 프로그램은 SMT 기반 프로그램(113)을 function call 또는 grpc 등의 프로토콜을 사용하여 호출하는 방식으로 구현될 수 있다. 예시적으로, 전력관리부(111)는 전력관리 프로그램과 SMT 기반 프로그램이 저장된 메모리 및 전력관리 프로그램과 SMT 기반 프로그램이 동작할 수 있는, DSP, CPU, 마이크로 프로세서 등의 연산 기능을 가진 하드웨어로 구현될 수 있다.
통신부(115)는 제2 제약을 전력디바이스로부터 수신하고, 수신한 제2 제약을 전력관리부(111)로 전송하며, 전력관리부(111)가 생성한 제1 해집합을 복수의 전력디바이스로 전송할 수 있다. 통신부(115)에는 통상의 유, 무선 통신 수단이 사용될 수 있다.
디스플레이(117)는 전력관리부(111)의 제어에 따라 정보를 표시하는 기능을 수행할 수 있다. 디스플레이(117)에는 통상의 표시 장치가 사용될 수 있다.
입출력부(119)는 사용자가 전력관리부(111)로 정보를 입력하는 수단일 수 있다. 입출력부(119)에는 통상의 입출력 장치가 사용될 수 있다.
도 3은 도 1의 전력시스템에 의한 전력관리방법의 일 실시예를 예시하는 도면이다.
도 3을 참조하면, 전력관리장치(110)는 제1 제약을 생성하고, 전력디바이스(120-1, 120-2)는 제2 제약을 생성할 수 있다. 전술한 바와 같이, 제1 제약은 전력시스템(100)의 전반적인 동작 조건 및/또는 각 전력디바이스(120)와 관련되어 미리 결정될 수 있는 사항을 반영하여 전력관리장치(110)에 의해 생성될 수 있다. 제2 제약은 각 전력디바이스(120)가 자신의 특성이나 상황에 맞춰 자신이 원하는 동작 조건을 반영하여 생성될 수 있다. 다만, 모든 전력디바이스(120)가 각각 제2 제약을 생성할 필요는 없고, 복수의 전력디바이스의 적어도 일부가 각각 필요에 따라 제2 제약을 생성할 수 있다. 각 전력디바이스(120)는 특별히 자신이 원하는 동작 조건이 있는 경우 스스로의 판단에 따라 제2 제약을 생성하여 전력관리장치(110)로 전송할 수 있다.
다음으로, 전력관리장치(110)는 각 전력디바이스(120-1, 120-2)가 생성한 제2 제약을 수신할 수 있다.
다음으로, 전력관리장치(110)는 전력디바이스(120-1, 120-2)로부터 수신한 제2 제약과 스스로 생성한 제1 제약을 반영한 해집합을 생성할 수 있다. 이 때, 전력관리장치(110)는 전술한 바와 같이 SMT 기반 프로그램을 사용하여 해집합을 구할 수 있다.
다음으로 전력관리장치(110)는 생성된 해집합을 전력디바이스(120-1, 120-2)로 전송하고, 전력디바이스(120-1, 120-2)는 전력관리장치(110)로부터 수신한 해집합에 기초하여 전력 처리를 수행할 수 있다. 전력관리장치(110)가 생성하는 해집합은 제1 제약과 제2 제약을 만족하는 특정값으로 주어질 수도 있으나, 특정값이 아니라 범위로 주어질 수도 있다. 이 경우 전력디바이스(120-1, 120-2)는 해집합의 범위 내에서 자신의 판단에 따라 소정의 값을 선택하여 동작할 수 있다.
이 때, 제2 제약은 전력디바이스(120-1, 120-2)의 전력 전송과 관련된 파라미터들 사이의 관계식을 포함할 수 있다. 예시적으로, 파라미터들 사이의 관계식은 복수의 파라미터들 사이의 대소 비교 및/또는 조건 연산을 포함할 수 있다. 이 경우, 미리 정해진 프로토콜을 사용하는 방식에서 단순한 상수값(예, 파라미터의 속성값)을 전송하는 것에 비해, 각 전력디바이스(120-1, 120-2)는 자신이 원하는 복잡한 동작 조건도 유연하게 표현할 수 있다.
또한, 전력관리장치(110)가 복수의 전력디바이스(120-1, 120-2)로부터 수신하는 제2 제약들은 서로 상이한 파라미터에 대한 관계식을 포함할 수 있고, 제2 제약에 포함되는 파라미터에 대한 관계식의 형태는 미리 특정되지 않을 수 있다. 이 경우, 전력디바이스(120-1, 120-2)의 각각은 다른 전력디바이스가 사용한 파라미터와는 상이한 파라미터에 대한 다른 형태의 조건을 표현할 수 있다.
이와 같이 각 전력디바이스(120-1, 120-2)가 자신만의 동작 조건을 제2 제약을 통해 유연하게 설정하는 경우의 장점을 예시한다. 각 전력디바이스(120-1, 120-2)는 특성에 따라 서로 상이한 동작 조건에 따라 동작하기를 희망할 수 있다. 예를 들어, 전력 안정화를 위해 ESS를 설치한 사업자는 ESS의 전력 저장율을 높게 유지하는 것을 목표로 하여 낮은 전력요금으로 ESS를 충전하기를 원할 것이다. 시간에 따른 전력 요금의 차이를 이용하여 이익을 내려는 의도로 ESS를 설치한 사업자는 ESS의 가용 용량을 최대한 활용하여 전력 요금이 낮은 시간대에 최대한 충전하고 전력 요금이 비싼 시간대에 최대한 방전하면서 이익을 극대화하는 것이 목표가 될 것이다. 또한, 자체 신재생 발전기를 포함하는 ESS는 신재생 발전기의 발전 전력을 최대한 높은 가격에 전력 계통으로 판매하도록 ESS를 운영하는 것이 목표가 될 것이다. 이와 같이, 각 전력디바이스(120-1, 120-2)는 자신의 상황에 따라 다양한 동작 조건을 원할 수가 있다. 본 실시예에서는 제2 제약을 통해 각 전력디바이스(120-1, 120-2)가 다양한 형태의 동작 조건을 전력관리장치(110)로 전송하고, 전력관리장치(110)는 각 전력디바이스(120-1, 120-2)로부터 수신한 제2 제약을 반영하여 해집합을 구하며, 각 전력디바이스(120-1, 120-2)는 전력관리장치(110)가 생성한 해집합에 기초하여 동작함으로써, 전력관리장치(110)가 각 전력디바이스(120-1, 120-2)의 다양한 요구 조건을 반영하여 전력시스템을 운영할 수 있다. 따라서, 각 전력디바이스(120-1, 120-2)는 자신의 동작을 최적화 할 수 있고, 전력관리장치(110)는 각 전력디바이스(120-1, 120-2)의 요구 조건을 최대한 반영하면서 시스템을 운영할 수 있다.
도 4는 도 1의 전력시스템에 의한 전력관리방법의 일 실시예를 예시하는 도면이다.
도 4의 전력관리방법은 도 3의 전력관리방법에 비해 전력디바이스가 시스템 운영 중에 새로운 제약(제3 제약)을 추가로 생성하는 과정을 포함하고 있다는 점에서 차이가 있다.
전력디바이스(120-1)는 전력관리장치(110)로부터 제1 해집합을 수신하여 전력 처리 기능을 수행하던 중에 기존의 동작 조건을 변경하거나 또는 새로운 동작 조건에 따라 동작하기를 원하는 경우 제3 제약을 생성하고 전력관리장치(110)로 전송할 수 있다.
전력관리장치(110)는, 전력시스템의 운영 중에 전력디바이스(120-1)로부터 제3 제약을 수신하면, SMT 기반 프로그램이 제3 제약을 반영하여 제2 해집합을 구하도록 실시간으로 SMT 기반 프로그램을 수정할 수 있다.
전술한 바와 같이, SMT 기반 프로그램은 제약을 만족하는 해집합을 구하는 알고리즘을 미리 설계하는 방식이 아니라 제약 자체를 코딩하면 제약을 만족하는 해집합을 구해주는 방식이므로, 제약을 단순히 부가/변경하는 방식으로 새로운 또는 변경되는 제약을 반영할 수 있다. 예시적으로, 전력관리 프로그램이 제3 제약에 포함된 파라미터에 대한 관계식을 SMT 기반 프로그램에 삽입하는 방식으로 SMT 기반 프로그램이 실시간으로 수정될 수 있다. 이 경우, 전력시스템의 운영 중에도 프로그래머의 관여없이 자동화된 방식으로 제3 제약이 반영될 수 있다.
여기서, 제3 제약은 제3 제약을 생성한 전력디바이스(120-1)가 이미 생성한 제2 제약과는 상이한 파라미터에 대한 관계식을 포함할 수 있다. 즉, 전력디바이스(120-1, 120-2)는 기존에 전력관리장치(110)로 제공하지 않았던 전혀 새로운 파라미터에 대한 새로운 형태의 제약을 생성할 수 있다.
예시적으로, 제3 제약은 미래의 전력 거래에 관련된 청약으로서, 전력 거래 시간, 전력량 및 요금에 대한 거래 조건을 포함할 수 있다. 예를 들면, 전력디바이스(120-1)가 동작 중의 정보를 종합한 결과 미래의 전력 가격이 상승할 것으로 예측되는 경우(예시적으로, 전력디바이스는 머신 러닝 장치 등의 인공 지능을 이용하여 이러한 예측을 할 수 있다), 전력디바이스(120-1)는 제3 제약을 통해 전력관리장치(110)로 미래의 소정 기간의 전력 거래 가격을 현재의 가격으로 거래할 것을 제안할 수 있다. 이 경우, 전력관리장치(110)는 제3 제약에 대한 수락 여부를 판단하고, 수락할 경우 제3 제약을 반영하여 제2 해집합을 구할 수 있다. 이 방법에 의하면, 전력디바이스(120-1, 120-2)는 내부 상황이나 외부 상황을 실시간으로 반영하여 자신의 판단에 따라 유리한 동작 조건을 미리 선점할 수 있으므로 자신의 이익을 극대화할 수 있다.
전력관리장치(110)는 제3 제약을 수용할 경우 제3 제약을 반영하여 생성한 제2 해집합을 전력디바이스(120-1, 120-2)로 전송하고, 전력디바이스(120-1, 120-2)는 전력관리장치(110)로부터 수신한 제2 해집합에 기초하여 전력 처리를 수행할 수 있다.
본 실시예에 의하면, 각 전력디바이스는 다양한 형태의 동작 조건을 수시로 추가/변경할 수 있고 전력관리장치는 전력디바이스로부터 수신한 동작 조건을 반영한 해집합을 구할 수 있으며 전력디바이스는 새로운 해집합에 기초하여 동작할 수 있으므로, 전력관리장치와 전력디바이스는 주식 거래와 같은 방식으로 실시간으로 전력 거래 가격과 거래량을 결정하면서 전력 거래를 수행할 수 있다. 이 경우 각 전력디바이스는 자신의 상황에 맞춰 자신의 판단에 따라 최적화를 도모하고 전력관리장치는 전력시스템 전체의 이익의 극대화하도록 동작할 수 있으므로 전력시스템 전체의 경제성이 높아질 수 있다.
도 5는 일 실시예에 따른 전력시스템을 예시하는 도면이다. 도 5에 예시된 전력시스템(500)은 전력관리장치(110), 복수의 전력디바이스(120-1, 120-2) 및 계약관리장치(130)를 포함할 수 있다. 도 5의 전력시스템(500)은 도 1의 전력시스템(100)에 비해 계약관리장치(130)를 더 포함하는 점에서 차이가 있다.
계약관리장치(130)는 전력관리장치(110)와 전력디바이스(120-1, 120-2) 사이에 전달되는 제약과 해집합을 포함하는 정보를 기록할 수 있다. 예시적으로, 전력관리장치(110)와 전력디바이스(120-1, 120-2) 사이에 전달되는 제약과 해집합은 계약관리장치(130)를 통해 블록체인(block chain)의 트랜잭션(transaction)으로 기록될 수 있다. 계약관리장치(130)에 기록된 제약과 해집합은 전력관리장치(110)와 전력디바이스(120-1, 120-2) 사이의 계약으로 간주될 수 있다.
예시적으로, 계약관리장치(130)는 Ethereum이나 Hyperledger 등과 같이 블록체인에서 제공하는 방식을 활용하여 구현될 수 있다. 예시적으로, Ethereum 방식을 사용하는 경우, 계약관리장치(130)는 Solidity 언어를 사용하여 프로그램되고 전력관리장치(110)와는 web3 방식을 사용하여 통신할 수 있다.
계약관리장치(130)는 전력관리장치(110)와는 별개의 하드웨어(DSP, CPU 또는 마이크로 프로세서 등과 같이 프로그램이 동작할 수 있는 연산 기능을 가진 하드웨어)로 구현되거나 또는 전력관리장치(110)의 내부에 포함되도록 구성될 수 있다.
도 6은 도 5의 전력시스템에 의한 전력관리방법의 일 실시예를 예시하는 도면이다.
도 6에 예시된 전력관리방법은 도 3에 예시된 전력관리방법에 비해 계약관리장치(130)가 전력관리장치(110)와 전력디바이스(120-1, 120-2) 사이에서 제약과 해집합을 전달하며 기록한다는 점에서 차이가 있다.
전력디바이스(120-1, 120-2)는 생성한 제2 제약을 계약관리장치(130)로 전송하고, 계약관리장치(130)는 전력디바이스(120-1, 120-2)로부터 수신한 제2 제약을 전력관리장치(110)로 전송할 수 있다.
또한, 계약관리장치(130)는 전력관리장치(110)로부터 해집합을 수신하고 전력디바이스(120-1, 120-2)로 전달할 수 있다.
도 7은 도 5의 전력시스템에 의한 전력관리방법의 일 실시예를 예시하는 도면이다.
도 7에 예시된 전력관리방법은 도 4에 예시된 전력관리방법에 비해 계약관리장치(130)가 전력관리장치(110)와 전력디바이스(120-1, 120-2) 사이에서 제약과 해집합을 전달하며 기록한다는 점에서 차이가 있다.
계약관리장치(130)는 전력디바이스(120-1, 120-2)로부터 제2 제약을 수신하고 전력관리장치(110)로 전달할 수 있고, 전력관리장치(110)로부터 제1 해집합을 수신하고 전력디바이스(120-1, 120-2)로 전달할 수 있다. 또한, 계약관리장치(130)는 전력디바이스(120-1, 120-2)로부터 제3제약을 수신하고 전력관리장치(110)로 전달할 수 있고, 전력관리장치(110)로부터 제2해집합을 수신하고 전력디바이스(120-1, 120-2)로 전달할 수 있다.
도 6 및 도 7을 참조하여 설명한 바와 같이, 계약관리장치(130)는 전력관리장치(110)와 전력디바이스(120-1, 120-2) 사이에서 제약과 해집합을 전달하면서 이들 정보를 블록체인의 트랜잭션으로 기록함으로써, 정보의 신뢰도를 높이고 전력관리장치(110)와 전력디바이스(120-1, 120-2) 사이의 계약 관계를 명확히 할 수 있다. 기존의 방식에서는 전력관리장치(110)와 전력디바이스(120-1, 120-2)의 계약이 미리 결정되고 결정된 계약에 따라 상호 작용하므로 운영의 자유도가 낮은 대신 계약의 불명확 문제가 발생할 가능성이 낮지만, 본 실시예에서는 전력디바이스(120-1, 120-2)와 전력관리장치(110)가 수시로 제약을 추가/변경할 수 있으므로 전력관리장치(110)와 전력디바이스(120-1, 120-2)의 계약 관계에 혼란이 발생할 수 있다. 계약관리장치(130)는 제약과 해집합을 전달하면서 이들 정보를 신뢰도가 높은 방법으로 기록함으로써 전력관리장치(110)와 전력디바이스(120-1, 120-2) 사이의 계약 관계에 발생하는 혼란을 줄일 수 있다.
도 8은 일 실시예에 따른 전력시스템을 예시하는 도면이다. 도 8에 예시된 전력시스템(800)은 도 5에 예시된 전력시스템(500)에 비해 스마트 전력디바이스(820)가 계약관리장치(821)를 포함하는 점에서 차이가 있다.
스마트 전력디바이스(820) 내에 포함된 전력디바이스(822)는 전술한 전력디바이스(120-1, 120-2)와 동일/유사한 것으로 이해될 수 있다. 스마트 전력디바이스(820)는 전력디바이스의 일종이지만 계약관리장치(821)를 더 포함하는 점에서 일반적인 전력디바이스와의 구분을 위해 스마트 전력디바이스로 언급하기로 한다.
스마트 전력디바이스(820)에 포함된 계약관리장치(821)는 전술한 계약관리장치(130)와 마찬가지의 기능을 수행할 수 있다. 예시적으로, 계약관리장치(821)는 전력디바이스(822)와 전력관리장치(110) 사이에 전달되는 제약과 해집합에 대한 정보를 전달하며 저장할 수 있다. 예시적으로, 계약관리장치(821)는 블록체인의 트랜잭션과 같이 전달되는 정보를 기록할 수 있다. 이 경우, 두 개의 계약관리장치(130, 821)가 제약과 해집합에 대한 정보를 기록하므로 전력관리장치(110)와 전력디바이스들(822, 120-2) 사이의 계약에 대한 조작이나 해킹 가능성이 줄고 분쟁의 소지를 줄일 수 있다. 다만, 모든 전력디바이스가 계약관리장치(821)를 포함할 필요는 없고, 하드웨어 리소스가 충분한 전력디바이스(820)가 선택적으로 계약관리장치(821)를 포함할 수 있다. 계약관리장치(821)를 포함하는 스마트 전력디바이스(820)는 블록체인 시스템에서 하나의 노드로 기능할 수 있다.
도 9는 일 실시예에 따른 전력시스템을 예시하는 도면이다. 도 9의 전력시스템(900)은 도 5의 전력시스템(500)에 비해 제2 전력관리장치(910)와 제2 계약관리장치(930)를 더 포함하는 점에서 차이가 있다.
제2 전력관리장치(910)는 제1 전력관리장치(110)와 통신하며 자신에 속한 전력디바이스들(920-1, 920-2)을 관리할 수 있다. 이 경우, 제2 전력관리장치(910)는 제1 전력관리장치(110)의 하부 제어장치로 이해될 수 있다. 즉, 제2 전력관리장치(910)는 자신이 관리하는 전력디바이스들(920-1, 920-2)의 제약을 취합하여 제1 전력관리장치(110)로 전송하고, 제1 전력관리장치(110)로부터 해집합(제3 해집합)을 수신하며, 제3 해집합의 허용 범위 내에서 자신의 판단에 따른 제4 해집합을 생성하여 자신이 관리하는 전력디바이스들(920-1, 920-2)로 전송할 수 있다. 예시적으로, 제2 전력관리장치(910)와 전력디바이스들(920-1, 920-2)은 서브 전력시스템을 구성하는 것으로 이해될 수 있고, 제2 전력관리장치(910)는 제1 전력관리장치(110)의 지시에 따르면서 서브 전력시스템 내부의 최적화 기능을 수행할 수 있다. 제2 전력관리장치(910)에는 제2 계약관리장치(930)가 선택적으로 부가될 수 있다.
이상 설명한 바와 같이, 본 실시예에 의하면 각 전력디바이스는 자신의 동작 조건을 다양한 형태로 자율적으로 설정함으로써 자신의 상황에 맞는 최적 운영이 가능하다. 또한, 전력관리장치와 각 전력디바이스는 상호 간의 전력 거래 조건을 수시로 조율하면서 자신의 이익을 극대화하도록 동작함으로써 전력시스템 전체의 경제성을 높일 수 있다.
다음으로, 전력시스템의 운영 중에 전력디바이스가 제약을 추가, 삭제 또는 변경하는 경우 전력관리장치가 자동화된 방식으로 추가, 삭제 또는 변경(이하 '수정'이라고 함)된 제약을 반영하여 해집합을 구하는 방법에 대해 설명한다.
도 10과 도 11은 일 실시예에 따라 자동화된 방식으로 제약을 수정하면서 수행되는 전력관리방법을 예시하는 도면이다.
도 10은 도 4에 예시된 방법과 유사하지만 전력관리장치(110)의 동작을 세분하여 전력관리 프로그램(112)과 SMT 기반 프로그램(113)의 동작을 구분하여 설명하는 점에서 차이가 있다. 전력관리 프로그램(112)과 SMT 기반 프로그램(113)은 도 2를 참조하여 설명한 바와 같이 전력관리부(111)에 포함될 수 있다.
도 10을 참조하면, 전력관리 프로그램(112)은 제1 제약을 생성할 수 있다. 전력디바이스(120)는 제2 제약을 생성하고 제2 제약을 전력관리 프로그램(112)으로 전송할 수 있다.
전력관리 프로그램(112)은 제1 제약과 제2 제약을 반영하여 제약 코드를 생성하고 SMT 기반 프로그램(113)에 입력할 수 있다. 전력관리 프로그램(112)이 생성하는 제약 코드는 SMT 기반 프로그램 언어가 이해할 수 있는 코드일 수 있다. 예시적으로, 전력디바이스(120)는 전력관리 프로그램(112)으로 제2 제약을 전송할 때 SMT 기반 프로그램 언어가 이해할 수 있는 코드 형태로 전송하거나 또는 제2 제약을 구성하는 내용을 전송하고 전력관리 프로그램(112)에서 제2 제약을 구성하는 내용에 따라 제약 코드를 생성할 수 있다.
SMT 기반 프로그램(113)은 입력된 제약 코드를 반영하여 제1 해집합을 생성하고 전력관리 프로그램(112)으로 제공할 수 있다.
전력관리 프로그램(112)은 SMT 기반 프로그램(113)으로부터 제공받은 제1 해집합을 전력디바이스(120)로 전송할 수 있다.
전력디바이스(120)는 전력관리 프로그램(112)으로부터 전송받은 제1 해집합에 기초하여 전력 처리를 수행할 수 있다. 전력디바이스(120)는 전력 처리를 수행하는 중에, 기존의 동작 조건을 변경하거나 또는 새로운 동작 조건에 따라 동작하기를 원하는 경우 제3 제약을 생성하고 전력관리 프로그램(112)으로 전송할 수 있다.
전력관리 프로그램(112)은 기존 제1 제약과 제2 제약에 더하여 제3 제약을 반영하여 제약 코드를 수정하고, 수정된 제약 코드를 SMT 기반 프로그램(113)에 입력할 수 있다. 전력관리 프로그램(112)이 수정된 제약 코드를 SMT 기반 프로그램(113)에 입력할 때 자동화된 방식이 사용될 수 있다. 여기서, '자동화된 방식'이란 사람의 개입이 없이 전력관리 프로그램(112)의 동작에 의해서 SMT 기반 프로그램(113)의 코드가 자동으로 수정되는 것으로 이해될 수 있다. 전력관리 프로그램(112)이 자동화된 방식으로 SMT 기반 프로그램(113)의 코드를 수정할 경우, 전력시스템의 동작 중에도 제약을 수정할 수 있는 장점이 있다.
도 10에는 도시되지 않았으나, 전력관리 프로그램(112)은 전력디바이스(120)로부터 제3 제약을 수신하면, 제3 제약에 대한 수락 여부를 판단하고, 수락할 경우 제3 제약을 반영하여 제2 해집합을 구하는 방식으로 동작할 수 있다. 만약, 전력관리 프로그램(112)이 전력디바이스(120)가 제시한 제3 제약을 수락할 수 없다고 판단할 경우 전력관리 프로그램(112)은 제3 제약을 반영하지 않을 수 있다. 이 경우 전력관리 프로그램(112)은 전력디바이스(120)로 제3 제약에 대한 거부 의사를 전송할 수 있다.
SMT 기반 프로그램(113)은 수정된 제약 코드를 반영하여 제2 해집합을 생성하고 전력관리 프로그램(112)에게 제공할 수 있다.
전력관리 프로그램(112)은 SMT 기반 프로그램(113)으로부터 제공받은 제2 해집합을 전력디바이스(120)로 전송할 수 있다.
전력디바이스(120)는 전력관리 프로그램(112)으로부터 전송받은 제2 해집합에 기초하여 전력 처리를 수행할 수 있다.
이와 같이, 전력관리 프로그램(112)을 포함하는 전력관리부는 전력시스템의 운영 중에 전력디바이스(120)로부터 제3 제약을 수신하고, SMT 기반 프로그램(113)이 제3 제약을 반영하여 제2 해집합을 구하도록 자동화된 방식으로 SMT 기반 프로그램(113)의 코드를 수정할 수 있으므로, 전력시스템의 동작 중에도 수시로 전력디바이스(120)의 다양한 요구를 반영할 수 있다.
한편, 도 10은 계약관리장치를 포함하지 않는 동작을 설명하고 있지만 도 7에 예시된 바와 같이 계약관리장치를 더 포함하는 경우에도 도 10에 예시된 방법으로 동작할 수 있다. 이 경우, 전력관리 프로그램(112)과 전력디바이스(120) 사이에 전달되는 제2 제약, 제3 제약, 제1 해집합 및 제2 해집합은 계약관리장치를 통해 블록체인의 트랜잭션(transaction)으로 기록될 수 있다. 예시적으로, 계약관리장치는 스마트 계약(smart contract)일 수 있다. 예시적으로, 스마트 계약은 Ethereum이나 Hyperledger 등 블록체인에서 제공하는 기능을 활용할 수 있다. 예시적으로, Ethereum의 경우 Solidity 언어를 사용하여 프로그래밍을 할 수 있고, 이 경우 전력관리 프로그램(112)과 스마트 계약 사이에는 Web3 방식으로 통신할 수 있다.
도 11은 도 10에 예시된 방법에 대해 전력관리 프로그램 관점에서 절차를 설명한다.
도 11을 참조하면, S1101 단계에서 전력관리 프로그램은 제1 제약 및 제2 제약을 반영한 제약 코드를 생성할 수 있다. 제약 코드는 SMT 기반 프로그램 언어가 이해할 수 있는 코드일 수 있다.
S1103 단계에서, 전력관리 프로그램은 제1 제약 및 제2 제약을 반영한 제약 코드를 SMT 기반 프로그램에 입력할 수 있다. 이 때, 전술한 바와 같은 자동화된 방식이 사용될 수 있다. 다만, 전력시스템의 동작 전인 경우에는 자동화된 방식이 사용되지 않을 수도 있다.
S1105 단계에서 전력관리 프로그램은 SMT 기반 프로그램으로부터 해집합(제1 해집합)을 수신할 수 있다.
S1107 단계에서 전력관리 프로그램은 전력디바이스로 해집합(제1 해집합)을 전송할 수 있다.
S1109 단계에서, 전력관리 프로그램은 새로운 제약(제3 제약)을 수신했는지 여부를 판단할 수 있다. S1109 단계에서의 판단 결과, 새로운 제약(제3 제약)을 수신한 경우 S1111 단계로 진행하고, 새로운 제약(제3 제약)을 수신하지 않은 경우 S1113 단계로 진행할 수 있다.
S1111 단계에서 전력관리 프로그램은 새로운 제약(제3 제약)을 반영한 제약 코드를 생성할 수 있다. 이후 S1103 단계로 진행하여 전력관리 프로그램은 제3 제약을 반영한 제약 코드를 SMT 기반 프로그램에 입력할 수 있다. 이 때, 전술한 바와 같은 자동화된 방식이 사용될 수 있다.
S1113 단계에서 동작을 종료할지 여부를 판단하고, 동작을 종료하지 않을 경우 S1109 단계로 복귀할 수 있다.
도 12와 도 13은 일 실시예에 따른 제약 집합의 구조를 설명하는 도면이다. 도 12는 제3 제약이 제2 제약의 일부를 대체하는 경우를 예시하고 있고, 도 13은 제3 제약이 추가되는 경우를 예시하고 있다.
도 12와 도 13을 참조하면, 제약에는 제1 제약, 제2 제약 및 제3 제약이 포함될 수 있다. 전술한 바와 같이, 제1 제약은 전력관리 프로그램에 의해 생성될 수 있고, 제2 제약과 제3 제약은 전력디바이스에 의해 생성될 수 있다. 제1 제약 내지 제3 제약은 전력디바이스의 전력 전송과 관련된 파라미터들 사이의 관계식을 포함할 수 있다. 제1 제약 내지 제3 제약에 포함되는 파라미터에 대한 관계식의 형태는 미리 특정되지 않을 수 있다. 하나의 전력디바이스로부터 수신한 제2 제약과 제3 제약은 서로 상이한 파라미터에 대한 관계식을 포함할 수 있다. 제1 제약 내지 제3 제약과 관련하여 도 1 내지 도 9를 참조하여 설명한 내용은 본 실시예에서도 동일 또는 유사하게 적용될 수 있다.
도 12는 제1 제약에 두 개의 제약(constraint-a, constraint-b)이 포함되고, 제2 제약에 두 개의 제약(constraint-c, constraint-d)이 포함되며, 제3 제약에 하나의 제약(constraint-d')이 포함되는 경우를 예시하고 있다. 이 때 제3 제약의 constraint-d'는 제2 제약에 포함된 constraint-d를 대체하는 제약일 수 있다.
도 12에서 제3 제약을 반영하기 전의 제약 집합은 constraint-a, constraint-b, constraint-c 및 constraint-d이고, 제3 제약을 반영한 후의 제약 집합은 constraint-d가 constraint-d'으로 변경될 수 있다.
전력관리 프로그램은 제3 제약을 반영하기 전에는 제약 집합(constraint-a, constraint-b, constraint-c 및 constraint-d)에 대한 코드를 생성하여 SMT 기반 프로그램에 입력하였다가, 제3 제약을 수신하면 제3 제약을 반영한 제약 집합(constraint-a, constraint-b, constraint-c 및 constraint-d')에 대한 코드를 생성하여 자동화된 방식으로 SMT 기반 프로그램에 입력할 수 있다.
도 13은 제1 제약에 두 개의 제약(constraint-a, constraint-b)이 포함되고, 제2 제약에 두 개의 제약(constraint-c, constraint-d)이 포함되며, 제3 제약에 하나의 제약(constraint-e)이 포함되는 경우를 예시하고 있다. 도 13은 제3 제약이 제2 제약을 대체하는 것이 아니라 추가되는 제약인 점에서 도 12와 차이가 있다.
도 13에서 제3 제약을 반영하기 전의 제약 집합은 constraint-a, constraint-b, constraint-c 및 constraint-d이고, 제3 제약을 반영한 후의 제약 집합에는 constraint-e가 추가될 수 있다.
전력관리 프로그램은 제3 제약을 반영하기 전에는 제약 집합(constraint-a, constraint-b, constraint-c 및 constraint-d)에 대한 코드를 생성하여 SMT 기반 프로그램에 입력하였다가, 제3 제약을 수신하면 제3 제약을 반영한 제약 집합(constraint-a, constraint-b, constraint-c, constraint-d 및 constraint-e)에 대한 코드를 생성하여 자동화된 방식으로 SMT 기반 프로그램에 입력할 수 있다.
전력관리 프로그램이 제약 집합의 코드를 수정하는 하나의 방법으로, 전력관리 프로그램은 전력디바이스로부터 제3 제약을 수신하면, 제3 제약을 포함하지 않는 제약 집합의 코드(제A 코드 집합) 전체를 제3 제약을 포함하는 제약 집합의 코드(제B 코드 집합)로 대체하여 SMT 기반 프로그램의 코드를 수정할 수 있다. 다른 방법으로, 전력관리 프로그램은 전력디바이스로부터 제3 제약을 수신하면, 제3 제약을 포함하지 않는 제약 집합의 코드(제A 코드 집합)와 제3 제약을 포함하는 제약 집합의 코드(제B 코드 집합)를 비교하여 차이가 있는 코드를 수정할 수 있다. 전력관리 프로그램은 제3 제약을 수신하면 제B 코드 집합을 생성하여 메모리에 저장하고 있다가, 소정의 시점에 제3 제약을 반영한 코드를 SMT 기반 프로그램에 입력할 수 있다.
도 14와 도 15는 제약 집합을 자동화된 방식으로 변경하는 방법의 일 실시예를 설명하는 도면이다.
도 14 및 도 15를 참조하면, 전력관리 프로그램이 SMT 기반 프로그램에 제약 집합(1401)을 입력할 때, 제약들을 입력하는 중간에 제약 입력 명령 또는 제약 소거 명령을 입력할 수 있다.
도 14는 constraint-a, constraint-b, constraint-c, constraint-d, 제약 입력 명령, constraint-e, constraint-f, constraint-g, 제약 입력 명령, constraint-h, constraint-i, 제약 입력 명령을 순차적으로 입력하는 경우를 예시하고 있다.
도 14의 경우, 처음 네 개의 제약(constraint-a, constraint-b, constraint-c, constraint-d)은 고정 제약 세트로 구분되고, 제약 입력 명령들의 사이에 입력된 세 개의 제약들(constraint-e, constraint-f, constraint-g)은 제1 가변 제약 세트로 구분되며, 다음 제약 입력 명령들의 사이에 입력된 두 개의 제약들(constraint-h, constraint-i)은 제2 가변 제약 세트로 구분될 수 있다.
제약 입력 명령들의 사이에 입력된 제1 가변 제약 세트와 제2 가변 제약 세트는 후술할 바와 같이 제약 소거 명령에 의해 소거되는 단위가 될 수 있다. 예시적으로, 도 14와 같이 입력된 상태에서 제약 소거 명령이 입력되면 먼저 제2 가변 제약 세트가 소거되고, 다시 한번 제약 소거 명령이 입력되면 제1 가변 제약 세트가 소거될 수 있다.
제약 입력 명령과 제약 소거 명령을 사용해서 제약 세트를 수정하는 방법에 대해 도 15를 참조하여 상세하게 설명한다.
도 15(a)는 고정 제약 세트(constraint-a, constraint-b, constraint-c, constraint-d)가 입력되는 단계이다. 다음으로 도 15(b)는 제약 입력 명령(push)과 제1 가변 제약 세트(constraint-e, constraint-f, constraint-g)가 순차적으로 입력되는 단계이다. 다음으로 도 15(c)와 같이 제약 소거 명령(pop)이 입력되면 제1 가변 제약 세트(constraint-e, constraint-f, constraint-g)가 소거될 수 있다. 다음으로 도 15(d)와 같이 제약 입력 명령(push)과 제2 가변 제약 세트(constraint-h, constraint-i)가 순차적으로 입력되면 유효한 제약은 고정 제약 세트(constraint-a, constraint-b, constraint-c, constraint-d)과 제2 가변 제약 세트(constraint-h, constraint-i)가 될 수 있다.
즉, 도 15(b) 단계에서는 고정 제약 세트(constraint-a, constraint-b, constraint-c, constraint-d)와 제1 가변 제약 세트(constraint-e, constraint-f, constraint-g)가 유효하고, 도 15(c) 단계에서는 고정 제약 세트(constraint-a, constraint-b, constraint-c, constraint-d)만이 유효하며, 도 15(d) 단계에서는 고정 제약 세트(constraint-a, constraint-b, constraint-c, constraint-d)와 제2 가변 제약 세트(constraint-h, constraint-i)가 유효하다.
이 때, 고정 제약 세트에는 전력시스템의 동작 중에 수정되지 않는 제약들이 포함되고, 가변 제약 세트들에는 전력시스템의 동작 중에 수정될 수 있는 제약들이 포함되는 것이 바람직하다. 예시적으로, 전력관리 프로그램은 제1 제약, 제2 제약 및 제3 제약을 모두 포함하는 제약 집합에서 전력시스템의 동작 중에 수정되지 않는 제약(고정 제약)과 수정이 가능한 제약(가변 제약)을 구분하고, 가변 제약에 대해 자동화된 방식으로 SMT 기반 프로그램의 코드를 수정할 수 있다.
이와 같이, 전력관리 프로그램은 SMT 기반 프로그램 언어가 이해할 수 있는 제약 입력 명령과 제약 소거 명령을 사용하여 SMT 기반 프로그램의 코드를 자동화된 방식으로 수정할 수 있다.
예시적으로, SMT 기반 프로그램 언어가 Z3Py일 경우, 제약 입력 명령에는 push 함수가 사용되고 제약 소거 명령에는 pop 함수가 사용될 수 있다.
도 16 및 도 17은 Z3Py에서 push 및 pop 함수를 이용하여 제약을 수정하는 방법을 예시한다.
도 16을 참조하면, 먼저 add 함수를 이용하여 파라미터 p1과 p2를 정의하고, 고정 제약 c1과 c2를 입력할 수 있다. 여기서, 고정 제약 c1과 c2는 각각 파라미터 p1과 p2의 함수(f1, f2)로 표현되어 있다. 전술한 바와 같이, 제약 c1, c2는 파라미터들(p1, p2) 사이의 대소 비교, 논리 연산, 조건 연산 등을 포함할 수 있다.
다음으로, 제약 입력 명령(push)이 입력되고, 이어서 가변 제약(c3, forall)이 입력될 수 있다. 여기서, 가변 제약 c3는 파라미터 p1과 p2의 함수(f3)로 표현되어 있다. 제약 c1 및 c2와 마찬가지로, 제약 c3는 파라미터들(p1, p2) 사이의 대소 비교, 논리 연산, 조건 연산 등을 포함할 수 있다. 가변 제약 중의 forall은 파라미터(p1, p2)와 제약들(c1, c2, c3) 사이의 관계를 정의하는 것으로 이해될 수 있다. 도 16에 예시된 forall 코드는 제약 c1, c2, c3를 모두 만족시키는 파라미터 p1, p2를 구하기 위한 관계식으로 이해될 수 있다.
즉, 도 16은 고정 제약 c1, c2와 가변 제약 c3 및 관계 제약 forall을 모두 만족하는 해집합을 구하기 위한 코드의 예시이다.
도 17은 전력시스템의 동작 중에 전력디바이스에 의해 도 16의 제약 c3가 소거되고 새로운 제약 c4가 추가되는 경우에 대한 코드 수정을 예시하고 있다.
도 17을 참조하면, 고정 제약을 입력하는 단계는 동일하고, 새로운 가변 제약인 c4를 입력하기 전에 기존의 가변 제약 c3을 제거하기 위해 pop 함수를 먼저 입력할 수 있다. 이후, push 함수를 사용하여 추가될 가변 제약인 c4와 변경되는 관계 제약인 forall이 입력될 수 있다. 도 17의 forall 구문에서는 제약 c3가 삭제되고 c4가 추가된 점을 반영하여 코드의 일부가 변경되어 있다.
이와 같이, 전력관리 프로그램은 제약 입력 명령과 제약 소거 명령을 사용하여 자동화된 방식으로 SMT 기반 프로그램의 제약 코드를 수정할 수 있다.
도 12 및 도 13에 예시된 제약 집합의 변경을 전술한 pop 및 push 함수를 이용하여 수행하는 경우에 대해 예시적으로 설명한다.
도 12는 제3 제약(constraint-d')이 제2 제약의 일부(constraint-d)를 대체하는 경우이므로, 제2 제약(constraint-c, constraint-d)을 pop 함수를 사용하여 소거한 후에 제2 제약(constraint-c, constraint-d)과 제3 제약(constraint-d')을 모두 반영한 제약(constraint-c, constraint-d')을 push 함수를 사용하여 입력하는 방법이 사용될 수 있다. 제3 제약(constraint-d')만을 push 함수를 사용하여 입력할 경우 제2 제약에서 변경되지 않는 제약인 constraint-c가 누락될 수 있기 때문이다. 만약, 제2 제약들을 세분하여 복수의 세트로 입력한 경우에는 수정될 제약을 포함하는 세트만을 변경하는 방법도 가능하다.
도 13은 제3 제약이 추가되는 경우이므로, 제2 제약을 소거하는 과정이 없이 바로 제3 제약(constraint-e)을 push 함수를 이용하여 입력하는 방법이 사용될 수 있다.
도 16 및 도 17을 참조하여 설명한 바와 같이, 경우에 따라, 파라미터와 제약들 사이의 관계를 설정하는 관계 제약(예, forall)의 수정이 필요할 수 있다. 도 18은 일 실시예에 따라 관계 제약 코드를 수정하는 방법을 설명하는 도면이다.
도 18은, p1과 p2의 2개의 파라미터가 있고 두 파라미터 p1과 p2가 상수인지 변수인지에 따라 관계 제약 코드를 다르게 설정하는 상황을 예시하고 있다. 전력관리 프로그램은 두 파라미터 p1, p2가 상수인지 변수인지에 따라 사용할 관계 제약인 forall 코드를 미리 설정하여 저장하고 있다가 두 파라미터 p1, p2의 실제 상태에 따라 필요한 관계 제약 코드를 추출하여 사용할 수 있다.
예시적으로, case 1에서는 두 파라미터 p1, p2가 모두 변수이므로 forall 코드에서 p1, p2를 모두 변수로 설정한 상태를 예시하고 있고, case 2에서는 파라미터 p1은 변수이지만 p2가 상수이므로 forall 코드에서 p1만을 변수로 설정한 상태를 예시하고 있으며, case 3에서는 파라미터 p2는 변수이지만 p1이 상수이므로 forall 코드에서 p2만을 변수로 설정한 상태를 예시하고 있다.
이와 같이, 전력관리 프로그램은 제약들 사이의 관계를 설정하는 관계 제약(예, forall)을 생성하고, 관계 제약을 가변 제약으로 구분하며, 제약이 수정되면(예, 제3 제약이 추가로 수신되면) 관계 제약의 변경이 필요한지 여부를 판단하며, 필요하다고 판단될 경우 관계 제약을 변경할 수 있다. 이 때, 관계 제약의 각각에 대해 제약들에 포함된 파라미터들의 상태에 따라 사용될 수 있는 코드들이 미리 설정되어 저장되고, 전력관리 프로그램은 관계 제약의 각각에 대해 파라미터들의 상태에 기초하여 사용될 코드를 선택함으로써, 전력관리 프로그램은 SMT 기반 프로그램의 코드를 자동화된 방식으로 수정할 수 있다.
도 19는 일 실시예에 따른 전력디바이스(120)를 예시하는 도면이다.
도 19를 참조하면, 전력디바이스(120)는 제어부(121), 제약코드 생성부(122), 통신부(123), 전력처리회로(124) 및 사용자 인터페이스(125)를 포함할 수 있다. 제약코드 생성부(122)는 제어부(121)의 내부에 구현될 수도 있다.
제어부(121)는 전력디바이스(120)의 전체적인 동작을 제어할 수 있다. 제어부(121)는 제어용 소프트웨어와 제어용 소프트웨어를 구동하는 하드웨어로 구현될 수 있다. 제어용 소프트웨어를 구동하는 하드웨어에는 통상의 DSP, CPU, 마이크로프로세서 등이 사용될 수 있다.
제약코드 생성부(122)는 사용자가 사용자 인터페이스를 통해 입력하는 제약 내용에 따라 SMT 기반 프로그램 언어가 이해할 수 있는 제약코드를 생성할 수 있다. 이를 위해, 제약코드 생성부(122)는 SMT 기반 프로그램 언어가 이해할 수 있는 제약 설정을 위한 코드 정보를 메모리에 저장하여 활용할 수 있다. 전술한 바와 같이, 전력디바이스(120)가 제2 제약과 제3 제약을 생성할 때, 제약코드 생성부(122)는 제2 제약 및 상기 제3 제약의 내용에 따라 SMT 기반 프로그램 언어가 이해할 수 있는 제약 코드를 생성할 수 있다.
통신부(123)는 제약코드 생성부(122)에서 생성한 제약코드를 전력관리장치로 전송할 수 있다. 전력디바이스(120)가 제약코드를 전력관리장치로 전송할 때, 전술한 바와 같이, 계약관리장치를 경유할 수 있다. 통신부(123)에는 통상의 유, 무선 통신 수단이 사용될 수 있다.
전력처리회로(124)는 제어부(121)의 제어에 따라 전력을 처리할 수 있다. 전력의 처리는 전력의 생산, 저장, 소모 중의 적어도 하나 이상을 포함할 수 있다.
사용자 인터페이스(125)는 사용자가 제약(예, 제2 제약 및 상기 제3 제약)을 설정하도록 가이드할 수 있다. 사용자 인터페이스(125)에는 통상의 입력 장치가 사용될 수 있다. 예시적으로, 사용자 인터페이스(125)에는 키보드, 마우스, 터치 패널 등이 사용될 수 있다.
이와 같이, 전력디바이스(120)가 제약코드 생성부(122)를 포함함으로써 전력디바이스(120)는 전력관리장치로 제약의 정확한 내용을 전송할 수 있다. 본 실시예와는 달리, 전력디바이스(120)가 전력관리장치로 제약의 내용을 전송하고 전력관리장치에서 제약 코드를 생성하는 방법이 사용될 수 있으나, 이 경우 전력디바이스(120)가 SMT 기반 프로그램에서 허용하지 않는 제약 내용을 전송하거나 또는 전력관리장치에서 제약 코드를 생성하는 과정에서 전력디바이스(120)의 의도와는 다른 제약 코드가 생성될 수 있으므로, 본 실시예와 같이 전력디바이스(120)에서 제약 코드를 생성하는 것이 절차를 간략히 할 수 있고 제약 내용을 명확히 할 수 있으므로 바람직하다.
도 20은 일 실시예에 따른 전력디바이스의 사용자 인터페이스(125)를 예시하는 도면이다.
도 20을 참조하면, 사용자 인터페이스(125)는 디스플레이(126), 파라미터 설정부(127) 및 연산자 설정부(128)을 포함할 수 있다. 도 20의 사용자 인터페이스(125)는 제약 입력에 관련된 부분만을 도시하고 있지만, 그 외 다른 용도의 인터페이스가 더 포함될 수 있음은 자명하다.
디스플레이(126)는 사용자가 입력하는 제약의 내용을 표시할 수 있다. 디스플레이(126)에는 LCD, OLED, PDP, CRT 등 통상의 표시 수단이 사용될 수 있다.
파라미터 설정부(127)는 사용자가 제약 내용의 입력을 위해 파라미터를 선택하도록 할 수 있다. 예시적으로, 파라미터 설정부(127)에는 버튼, 키 스위치, 터치 패널 등이 사용될 수 있다. 도 20에는 네 개의 파라미터(p1 ~ p4)가 있는 경우를 예시하고 있으나, 파라미터의 수는 다양할 수 있다. 파라미터가 많은 경우 개별 버튼이나 키를 배치하기 보다는 메뉴 방식으로 파라미터를 선택하도록 구성될 수 있다.
연산자 설정부(128)는 제약 내용을 구성할 때 사용될 수 있는 연산자들을 선택하는데 사용될 수 있다. 본 실시예에서는 SMT 기반 프로그램을 통해 다양한 형태의 제약이 사용될 수 있지만, SMT 기반 프로그램 언어에 따라 사용될 수 있는 연산자의 종류는 다를 수 있다. 연산자 설정부(128)는 사용하는 SMT 기반 프로그램 언어에서 인식할 수 있는 연산자의 종류를 사용자에게 알려주고 사용자로 하여금 SMT 기반 프로그램 언어에서 인식할 수 있는 연산자만을 사용하여 제약 내용을 구성하도록 가이드할 수 있다. 연산자 설정부(128)에는 버튼, 키 스위치, 터치 패널 등이 사용될 수 있다. 연산자가 많은 경우 개별 버튼 또는 키를 배치하기 보다는 메뉴 방식으로 연산자를 선택하도록 구성될 수 있다.
이와 같이 전력디바이스에서 사용자 인터페이스를 통해 SMT 기반 프로그램 언어에서 인식할 수 있는 연산자만을 사용하도록 가이드할 경우, 전력디바이스와 전력관리장치 사이에서 제약 내용에 대한 혼선이 감소할 수 있다.
이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재될 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥 상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (19)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 전력의 생산, 저장 또는 소비 중의 적어도 하나 이상을 수행하는 복수의 전력디바이스 및 상기 복수의 전력디바이스의 전력 관리를 수행하는 전력관리장치를 포함하는 전력시스템에서 사용되는 상기 전력관리장치에 있어서,
    제1 제약을 생성하고, 상기 복수의 전력디바이스 중의 적어도 일부가 각각 생성한 제2 제약을 통신부를 통해 수신하며, SMT 기반 프로그램을 사용하여 상기 제1 제약과 상기 제2 제약을 만족하는 제1 해집합을 구하는 전력관리부; 및
    상기 제2 제약을 상기 전력디바이스로부터 수신하고, 수신한 상기 제2 제약을 상기 전력관리부로 전송하며, 상기 전력관리부가 생성한 상기 제1 해집합을 상기 복수의 전력디바이스로 전송하는 상기 통신부;를 포함하되,
    상기 전력관리부는 전력관리 프로그램을 포함하고, 상기 전력시스템의 운영 중에 상기 전력디바이스로부터 제3 제약을 수신하면 상기 전력관리 프로그램은 상기 제3 제약을 반영하여 자동화된 방식으로 상기 SMT 기반 프로그램의 코드를 수정하고, 상기 SMT 기반 프로그램은 상기 제3 제약이 반영된 상기 수정된 코드에 기초하여 제2 해집합을 구하며,
    상기 전력관리 프로그램은 상기 전력디바이스로부터 상기 제3 제약을 수신하면, 상기 제3 제약을 포함하지 않는 제약 집합의 코드(제A 코드 집합) 전체를 상기 제3 제약을 포함하는 제약 집합의 코드(제B 코드 집합)로 대체하여 상기 SMT 기반 프로그램의 코드를 수정하는 것을 특징으로 하는 전력관리장치.
  7. 청구항 6에 있어서,
    상기 전력관리 프로그램은 상기 제3 제약을 수신하면 상기 제B 코드 집합을 생성하여 저장하는 것을 특징으로 하는 전력관리장치.
  8. 전력의 생산, 저장 또는 소비 중의 적어도 하나 이상을 수행하는 복수의 전력디바이스 및 상기 복수의 전력디바이스의 전력 관리를 수행하는 전력관리장치를 포함하는 전력시스템에서 사용되는 상기 전력관리장치에 있어서,
    제1 제약을 생성하고, 상기 복수의 전력디바이스 중의 적어도 일부가 각각 생성한 제2 제약을 통신부를 통해 수신하며, SMT 기반 프로그램을 사용하여 상기 제1 제약과 상기 제2 제약을 만족하는 제1 해집합을 구하는 전력관리부; 및
    상기 제2 제약을 상기 전력디바이스로부터 수신하고, 수신한 상기 제2 제약을 상기 전력관리부로 전송하며, 상기 전력관리부가 생성한 상기 제1 해집합을 상기 복수의 전력디바이스로 전송하는 상기 통신부;를 포함하되,
    상기 전력관리부는 전력관리 프로그램을 포함하고, 상기 전력시스템의 운영 중에 상기 전력디바이스로부터 제3 제약을 수신하면 상기 전력관리 프로그램은 상기 제3 제약을 반영하여 자동화된 방식으로 상기 SMT 기반 프로그램의 코드를 수정하고, 상기 SMT 기반 프로그램은 상기 제3 제약이 반영된 상기 수정된 코드에 기초하여 제2 해집합을 구하며,
    상기 전력관리 프로그램은 상기 전력디바이스로부터 상기 제3 제약을 수신하면, 상기 제3 제약을 포함하지 않는 제약 집합의 코드(제A 코드 집합)와 상기 제3 제약을 포함하는 제약 집합의 코드(제B 코드 집합)를 비교하여 차이가 있는 코드를 수정하는 것을 특징으로 하는 전력관리장치.
  9. 청구항 8에 있어서,
    상기 전력관리 프로그램은 상기 SMT 기반 프로그램 언어가 이해할 수 있는 제약 입력 명령과 제약 소거 명령을 사용하여 상기 SMT 기반 프로그램의 코드를 수정하는 것을 특징으로 하는 전력관리장치.
  10. 청구항 9에 있어서,
    상기 SMT 기반 프로그램 언어는 Z3Py이고, 상기 제약 입력 명령은 push 함수이며, 상기 제약 소거 명령은 pop 함수인 것을 특징으로 하는 전력관리장치.
  11. 전력의 생산, 저장 또는 소비 중의 적어도 하나 이상을 수행하는 복수의 전력디바이스 및 상기 복수의 전력디바이스의 전력 관리를 수행하는 전력관리장치를 포함하는 전력시스템에서 사용되는 상기 전력관리장치에 있어서,
    제1 제약을 생성하고, 상기 복수의 전력디바이스 중의 적어도 일부가 각각 생성한 제2 제약을 통신부를 통해 수신하며, SMT 기반 프로그램을 사용하여 상기 제1 제약과 상기 제2 제약을 만족하는 제1 해집합을 구하는 전력관리부; 및
    상기 제2 제약을 상기 전력디바이스로부터 수신하고, 수신한 상기 제2 제약을 상기 전력관리부로 전송하며, 상기 전력관리부가 생성한 상기 제1 해집합을 상기 복수의 전력디바이스로 전송하는 상기 통신부;를 포함하되,
    상기 전력관리부는 전력관리 프로그램을 포함하고, 상기 전력시스템의 운영 중에 상기 전력디바이스로부터 제3 제약을 수신하면 상기 전력관리 프로그램은 상기 제3 제약을 반영하여 자동화된 방식으로 상기 SMT 기반 프로그램의 코드를 수정하고, 상기 SMT 기반 프로그램은 상기 제3 제약이 반영된 상기 수정된 코드에 기초하여 제2 해집합을 구하며,
    상기 전력관리 프로그램은, 상기 제1 제약, 상기 제2 제약 및 상기 제3 제약을 모두 포함하는 제약 집합에서 전력시스템의 동작 중에 수정되지 않는 제약(고정 제약)과 수정이 가능한 제약(가변 제약)을 구분하고, 상기 가변 제약에 대해 상기 자동화된 방식으로 상기 SMT 기반 프로그램의 코드를 수정하는 것을 특징으로 하는 전력관리장치.
  12. 청구항 11에 있어서,
    상기 전력관리 프로그램은 상기 제약들 사이의 관계를 설정하는 관계 제약을 생성하고, 상기 관계 제약을 가변 제약으로 구분하며, 상기 제3 제약이 수신되면 상기 관계 제약의 변경이 필요한지 여부를 판단하며, 필요하다고 판단될 경우 상기 관계 제약을 변경하는 것을 특징으로 하는 전력관리장치.
  13. 청구항 12에 있어서,
    상기 관계 제약의 각각에 대해 상기 제약들에 포함된 파라미터들의 상태에 따라 사용될 수 있는 코드들이 미리 설정되어 저장되고,
    상기 전력관리 프로그램은 상기 관계 제약의 각각에 대해 상기 파라미터들의 상태에 기초하여 사용될 코드를 선택하는 것을 특징으로 하는 전력관리장치.
  14. 청구항 6 내지 청구항 13 중의 어느 한 항에 있어서,
    상기 제2 제약과 상기 제3 제약은 상기 전력디바이스의 전력 전송과 관련된 파라미터들 사이의 관계식을 포함하는 것을 특징으로 하는 전력관리장치.
  15. 청구항 14에 있어서,
    상기 제2 제약과 상기 제3 제약에 포함되는 파라미터에 대한 관계식의 형태는 미리 특정되지 않고,
    하나의 전력디바이스로부터 수신한 상기 제2 제약과 상기 제3 제약은 서로 상이한 파라미터에 대한 관계식을 포함하는 것을 특징으로 하는 전력관리장치.
  16. 청구항 6 내지 청구항 13 중의 어느 한 항에 있어서,
    상기 전력관리장치는 상기 제3 제약에 대한 수락 여부를 판단하고, 수락할 경우 상기 제3 제약을 반영하여 상기 제2 해집합을 구하는 것을 특징으로 하는 전력관리장치.
  17. 청구항 6 내지 청구항 13 중의 어느 한 항의 전력관리장치; 및
    전력의 생산, 저장 또는 소비 중의 적어도 하나 이상을 수행하는 복수의 전력디바이스;를 포함하는 전력시스템.
  18. 청구항 17에 있어서,
    상기 전력관리장치와 상기 전력디바이스 사이에 전달되는 상기 제2 제약, 상기 제3 제약 및 상기 해집합은 계약관리장치를 통해 블록체인의 트랜잭션으로 기록되는 것을 특징으로 하는 전력시스템.
  19. 청구항 17에 있어서,
    상기 전력디바이스는,
    사용자로 하여금 상기 SMT 기반 프로그램 언어가 이해할 수 있는 연산자만을 사용하여 상기 제2 제약과 상기 제3 제약을 구성하도록 가이드하는 사용자 인터페이스; 및
    상기 사용자 인터페이스를 통해 입력되는 상기 제2 제약 및 상기 제3 제약의 내용에 따라 상기 SMT 기반 프로그램 언어가 이해할 수 있는 코드를 생성하는 제약코드 생성부;를 포함하는 것을 특징으로 하는 전력시스템.
KR1020190030495A 2019-03-18 2019-03-18 전력시스템의 동작 중에 제약 코드의 자동화된 수정이 가능한 전력관리장치 및 전력시스템 KR102242446B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190030495A KR102242446B1 (ko) 2019-03-18 2019-03-18 전력시스템의 동작 중에 제약 코드의 자동화된 수정이 가능한 전력관리장치 및 전력시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190030495A KR102242446B1 (ko) 2019-03-18 2019-03-18 전력시스템의 동작 중에 제약 코드의 자동화된 수정이 가능한 전력관리장치 및 전력시스템

Publications (2)

Publication Number Publication Date
KR20200110949A KR20200110949A (ko) 2020-09-28
KR102242446B1 true KR102242446B1 (ko) 2021-04-20

Family

ID=72801054

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190030495A KR102242446B1 (ko) 2019-03-18 2019-03-18 전력시스템의 동작 중에 제약 코드의 자동화된 수정이 가능한 전력관리장치 및 전력시스템

Country Status (1)

Country Link
KR (1) KR102242446B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015079493A1 (ja) 2013-11-26 2015-06-04 三菱電機株式会社 エネルギー管理システム、電力計測装置、負荷機器、通信アダプタ、システムコントローラ、エネルギー管理方法及びプログラム
JP2015220862A (ja) * 2014-05-16 2015-12-07 トヨタ自動車株式会社 電力管理システム
JP2016077080A (ja) 2014-10-06 2016-05-12 シャープ株式会社 電力管理装置、電力管理システム、端末装置、電力管理方法、およびプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104662763A (zh) * 2012-07-13 2015-05-27 日东电工株式会社 按需型多个电源管理系统、按需型多个电源管理系统程序以及记录有该程序的计算机可读记录介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015079493A1 (ja) 2013-11-26 2015-06-04 三菱電機株式会社 エネルギー管理システム、電力計測装置、負荷機器、通信アダプタ、システムコントローラ、エネルギー管理方法及びプログラム
JP2015220862A (ja) * 2014-05-16 2015-12-07 トヨタ自動車株式会社 電力管理システム
JP2016077080A (ja) 2014-10-06 2016-05-12 シャープ株式会社 電力管理装置、電力管理システム、端末装置、電力管理方法、およびプログラム

Also Published As

Publication number Publication date
KR20200110949A (ko) 2020-09-28

Similar Documents

Publication Publication Date Title
Şerban et al. Artificial intelligence for smart renewable energy sector in europe—smart energy infrastructures for next generation smart cities
Wen et al. Synergistic operation of electricity and natural gas networks via ADMM
Ekel et al. Multiobjective and multiattribute decision making in a fuzzy environment and their power engineering applications
Salam Unit commitment solution methods
CN110096857A (zh) 区块链系统的权限管理方法、装置、设备和介质
Pippia et al. A single-level rule-based model predictive control approach for energy management of grid-connected microgrids
CN102063306A (zh) 一种通过电子表单进行应用开发的技术实现方法
Song et al. Economic-environmental equilibrium-based bi-level dispatch strategy towards integrated electricity and natural gas systems
Berredo et al. Decision making in fuzzy environment and multicriteria power engineering problems
CN101424944A (zh) 集成控制模块的mes装置
CN102867377A (zh) 在pos端机上实现业务的方法、系统与pos端机
CN102893258A (zh) 开发软件的方法及装置
US10103575B2 (en) Power interchange management system and power interchange management method for maintaining a balance between power supply and demand
CN102902544A (zh) 一种电话支付终端软件平台的实现方法
JP3332032B2 (ja) 発電機の運転計画作成装置、発電機の運転計画方法および発電機の運転計画プログラムが格納された記憶媒体
CN112529337A (zh) 一种基于电力物资需求管理的储备库优化方法及系统
JP6293935B2 (ja) 需要側管理方法およびシステム
Xiao et al. Multi-period data driven control strategy for real-time management of energy storages in virtual power plants integrated with power grid
Abreu et al. Hierarchical model predictive control for building energy management of hybrid systems
KR102242446B1 (ko) 전력시스템의 동작 중에 제약 코드의 자동화된 수정이 가능한 전력관리장치 및 전력시스템
Pisciella et al. A leader-followers model of power transmission capacity expansion in a market driven environment
US20230177235A1 (en) Energy flow optimization in multi-energy system based on spatiotemporal network flows
Ekel et al. Decision making in a fuzzy environment and its application to multicriteria power engineering problems
US20230307918A1 (en) System and method for bi-directional direct current charging in electric vehicle supply equipment
CN105302609B (zh) 应用于测量仪器的数据资源配置管理方法

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant