KR20200029553A - 다중-에이전트 흐름 제어 시스템의 탈중앙집중적 계획, 스케줄링 및 제어 - Google Patents

다중-에이전트 흐름 제어 시스템의 탈중앙집중적 계획, 스케줄링 및 제어 Download PDF

Info

Publication number
KR20200029553A
KR20200029553A KR1020207004479A KR20207004479A KR20200029553A KR 20200029553 A KR20200029553 A KR 20200029553A KR 1020207004479 A KR1020207004479 A KR 1020207004479A KR 20207004479 A KR20207004479 A KR 20207004479A KR 20200029553 A KR20200029553 A KR 20200029553A
Authority
KR
South Korea
Prior art keywords
agent
values
flow control
local
agents
Prior art date
Application number
KR1020207004479A
Other languages
English (en)
Other versions
KR102363303B1 (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 지멘스 코포레이션
Publication of KR20200029553A publication Critical patent/KR20200029553A/ko
Application granted granted Critical
Publication of KR102363303B1 publication Critical patent/KR102363303B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0637Strategic management or analysis, e.g. setting a goal or target of an organisation; Planning actions based on goals; Analysis or evaluation of effectiveness of goals
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/042Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a parameter or coefficient is automatically adjusted to optimise the performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0715Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a system implementing multitasking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/16Real estate
    • G06Q50/163Real estate management
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25011Domotique, I-O bus, home automation, building automation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/26Pc applications
    • G05B2219/2625Sprinkler, irrigation, watering
    • 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/06Energy or water supply

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Quality & Reliability (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • General Engineering & Computer Science (AREA)
  • Game Theory and Decision Science (AREA)
  • Educational Administration (AREA)
  • Development Economics (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Feedback Control In General (AREA)

Abstract

흐름 제어 시스템에서 복수의 구성요소들(535, 545, 540, 555)에 대한 흐름 제어 계획을 생성하기 위한 시스템들 및 방법들이 제공된다. 중앙 프로세서(101) 없이 독립적으로 각각의 에이전트(550)에 대해 계획하고 스케줄링하기 위해 탈중앙집중적 다중에이전트 제어 프레임워크가 사용된다. 다중-에이전트 제어 프레임워크의 각각의 에이전트(550)는 하나 이상의 매개변수들에 대한 값들의 함수로써 시스템의 로컬 부분을 개별적으로 최적화한다. 에이전트들(535, 545, 540, 555)은 연결된 다른 에이전트들과 통신하여, 매개변수들에 대한 값들을 공유한다. 통신은, 시스템의 로컬 부분에 대한 최적화된 매개변수 값들을 재계산하기 위해 에이전트(550)에 의해 사용되는 공유 매개변수들의 값들에 대한 협상 및 합의를 제공한다.

Description

다중-에이전트 흐름 제어 시스템의 탈중앙집중적 계획, 스케줄링 및 제어
[0001] 본 출원은, 2017년 7월 18일자로 출원된 미국 가출원 번호 62/533,718을 우선권으로 주장하며, 이로써 위의 가출원은 그 전체가 인용에 의해 포함된다.
[0002] 실시예들은 탈중앙집중적(decentralized) 흐름 제어 시스템, 이를테면, 물 분배를 위한 제어 시스템에 관한 것이다.
[0003] 흐름 제어 시스템들은 다른 것들 중에서 프로세스(process) 제어, 전력 네트워크(network)들, 보조 시스템들 및 물 시스템들을 포함하는 많은 상이한 연구 또는 응용 환경들에서 흔히 사용된다. 흐름 제어는 발전(power generation), 석유화학들, 식품 가공 및 제조를 포함하는 매우 다양한 산업 응용들에서 사용된다. 흐름 제어 시스템의 일차 목적은 시스템의 동작 동안 안정성, 에너지(energy) 효율 및 우수한 성능을 보장하는 것이다.
[0004] 예컨대, 액체 및 가스(gas) 변수들, 이를테면, 유량, 압력, 온도, 액체 수준 및 밀도는 정밀하게 제어되어야 한다. 많은 시스템들에서, 중요하고 기본적인 매개변수들 중 하나는 유량 제어이다. 이 유량은 무엇이든지, 즉, 물, 증기, 휘발유, 디젤(diesel), 가스 등에 대한 것일 수 있다. 프로세스의 원활한 실행을 위해 뿐만 아니라 더 나은 품질 결과들을 위해서는 원하는 유량을 유지하는 것이 원해진다.
[0005] 물 흐름 시스템의 경우, 흐름 제어 시스템의 목표는, 상이한 위치들에 물 흐름을 분배하기 위해 각각의 브랜치(branch)에서의 실제 및 반응성 흐름 데이터(data)를 획득하는 것이다. 예컨대, 선박 물 시스템에서는, 에너지 손실들을 감소시키고 가장 중요하게는 과열로 인한 기계류 시스템의 기능불량(malfunction) 및 브레이크다운(breakdown)을 회피하기에 충분한 냉각제들을 임계 부하들에 제공하도록 물 흐름들이 최적으로 전달된다. 건물의 물 시스템에서, 과제는 에너지 비용들을 최소로 유지하면서 냉각 요건들을 최대화하는 것이다.
[0006] 도입부로서, 아래에서 설명된 바람직한 실시예들은 다음을 위한 방법들 및 시스템들을 포함한다.
[0007] 제1 양상에서, 로컬(local) 흐름 제어 작업들을 수행하기 위한 복수의 구성요소들을 포함하는 탈중앙집중적 흐름 제어 시스템이 제공된다. 복수의 구성요소들 각각은, 하나 이상의 흐름들을 조정하도록 구성된 적어도 하나의 기계적 요소, 하나 이상의 흐름들을 검출하도록 구성된 적어도 하나의 센서(sensor), 적어도 하나의 기계적 요소를 기계적으로 조정하도록 구성된 적어도 하나의 액추에이터(actuator), 복수의 구성요소들 중 적어도 하나의 다른 구성요소와 통신하도록 구성된 통신 인터페이스(interface) 및 구성요소 프로세서(processor)를 포함한다. 구성요소 프로세서는, 적어도 하나의 센서로부터의 데이터에 기반하여 로컬 최적화 흐름 계획을 계산하도록, 로컬 최적화 흐름 계획을 복수의 구성요소들 중 적어도 하나의 다른 구성요소에 통신하여 복수의 구성요소들 중 다른 구성요소와 최적화 시스템 흐름 계획을 협상하도록, 그리고 적어도 하나의 액추에이터를 통해 최적화 시스템 흐름 계획을 구현하도록 구성된다.
[0008] 제2 양상에서, 흐름 제어 시스템에서 복수의 에이전트(agent)들에 의해 흐름 제어 계획을 생성하기 위한 방법이 제공된다. 에이전트는, 이 에이전트에 의해 제어되는 구성요소들의 하나 이상의 로컬 매개변수들에 대한 값들을 계산한다. 에이전트는, 이 에이전트와 복수의 에이전트들 중 연결된 에이전트들 사이에서, 하나 이상의 공유 매개변수들에 대한 값들을 협상한다. 에이전트는, 협상된 값들에 기반하여 하나 이상의 로컬 매개변수들의 값들을 조정한다. 에이전트는, 조정된 값들을 사용하여 로컬 흐름 제어 계획을 생성한다. 에이전트는 로컬 흐름 제어 계획을 구현한다.
[0009] 제3 양상에서, 건물 제어 시스템에서 지능형 물 펌프(pump)를 제어하기 위한 디바이스(device)가 제공된다. 디바이스는 메모리(memory), 통신 인터페이스 및 프로세서를 포함한다. 메모리는 구성 데이터 및 최적화 데이터를 저장하도록 구성된다. 통신 인터페이스는 하나 이상의 다른 디바이스들과 하나 이상의 공유 매개변수들에 대한 값들을 통신하도록 구성된다. 프로세서는 구성 데이터 및 최적화 데이터에 기반하여 로컬 매개변수들 및 공유 매개변수들에 대한 값들을 계산하도록 구성된다. 프로세서는 하나 이상의 다른 디바이스들과 공유 매개변수들에 대한 값들을 협상하도록 구성된다. 프로세서는, 협상된 공유 매개변수들의 함수로써 로컬 매개변수들의 값들을 재계산하도록, 그리고 재계산된 값들 및 협상된 공유 매개변수들의 함수로써 흐름 제어 계획을 생성하도록 구성된다.
[0010] 본 발명은 다음의 청구항들에 의해 정의되고, 본 섹션(section)의 아무것도 그러한 청구항들에 대한 제한으로서 취해지지 않아야 한다. 본 발명의 추가적인 양상들 및 장점들은 바람직한 실시예들과 함께 아래에서 논의되며, 독립적으로 또는 결합하여 나중에 청구될 수 있다.
[0011] 구성요소들 및 도면들이 반드시 실척에 맞는 것은 아니며, 대신에, 본 발명의 원리들을 예시할 때 강조가 이루어진다. 게다가, 도면들에서, 유사한 참조 부호들은 상이한 도면들 전체에 걸쳐 대응하는 부분들을 표기한다.
[0012] 도 1a 및 도 1b는 예시적인 흐름 제어 시스템들을 도시한다.
[0013] 도 2는 예시적인 물 흐름 제어 시스템을 도시한다.
[0014] 도 3은 일 실시예에 따른 다중-에이전트(multi-agent) 흐름 제어 시스템을 도시한다.
[0015] 도 4는 일 실시예에 따른 흐름 제어 시스템에서 복수의 구성요소들에 대한 흐름 제어 계획을 생성하기 위한 예시적인 방법을 도시한다.
[0016] 도 5는 일 실시예에 따른 흐름 제어 시스템에서 복수의 구성요소들에 대한 흐름 제어 계획을 생성하기 위한 시스템을 도시한다.
[0017] 중앙 프로세서 없이 독립적으로 각각의 에이전트에 대해 계획하고 스케줄링(schedule)하기 위해, 흐름 제어 시스템을 위한 동적 토폴로지(topology)를 갖는 탈중앙집중적 다중-에이전트 제어 프레임워크(framework)가 사용된다. 다중-에이전트 제어 프레임워크의 각각의 에이전트는 하나 이상의 매개변수들에 대한 값들의 함수로써 시스템의 로컬 부분을 개별적으로 최적화한다. 에이전트들은 연결된 다른 에이전트들과 통신하여, 매개변수들에 대한 값들을 공유한다. 통신은, 시스템의 로컬 부분에 대한 최적화된 매개변수 값들을 재계산하기 위해 에이전트에 의해 사용되는 공유 매개변수들의 값들에 대한 협상 및 합의(consensus)를 제공한다. 로컬 최적화와 공유된 합의 둘 모두의 결합은, 스케일러블하고(scalable) 결함에 잘 견디며(fault tolerant) 효율적인 흐름 제어 시스템을 제공한다.
[0018] 현재 흐름 제어 시스템들은 중앙집중적(centralized) 또는 분산적(distributed)이라는 2개의 유형들로 분류될 수 있다. 도 1a는 중앙집중적 제어 시스템을 도시한다. 도 1b는 분산 제어 시스템을 도시한다. 도 1a에서, 시스템 제어기(101)는 센서들, 액추에이터들, 결함 핸들러(fault handler)들, 사용자 인터페이스 및 솔버(solver)들로부터 정보를 수집하며, 그리고 목적들을 만족시키는 최적의 흐름을 제공하기 위해 시스템에서의 구성요소들 각각에 대한 제어 액션(action)들을 컴퓨팅(compute)한다. 도 1b에서, 분산 구성요소들에 의해 프로세스 또는 플랜트(plant)가 제어된다. 구성요소들(조정자들(102) 및 프로세서들(103))은 시스템 전체에 걸쳐 분산되지만, 중앙 운영자 감독 제어부(101)가 있다. 예컨대, 구성요소 조정자(102)는 이 구성요소 조정자(102)에 연결되는 하위 프로세서(103)에 명령들을 제공할 수 있다. 중앙 시스템 제어기(101)는 구성요소 조정자들(102) 각각에 명령들을 제공하고, 이러한 구성요소 조정자들(102)은 자신들의 하위부(subordinate)들에게 지시한다. 분산 제어 시스템은 다른 시스템 제어기(101)에 의해 제어되는 다수의 중앙집중적 제어 시스템들을 포함할 수 있다. 계층은 단일 프로세서 고장(failure)을 완화시킨다. 구성요소 조정자(102)가 고장나면, 이는, 전체 프로세스에 영향을 줄 수 있는 중앙 시스템 제어기(101)의 고장과는 대조적으로, 프로세스의 하나의 섹션에만 영향을 줄 수 있다. 분산 제어 시스템들은, 최종 프로세스 또는 플랜트 가까이에 제어 기능들을 로컬화(localizing)함으로써 신뢰성을 증가시키고 설치 비용들을 감소시킬 수 있으며, 원격으로 프로세스의 모니터링(monitoring) 및 감독 제어를 가능하게 한다.
[0019] 도 2는 예시적인 물 제어 시스템의 그래픽적인(graphical) 표현으로서 예시적인 흐름 제어 다이어그램(diagram)을 도시한다. 도 2는 복수의 펌프들(201), 복수의 밸브(valve)들(203) 및 복수의 부하들(205)을 포함한다. 각각의 구성요소들 사이의 연결들은 에지(edge)들(207)로서 도시된다. 도 2의 시스템은, 예컨대, 다른 것들 중에서, 발전 모듈(module)들, 배전 모듈들, 공조 플랜트들 및 증기 응축기들에서 사용될 수 있다. 일 예에서, 도 2의 시스템은 선박에서 냉각수를 분배하기 위해 사용될 수 있다. 냉각수 시스템은 주로 컴파트먼트(compartment) 및 장비 냉각에 사용된다. 냉각수는 칠러(chiller)로부터 나온다. 플랜트들은 선박 전체에 걸친 순환을 위해 냉각수를 생성한다. 다른 어레인지먼트(arrangement)들, 다른 부품들 및/또는 다른 환경들이 사용될 수 있다.
[0020] 도 2의 예에서, 중앙집중적 솔루션(solution)의 경우, 디바이스들 각각은 중앙집중적 시스템 제어기(101)에 의해 제어될 수 있다. 중앙집중적 제어 알고리즘(algorithm)은, 디바이스들 전부로부터 데이터를 수집하고 액추에이터들에 대한 최적의 구성 및 제어 액션들을 컴퓨팅하며 정보를 다시 각각의 디바이스에 전송하기 위해 시스템 제어기(101)에 의존한다. 이 중앙집중적 제어 예에서는, 각각의 구성요소와 중앙집중적 시스템 제어기 사이에 부가적인 연결들이 존재한다. 중앙집중적 제어 시스템은, 데이터 및 결정들 전부가 단일 위치에서 이루어지기 때문에 관리하기가 간단할 수 있다. 그러나, 중앙집중화는 결함에 잘 견디지 못할 수 있다. 중앙집중적 시스템 제어기(101)가 다운(down)되거나 또는 손상되면, 폴백(fallback) 또는 복구(recover)될 능력이 없다. 전체 시스템이 단일 오류의 위험에 있을 수 있다. 리던던시(redundancy)가 백업(backup) 시스템들의 형태로 제공될 수 있다. 그러나, 백업 시스템들은 시스템의 비용을 증가시키며, 추가로, 여전히 결함들에 취약할 수 있다. 부가적으로, 통신은 중앙집중화될 수 있는데, 예컨대, 각각의 디바이스는 단지 중앙집중적 프로세서와 통신하도록 구성된다. 통신 라인(line)이 손상되면, 디바이스는 본원에서 고아 에지(orphan edge)들로 지칭되는 불량(ill conditioned) 통신 토폴로지(topology)를 가질 수 있다. 중앙집중적 시스템들은 크기결정 및 거리에 이슈(issue)들을 더 가질 수 있다. 시간 지연들은 큰 구역에 걸쳐 퍼져 있는 매우 큰 시스템들을 복잡하게 만들 수 있다.
[0021] 소정의 네트워크들의 복잡성 및 큰 크기에 기인하여, 그러한 시스템들의 제어는, 단일 제어기가 단일 위치로부터 전체 네트워크를 동작시키는 중앙집중적 방식으로는 수행되지 않을 수 있다. 전체 시스템으로부터 측정들을 수집하고 단일 위치로부터 액션들을 결정하는 대신에, 통상적으로, 제어는 여러 로컬 제어 에이전시(agency)들에 걸쳐 퍼져 있고, 각각의 로컬 제어 에이전시는 네트워크의 특정 부분을 제어한다.
[0022] 분산 제어 시스템들은 중앙집중적 제어 구조가 있다는 점에서 중앙집중적 제어 시스템들과 유사하다. 그러나, 분산 제어 시스템에서는, 어떤 리던던시를 제공하며 제어 시스템을 상이한 양상들로 나눌 수 있는 부가적인 계층들이 있다. 예컨대, 하나의 감독 프로세서가 하나의 유형의 프로세스를 제어할 수 있는 한편, 다른 감독 프로세서는 상이한 프로세스를 제어할 수 있다. 감독 프로세서들 둘 모두는 조정 프로세서 또는 중앙 프로세서로부터 명령을 받는다. 분산 제어 시스템의 다른 예에서, 위에서 설명된 바와 같은 큰 네트워크에서는, 큰 네트워크가 개별적으로 동작되는 시스템들로 분할될 수 있다. 분산 제어 시스템은 중앙집중적 제어 시스템보다 더욱 결함에 잘 견딜 수 있지만, 여전히 많은 단점들을 포함한다. 일부 통신들 또는 제어 디바이스들에서의 리던던시는 비용들을 증가시킨다. 분산 제어 시스템은, 변경하거나 또는 부가하기가 어려울 수 있다. 예컨대, 새로운 디바이스를 부가하는 것은 제어 시스템의 총 오버홀(overhaul)을 필요로 할 수 있다. 추가로, 통신 경로들은 단일 결함 지점들에 취약하다.
[0023] 많은 제어 시스템들에서, 구성요소들 또는 디바이스들은 서로 통신하지 않는다. 하나의 구성요소가 부가적인 자원들을 필요로 할 때, 운영자에 의해 수동으로 변화가 이루어진다. 다른 시스템에서, 변화들은 복잡하며, 구현하기에 비효율적일 수 있다. 예컨대, 엔지니어(engineer)가 소정의 구성요소들을 조정할 것이 요구될 수 있다. 일 예에서, 유량에 관하여, 하나의 구성요소가 더 많은 부하를 필요로 하면, 엔지니어는 전체 시스템에 대한 유량을 재계산해야 할 수 있다. 엔지니어가 모델링(modeling)에 기반하여 원하는 값들을 식별한 후에, 엔지니어는 여전히, 흐름 제어 시스템의 제어 시스템에 로그인(log in)하고 각각의 구성요소에 대한 매개변수 또는 매개변수들의 값들을 변화시킬 필요가 있으며, 이는 비효율적인 프로세스일 수 있다.
[0024] 실시예들은 자신에 대한 변화들에 대해 자동으로 조정하는 탈중앙집중적 다중-에이전트 제어 시스템을 포함한다. 수냉식 플랜트의 예에서, 탈중앙집중적 다중-에이전트 제어 시스템은, 임계 열 부하들에 최적으로 냉각을 제공하고 수관 고장들을 자동으로 검출하며 그리고 실시간 고장 및/또는 결함들에 대해 적응하도록 시스템을 신속하게 재구성하기 위해, 시스템을 다수의 에이전트들로 분할한다. 탈중앙집중적 다중-에이전트 제어 시스템은, 중앙집중적 제어 아키텍처(architecture)와 탈중앙집중적 제어 아키텍처 둘 모두에 적응할 수 있는, 스케일러블하고 확장가능한(extensible) 소프트웨어(software) 아키텍처를 포함한다. 시스템이 유연하고 확장가능하게 되도록, 시스템은 2-계층 소프트웨어 아키텍처를 제공한다. 사용자들이 냉각수 네트워크의 구성을 변화시키면, 이 사용자들은 중앙집중적 최적화의 소스 코드(source code)를 변화시킬 필요가 없다. 적당한 소프트웨어 개발 노력으로, 사용자들은 현재 최적화 솔버를 조정하거나 또는 다른 최적화 솔버로 대체할 수 있다.
[0025] 탈중앙집중적 다중-에이전트 제어 프레임워크는, 유연하고 확장가능한 제어 시스템을 제공한다. 시스템에서의 각각의 에이전트는 개별적인 에이전트에 의해 제어되는 로컬 디바이스들에 대한 개별적인 목적들을 갖는다. 부가하여, 에이전트들은 전체로서 흐름 시스템에서 공유 자원들에 대해 경쟁하고 있다. 탈중앙집중적 다중-에이전트 제어 프레임워크가 시스템의 총 효용을 최대화하도록, 탈중앙집중적 다중-에이전트 제어 프레임워크는 비용 최소화로 분산 최적화 문제를 해결한다. 모델-기반(model-based) 추론과 에이전트들의 결합은, 복잡한 분산 시스템의 자율 제어를 위한 효과적인 메커니즘(mechanism)을 제공한다.
[0026] 많은 건물들은 복잡한 분산 시스템들, 이를테면, 냉각수 플랜트들에 의해 냉각된다. 냉각수 플랜트들은 냉각수를 생성하고, 이 냉각수는 건물 공기를 냉각시키도록 에어 핸들러(air handler)들에 펌핑된다(pumped). 냉각수 플랜트의 칠러들, 에어 핸들러들 및 다른 구성요소들은, 특정 냉각수 출입(entering and leaving) 온도에서 동작하도록 구성된다. 냉각수의 흐름은 흐름 제어 시스템에 의해 제어될 수 있다. 다른 건물 시스템들, 이를테면, 난방, 환기 및 공조(HVAC; heating, ventilation, and air conditioning) 시스템들이 또한, 흐름 제어 시스템을 사용할 수 있다. HVAC 시스템에서의 에어-핸들링 유닛(air-handling unit)의 동작은 팬(fan) 속도, 압력, 전력 입력 및 흐름을 사용한다. 흐름 제어 시스템들은 또한, 복잡한 분산 시스템들의 자율 제어를 필요로 하는 다른 환경들에서 사용될 수 있다.
[0027] 건물 클러스터 급수 시스템(building clusters water supply system)들의 경우, 중앙 칠러가 다수의 건물들에 냉각수를 제공한다. 각각의 건물은 냉각수를 각자의 루프 탑 유닛(RTU; Roof Top Unit) 또는 에어 핸들링 유닛(AHU; Air Handling Unit)으로 끌어당기는 펌프들을 갖는다. 각각의 건물은, 펌프들에 대한 별도의 압력 설정점들이 있는 별도의 건물 자동화 시스템(BAS; building automation system)들에 의해 제어될 수 있다. 설정점들이 조정되지 않으면, 다수의 건물들이 공급관에 있는 냉각수에 대해 경쟁할 수 있고, 이는 에너지 낭비와 편안함 손실 둘 모두를 야기한다. 모든 건물 펌프 설정점들이 커플링되기(coupled) 때문에, 하나의 건물의 동작점이 변화될 때마다, 이는 잠재적으로 전체 건물 클러스터를 중단시킬 수 있다. 문제를 회피하기 위하여, 시스템 구성이 조정될 때마다, 엔지니어들은 펌프 설정점들을 튜닝(tune)할 필요가 있다. 부가적으로, 설정점들이 변화되면, 엔지니어들은 제어기 매개변수들, 이를테면, PID 제어기 매개변수들을 다시 튜닝할 필요가 있을 수 있다. 모순되는 설정들을 회피하기 위해, 각각의 건물의 설정점들은 함께 튜닝되어야(tuned) 한다. 이 프로세스는 시간 소모적이다. 최신 솔루션은, 중앙집중적 소프트웨어를 이용하여 펌프 설정점들 및 제어 매개변수들을 튜닝하는 것이다. 아래에서 설명되는 실시예들은, 건물 클러스터 급수 시스템들을 위한, 탈중앙집중적 다중-에이전트 제어 시스템 및 분산 다중-에이전트 제어 시스템을 제공한다. 급수 시스템에서, 에이전트들은 각각의 펌프 상의 내장형 소프트웨어 모듈이다.
[0028] 도 3은 도 2의 시스템의 흐름 제어를 위한 예시적인 탈중앙집중적 다중-에이전트 제어 시스템을 도시한다. 다중-에이전트 제어 시스템은 복수의 디바이스들을 포함하고, 이러한 복수의 디바이스들 각각은 에이전트에 의해 제어된다. 도 2에서 도시된 바와 같이, 디바이스들은 흐름 제어 시스템에서 사용될 수 있는 임의의 기계적, 전기적 또는 물리적 디바이스를 포함할 수 있다. 예컨대, 디바이스들(203)은 하나 이상의 밸브들(203A-203J)을 포함할 수 있다. 각각의 밸브(203A-203J)는, 예컨대, 하나 이상의 흐름들을 조정하도록 구성된 적어도 하나의 기계적 요소, 하나 이상의 흐름들을 검출하도록 구성된 적어도 하나의 센서, 및 적어도 하나의 기계적 요소를 기계적으로 조정하도록 구성된 적어도 하나의 액추에이터를 포함할 수 있다. 유사하게, 각각의 디바이스(201A-201D)(예컨대, 펌프)는, 하나 이상의 흐름들을 조정하도록 구성된 적어도 하나의 기계적 요소, 하나 이상의 흐름들을 검출하도록 구성된 적어도 하나의 센서, 및 적어도 하나의 기계적 요소를 기계적으로 조정하도록 구성된 적어도 하나의 액추에이터를 포함할 수 있다. 도 2에서와 같이, 도 3은 또한, 하나 이상의 부하들(205A-205F)을 도시하며, 제어되는 물질(예컨대, 액체 또는 가스)이 이러한 하나 이상의 부하들(205A-205F)에 전달된다.
[0029] 도 3에는, 4개의 에이전트들(A, B, C 및 D)이 도시된다. 도 3에서, 각각의 에이전트는 하나의 펌프(201A-201D) 및 하나 이상의 다른 디바이스들(203, 205)을 제어한다. 일 실시예에서, 각각의 에이전트는 개개의 펌프에 또는 개개의 펌프 상에 위치될 수 있다. 에이전트는 패널(panel) 또는 다른 프로세싱(processing) 디바이스에 위치될 수 있다. 다중-에이전트 제어 시스템에서의 각각의 에이전트는, 적어도 하나의 센서로부터의 데이터에 기반하여 로컬 최적화 흐름 계획을 계산하도록, 로컬 최적화 흐름 계획을 복수의 구성요소들 중 적어도 하나의 다른 구성요소에 통신하여 최적화 시스템 흐름 계획을 협상하도록, 그리고 적어도 하나의 액추에이터를 통해 최적화 시스템 흐름 계획을 구현하도록 구성된 프로세서를 포함할 수 있다. 각각의 에이전트는 적어도 하나의 다른 에이전트와 통신하도록 구성된 통신 인터페이스를 더 포함할 수 있다. 에이전트는 제어 시스템에서 디바이스들 중 하나 이상을 제어할 수 있다. 디바이스들 각각은 에이전트들 중 단 하나에 의해서만 제어될 수 있다. 도 3에서, 예컨대, 에이전트들은 개개의 점선 내의 디바이스들을 제어하도록 구성된다.
[0030] 각각의 에이전트는 하드웨어(hardware) 또는 소프트웨어로 구성될 수 있다. 일 실시예에서, 에이전트는, 시스템에서 디바이스에 위치된(예컨대, 펌프 상에 위치된) 마이크로프로세서(microprocessor) 및 메모리를 포함한다. 에이전트들의 디바이스들 사이의 물리적 연결들은 도 3에서 다이어그램의 에지들(207)에 의해 도시된다. 에이전트들은 직접적으로 또는 간접적으로 서로 통신할 수 있다. 직접 통신은 유선, 무선 또는 임의의 다른 유형의 연결일 수 있다. 간접 통신은 인터넷(internet)을 통한, 광역 네트워크를 통한, 또는 클라우드 컴퓨팅(cloud computing) 네트워크들을 통한 통신을 포함할 수 있다. 일 실시예에서, 각각의 에이전트는 공유 자원들을 포함하는 다른 에이전트들과만 통신할 수 있다. 예컨대, 라인들(209)에 의해 에이전트들에 대해 위에서 도시된 통신 연결들에서, 예컨대 에이전트 A는 에이전트 B 및 에이전트 C와 통신한다. 에이전트 B는 에이전트 A 및 에이전트 D와 통신한다. 에이전트 C는 에이전트 A 및 에이전트 D와 통신한다. 에이전트 D는 에이전트 A 및 에이전트 C와 통신한다. 다른 통신 어레인지먼트들이 사용될 수 있는데, 이를테면, 하나의 에이전트가 단 하나의 다른 에이전트와 통신하거나 또는 모든 다른 에이전트들과 통신한다.
[0031] 에이전트는 지능형일 수 있는데, 예컨대, 상이한 시나리오(scenario)들에 적응할 수 있다. 지능형이 되기 위하여, 에이전트는 자신의 환경의 변화들에 시기적절하게 반응하도록, 그리고 이 변화들 및 기능 ―이 기능을 위해 에이전트가 구성됨― 에 기반하여 어떤 액션을 취하도록 구성될 수 있다. 지능형 에이전트는 추가로, 자신만의 이익에 따라 행동하도록 구성될 수 있다. 예컨대, 지능형 에이전트들은 목표-지향적인 거동을 나타낼 수 있다. 목표-지향적인 거동은, 에이전트가 자신의 목표들을 달성하기 위하여 자신의 거동을 변화시킬 수 있음을 암시한다. 예컨대, 에이전트의 목표들을 충족시키기 위해 에이전트가 필요로 하는 서비스(service)들을 갖는 다른 에이전트와의 통신을 에이전트가 잃으면, 에이전트는 동일한 서비스들을 제공하는 다른 에이전트를 검색할 것이다. 부가하여, 지능형 에이전트들은 다른 지능형 에이전트들과 상호작용하도록 구성될 수 있다. 에이전트들 사이의 상호작용은 상이한 소프트웨어 및 하드웨어 엔터티(entity)들 사이의 데이터의 단순한 송신 이상을 포함할 수 있다. 오히려, 지능형 에이전트는 협력 방식으로 협상 및 상호작용하도록 구성될 수 있다.
[0032] 시스템에서의 각각의 에이전트는 이러한 각각의 에이전트의 제어 하에 있는 디바이스들에 대해 병렬로 최적의 동작 매개변수 값들을 컴퓨팅하도록 구성될 수 있다. 소정의 매개변수 값들은 에이전트들 사이에서 공유될 수 있다. 예컨대, 2개의 상이한 에이전트들에 의해 제어되는 2개의 디바이스들이 공급부를 공유할 수 있다. 각각의 에이전트는 로컬 환경을 최적화하는 기능으로서 독립적으로 공급부에 대한 매개변수 값들을 계산한다. 에이전트들은 개개의 최적의 매개변수 값들을, 각자의 연결된 이웃 에이전트들에 통신한다. 각각의 에이전트에 대한 매개변수 값들을 계산하기 위해 최적화 솔버 알고리즘이 사용될 수 있다. 최적화 솔버는 또한, 시스템에 대한 전역 최적화 솔루션을 협상하기 위해 사용될 수 있다. 에이전트들이 공유 디바이스들에 대한 매개변수 값들을 교환한 후에, 에이전트들은 최적화 솔버를 사용하여 로컬 최적화를 다시 컴퓨팅한다. 에이전트들이 새로운 최적의 매개변수 값들을, 각자의 연결된 이웃 에이전트들에 통신하여서, 시스템이 해야 할 것에 대한 합의에 도달할 때까지 프로세스는 반복된다. 예컨대, 최적화 솔버에 의해 결정된 에이전트들과 현재 시스템 상태 사이에는 자원들의 최적의 분배가 있다. 합의는 또한, 수렴(동의)으로 지칭될 수 있다.
[0033] 에이전트들 사이의 데이터 교환은 물리적 네트워크와 통신 네트워크 둘 모두에 의해 정의된다. 에이전트들의 통신 네트워크, 예컨대, 전자 통신 네트워크 ―유선 또는 무선 데이터 전송― 는 결함에 잘 견디도록 그리고 쉽게 업그레이드가능(upgradable)하도록 구성될 수 있다. 중앙집중적 솔루션 또는 분산 솔루션에서의, 위에서 설명된 2개의 주요 단점들은 결함 내성과 적응성이다.
[0034] 에이전트들 각각은 최적화 알고리즘을 저장 및 실행하도록 구성될 수 있다. 각각의 에이전트는 에이전트에 대한 최적의 상태, 다른 에이전트들과의 공유 매개변수 값들, 그리고 예컨대 시스템 전체를 해결하도록 구성될 수 있다. 예컨대, 데이터의 일부만이 에이전트에 이용가능해질 수 있다. 예컨대, 도 3에서 도시된 바와 같이, 에이전트 B에 데이터를 보고하는 센서들은 에이전트 A에는 데이터를 보고하지 않을 수 있다. 도 3의 시나리오에서, 에이전트 A는 예컨대 디바이스(203D 또는 203F)로부터 데이터를 수신하지 않을 수 있다. 에이전트 A는, 전체로서 전체 시스템이 아니라, 공유 매개변수 값들이 주어지면 로컬 환경에 대한 최적화된 매개변수 값들을 계산하도록 구성될 수 있다. 많은 시스템들에서, 임의의 주어진 시간에 유한한 양(amount)의 자원들이 있다. 시스템에서의 디바이스들 각각의 총 수요들이 공급을 초과할 수 있다. 최적으로 기능하기 위하여, 시스템은 하나 이상의 목표들을 달성하도록 자원들을 할당한다. 목표들은 예컨대 안전한 동작 환경을 유지하는 것, 대부분의 디바이스들에 가장 큰 이득을 제공하는 것, 결과들을 최대화하는 것, 비용들을 최소화하는 것 등을 포함할 수 있다. 목표들은, 사용자에 의해 입력되어 최적화 솔버에 프로그래밍될(programmed) 수 있다. 따라서, 최적화 솔버는 안전 또는 편안함과 같은 다른 표준들을 유지하면서, 시스템의 특정 양상을 최적화하도록 구성될 수 있다. 로컬 환경과 전역 환경 둘 모두에 대해 최적으로 기능하는 전역 솔루션을 제공하기 위해, 에이전트 A는 로컬 최적화 매개변수 값들을 다른 에이전트들에 통신한다. 각각의 에이전트는, 각각의 에이전트가 보유하는 정보가 주어지면, 저장된 최적화 솔버를 사용하여, 최적화 솔루션을 해결한다. 최적화된 로컬 솔루션을 컴퓨팅한 후에, 에이전트들은 각자의 공유 값들을 연결된 에이전트들에 통신한다. 복수의 반복들 후에, 에이전트들은, 각각의 에이전트로부터의 입력(및 그러한 입력들 중 일부 입력들의 공유 특성)이 주어지면, 전체 시스템의 최적의 상태에 대한 합의에 이를 수 있다. 합의 또는 수렴은, 하나 이상의 최적화 솔버들을 사용하여 에이전트들 사이에서 결정된다.
[0035] 최적화 솔버들은 최적화 솔루션을 해결하기 위해 상이한 방법을 사용할 수 있다. 솔버는 상이한 유형들의 결과들을 해결하도록 구성될 수 있다. 예컨대, 하나의 솔버가 안전 수준을 유지하면서, 최적화된 결과들을 생성하려고 시도할 수 있다. 다른 솔버는 소정의 동작 수준을 유지하면서, 최적화된 비용 절감(savings)을 생성하려고 시도할 수 있다. HVAC에 대한 예에서, 소정의 영역들은 특정 온도 미만으로 또는 특정 온도를 초과하여 유지될 것을 필요로 할 수 있다. 다른 영역들은 가변적인 표준들을 가질 수 있다. 솔버는 솔루션을 계산할 때 요건들 또는 목표들 각각을 고려할 수 있다. 합의를 해결하기 위한 하나의 방법은 교번 방향 승수법(alternating direction method of multipliers)을 사용하는 것이다. ADMM은 볼록(convex) 최적화 문제들을 더 작은 부분들로 쪼갬으로써 ―그러면, 이러한 더 작은 부분들 각각은 핸들링(handle)하기가 더 쉬움― 이러한 볼록 최적화 문제들을 해결하는 알고리즘이다. ADMM은 동등성 제약조건(equality constraint)들에 종속되는 함수의 로컬 최소치 및 최대치를 찾기 위해 라그랑지안(Lagrangian) 알고리즘을 사용할 수 있다. 방법들은 증강(augmented) 라그랑지안 방법들을 포함할 수 있고, 이러한 증강 라그랑지안 방법들은 또한, 분산 최적화에 사용되었다. 증강 라그랑지안 방법들은 제약적(constrained) 최적화 문제들을 해결하기 위한 소정의 부류의 알고리즘들이다. 증강 라그랑지안 방법들은, 이 방법들이 제약적 최적화 문제를 일련의 비제약적 문제들로 대체하고 목적에 페널티(penalty) 항을 부가한다는 점에서, 페널티 방법들과의 유사성들을 포함한다. 증강 라그랑지안 방법은 라그랑지 승수(Lagrange multiplier)를 모방하도록 설계된 또 다른 항을 부가한다.
[0036] 증분 버전(incremental version)들을 포함하여, 구배(gradient) 및 하위-구배(sub-gradient) 방법들과 같은 다른 방법들이 합의에 도달하기 위해 사용될 수 있다. 이들 방법들은 각각의 노드(node)에서의 컴퓨테이셔널(computational) 단순성, 및 이론적 강건성 보장(robustness guarantee)들을 제공할 수 있다. 다른 방법들은, 다른 것들 중에서, ECOS, 원추(conic) 최적화 문제들에 대한 솔루션들을 컴퓨팅하기 위한 소프트웨어 패키지(package), 대규모 선형 프로그래밍(LP; linear programming), 혼합 정수 프로그래밍(MIP; mixed integer programming) 및 다른 관련 문제들을 해결하기 위한 GNU 선형 프로그래밍 키트(GLPK; GNU Linear Programming Kit) 소프트웨어 패키지, IPOPT, 연속 시스템들의 대규모 비선형 최적화를 위한 소프트웨어 라이브러리(library) 등과 같은 솔버들을 사용하는 것을 포함할 수 있다.
[0037] 일 실시예에서, 중앙 최적화기는 에이전트들에 대한 최적화 문제를 조정하기 위해 사용될 수 있다. 각각의 에이전트는, 로컬 최적화를 컴퓨팅하여 솔루션을 중앙 최적화기에 송신할 수 있다. 중앙 최적화기는 시스템에 대한 최적화된 솔루션을 식별할 수 있다.
[0038] 결함의 경우에, 전체 시스템은 에이전트들의 탈중앙집중화에 기인하여 복구되도록 구성될 수 있다. 예컨대, 펌프(201B)가 고장나면, 에이전트 B는 문제를 식별하고 자신의 매개변수 값들을 조정할 수 있다. 펌프(201B)의 고장은 또한, 에이전트 A의 밸브(203B)의 동작에 영향을 준다. 공유 펌프 또는 디바이스가 고장나면, 각각의 에이전트는 로컬 최적화를 컴퓨팅할 때 고장을 고려한다. 그런 다음, 합의를 결정할 때, 고장 또는 결함은 다른 에이전트들에 통신될 수 있다. 펌프(201B)에서의 고장의 예에서, 에이전트 B는 먼저, 로컬 환경을 최적화하고, 그런 다음, 공유 매개변수 값들을 다른 에이전트들에 송신한다. 이 시나리오에서, 에이전트 B는 펌프(201B)로부터 오는 흐름에 대한 할당은 없음을 에이전트 A에게 통보할 것이다. 그런 다음, 에이전트 A는 에이전트 B로부터의 데이터를 사용하여 자신의 환경을 조정할 것이다.
[0039] 각각의 에이전트는, 물리적 네트워크와 통신 네트워크 둘 모두를 커플링(coupling)함으로써, 시스템 결함 및 설계 결점(defect)들, 이를테면, 고아 에지를 검출하도록 구성될 수 있다. 고아 에지가 2개의 에이전트들 사이의 물리적 링크(link)로서 정의되는 한편, 이러한 2개의 에이전트들은 통신 계층에서 정보를 교환하지 않고 있다. 그러므로, 시스템에 고아 에지가 존재할 때, 합의 및 동기화는 부가적인 통신 노력 없이는 달성하기가 더 어렵다. 에이전트는 자동으로 고아 에지의 존재 및 위치를 식별하고, 고아 에지의 존재에도 시스템의 동기화 및/또는 합의 그리고 최적의 동작을 보장하기 위해 멀티-홉 프로토콜(multi-hop protocol)을 적용하도록 통신 시스템을 재구성할 수 있다. 결함이 검출된 후에, 에이전트들은, 현재 시스템 구성을 사용하여 결함이 다루어질 수 있는지를 자동으로 결정했다. 부가적인 고아 에지들이 도입되면, 재구성이 수행된다.
[0040] 탈중앙집중적 다중-에이전트 제어 시스템은 최적화된 상태를 다양한 간격들로 계산할 수 있다. 예컨대, 탈중앙집중적 다중-에이전트 제어 시스템은 최적화된 상태를 매 초마다, 매 5 초마다, 매 분마다, 매 시간마다 등으로 자동으로 결정할 수 있다. 최적화된 상태를 결정하는 빈도는 센서들에 의해 수집된 데이터 및 시스템에 의해 요구되는 정밀도에 따라 좌우될 수 있다. 예컨대, 건물 환경에서, 물 시스템의 요건들은 끊임없는 조정들을 필요로 하는 전력 시스템의 요건들보다 더 느리게 변화할 수 있다. AC 시스템의 경우, 시스템이 내부 및 외부 환경 인자들에 맞춰 가고 있음을 확인하기 위해, 건물 온도 및 물 필요들은 매 5 분마다 또는 매 10 분마다 조정될 수 있다. 결함의 경우에, 시스템은 즉시 재최적화될 수 있다.
[0041] 일 실시예에서, 흐름 제어 시스템에 부가적인 디바이스들 또는 에이전트들이 도입될 수 있다. 각각의 에이전트는, 시스템에 대한 자주 변화되는 설정들을 식별하는 구성 계층의 사본(copy)을 포함할 수 있다. 시스템에 대한 자주 변화되는 설정들은 예컨대 텍스트 파일(text file)들(예컨대, 초기화 파일)에 저장될 수 있다. 사용자들은, 알고리즘의 소스 코드를 이해하기 위해 시간을 소비하지 않고, 설정들을 쉽게 변화시킬 수 있다. 구성 계층은 상이한 종류들의 설정들, 예컨대, 정적 설정 및 동적 설정을 포함할 수 있다. 정적 설정들은 알고리즘 매개변수들 및 문제의 정적 변수들, 이를테면, 최적화 솔버들에 대한 변수들, 구성요소들의 우선순위에 대한 가중치들, 네트워크 토폴로지(topological) 연결들 등을 포함할 수 있다. 동적 설정들은 하나 이상의 센서들을 통해 측정되는, 시스템에 관한 정보를 포함한다. 동적 설정들은 최적화 계층에 대한 입력으로서의 역할을 한다. 이 정보는 펌프들, 파이프(pipe)들, 밸브들, 싱크(sink)들(부하들), 결함들 등에 관한 측정들을 포함한다. 포함된 정보 및 구성 계층은, 각각의 에이전트가 정적 및/또는 동적 매개변수들의 최근 목록을 유지하도록, 에이전트들 사이에서 통신될 수 있다. 디바이스 또는 에이전트를 부가하기 위해, 구성 계층은 새로운 디바이스 또는 에이전트에 대한 설정들을 이용하여 업데이트된다(updated).
[0042] 각각의 에이전트는 또한, 최적화 계층을 포함할 수 있다. 최적화 계층은 제어 시스템을 최적화하기 위한 하나 이상의 모듈들을 포함한다. 최적화 계층은, 구성 계층으로부터의 정보를 입력하고 그런 다음 수학 모델링 언어 모듈을 사용하여 문제(목적 함수 및 제약조건들)를 공식화하는 문제 공식화기 모듈을 포함할 수 있다. 수학 모델링 언어 모듈은 수학적 모델링 언어, 예컨대, CVXPY(파이썬-기반(Python-based) 수학적 모델링 언어)에 의해 제공되는 최적화 라이브러리일 수 있다. 수학 모델링 언어를 사용하는 이득은, 시스템이 상이한 솔버들을 사용하는 데 유용하게 한다는 것이다. 각각의 솔버가 사유 입력 데이터 포맷(format) 및 특정 문제 공식화(formulation)를 갖기 때문에, 수학 모델링 언어 없이는, 솔버들을 변화시키기 위한 상당한 소프트웨어 개발 노력이 있을 수 있다. CVXPY는 고-수준 문제 공식화를 솔버-특정 데이터 포맷들로 전환하는 컴파일러(compiler)의 역할을 할 수 있다. 문제는 중앙집중적 또는 탈중앙집중적 문제로서 공식화될 수 있다. 그런 다음, 공식화된 문제는 최적화기 모듈에 통신된다. 최적화기 모듈은, 예컨대 ECOS 및 GLPK 솔버들과 같은 최적화 솔버들의 세트(set)로의 액세스(access)를 제공한다.
[0043] 디바이스를 부가하거나 또는 제거하기 위해, 사용자는 예컨대 새로운 펌프를 부가함으로써 초기화 파일에서의 설정들을 변화시킬 수 있다. 시스템은, 디바이스로부터의 새로운 입력들을 포함하도록 최적화 솔버를 자동으로 조정할 수 있다. 예컨대, 새로운 부하 또는 펌프는 최적화 솔버가 해결하도록 다른 매개변수 값을 부가할 수 있지만, 최적화 솔버에 대한 목표를 변화시키지는 않을 수 있다.
[0044] 도 4는 도 3의 탈중앙집중적 다중-에이전트 제어 시스템을 사용한 흐름 제어를 위한 예시적인 방법을 도시한다. 동작들은 도 3의 시스템, 도 5의 시스템 또는 다른 시스템들에 의해 수행된다. 부가적인, 상이한, 또는 더 적은 수의 동작들이 제공될 수 있다. 동작들은 도시된 순서로(예컨대, 위에서 아래로) 또는 다른 순서들로 수행된다. 도 4의 작업흐름의 단계들은 반복될 수 있다. 탈중앙집중적 다중-에이전트 제어 시스템의 출력, 예컨대, 명령들 또는 매개변수 값들의 세트는, 다수의 제어기들에 대해 다음의 단계들이 수행되는 병렬 조정 방식을 사용하여 달성될 수 있다: (A110) 모든 제어기들이 각자의 최적의 매개변수 값들을 병렬로 또는 순차적으로 컴퓨팅하고, (A120) 제어기들이 입력 및 출력 변수들을 상호연결하는 각자의 최적 매개변수 값들을 각자의 이웃들에 통신하고, (A130) 제어기들이 변수들의 수신된 값들에 기반하여 각자의 매개변수 값들을 업데이트(update)하여 이러한 매개변수 값들을 각자의 이웃들에 통신한다. A110-A130은 수렴(동의)에 도달할 때까지 반복된다.
[0045] 탈중앙집중적 다중-에이전트 제어 프레임워크의 에이전트들은 로컬 문제를 해결하고, 다른 에이전트들과 각자의 솔루션들을 통신하며, 그리고 수신된 새로운 정보에 기반하여 로컬 솔루션 프로세스를 반복한다. 에이전트들은, 로컬 제약조건들을 만족시키면서 전체 다중-에이전트 시스템에 대한 소정의 성능 기준을 최적화하는 공통 솔루션에 동의한다. 이러한 분산 최적화 방식은 중앙집중적 패러다임(paradigm)들과 비교하여 컴퓨테이셔널 및 통신 절감으로 이어진다.
[0046] 도 3의 로컬 디바이스, 예컨대, 지능형 펌프는, 이 펌프 및 다른 연결된 구성요소들을 제어하는 로컬 에이전트로 구성될 수 있다. 대안적인 실시예들에서, 에이전트 및/또는 로컬 제어기가 다수의 디바이스들 또는 펌프들을 제어할 수 있다.
[0047] 동작(A110)에서, 복수의 에이전트들 중 일 에이전트에 의해 하나 이상의 로컬 매개변수 값들이 최적화된다. 하나 이상의 로컬 매개변수들은 예컨대 다른 것들 중에서 유량, 온도, 최소 급수, 최대 급수, 최소 응답 시간, 압력, 부피일 수 있다. 값들을 계산하기 위한 입력들은 디바이스에 부착된 하나 이상의 센서들로부터 획득될 수 있다. 예컨대, 각각의 펌프는 펌프의 유량을 측정하는 유량 센서를 포함할 수 있다. 부가적으로, 펌프에 부착된 하나 이상의 디바이스들은 일정 수준의 흐름, 예컨대 부하를 요청하거나 또는 요구할 수 있다. 예컨대, AC 유닛은, 저녁과는 대조적으로 대낮에 실행될 때 부가적인 물을 필요로 할 수 있다. AC 유닛은, 요구된(또는 요청된) 부하를 결정하는 하나 이상의 센서들을 더 포함할 수 있다. 센서 데이터는 펌프 프로세서 또는 에이전트에 송신되어 동적 설정들에 저장될 수 있다. 제한들 또는 다른 동작 매개변수들이 알려져 있거나, 측정되거나 또는 계산된다.
[0048] 로컬 매개변수 값들의 최적화는, 하나 이상의 최적화 알고리즘들을 사용하여 결정될 수 있다. 로컬 매개변수들에 대한 최적화된 값들을 결정하기 위해 임의의 알고리즘이 사용될 수 있다. 에이전트는 하나 이상의 센서들로부터 수신된 다수의 변수들을 입력할 수 있다. 에이전트는 하나 이상의 요청들에 대한 데이터, 예컨대, 물의 흐름 또는 부피를 수신할 수 있다. 에이전트는 하나 이상의 공급 채널(channel)들에 대한 데이터, 예컨대 이용가능한 흐름 또는 부피의 양을 수신할 수 있다. 에이전트는 또한, 하나 이상의 입력들 또는 변수들을 다른 에이전트들과 공유할 수 있다. 예컨대, 하나의 소스가 2개의 펌프들을 공급할 수 있는데, 하나의 펌프는 제1 에이전트에 의해 제어되고 하나의 펌프는 제2 에이전트에 의해 제어된다. 제1 에이전트에 의해 제어되는 다른 디바이스들은, 예컨대, 제2 에이전트와는 대조적으로 제1 에이전트에 할당되는 물의 양에 따라 좌우될 수 있다. 할당을 결정하기 위해 제1 에이전트는 제2 에이전트(및 다른 에이전트들)와 통신한다.
[0049] 동작(A120)에서, 복수의 에이전트들은, 이러한 복수의 에이전트들의 각각의 에이전트에 대한 하나 이상의 최적화된 로컬 매개변수 값들이 주어지면, 최적화된 공유 솔루션을 결정하기 위해 협상한다. 에이전트들은 다른 에이전트들과 디바이스들의 양상들(공급, 수요 등)을 공유할 수 있다. 각각의 에이전트는 이러한 각각의 에이전트의 제어 하에 있는 디바이스들에 요청 할당을 제공한다. 할당 요청들은 일치하지 않을 수 있다. 예컨대, 2개의 에이전트들이 단일 공급부를 공유하면, 에이전트들 둘 모두는 로컬 환경을 최적화하기 위하여 공급부의 100%를 요청할 수 있다. 각각의 에이전트에 저장된 최적화 솔버는, 공유된 요청들 및 로컬 매개변수 값들에 기반하여, 최적화된 솔루션을 식별한다. 최적화된 솔루션은 새로운 매개변수 값들을 포함하며, 그런 다음, 새로운 공유 매개변수 값들은 연결된 에이전트들에 송신된다. 동작(A130)에서, 하나 이상의 로컬 매개변수들에 대한 값들은 최적화된 공유 솔루션의 함수로써 에이전트에 의해 재-최적화된다. 각각의 에이전트는 A110에서와 같이 최적의 매개변수 값들을 컴퓨팅하지만, 또한, A120에서 결정된 상호연결 변수들이 최적화될 것을 이제 고려하여, 그리고 공유 매개변수들에 대한 고정 값들을 이제 사용하여 컴퓨팅한다. A120 및 A130의 동작들은 반복될 수 있는데, 예컨대, 에이전트가 로컬 환경을 최적화하고, 그런 다음, 로컬 환경을 변경하는 새로운 공유 매개변수들을 식별하기 위해 다른 에이전트들과 협상하며, 그런 다음, 이러한 로컬 환경은 재최적화된다.
[0050] 각각의 에이전트는, 자신의 로컬 시점(viewpoint)에 따른, 상호연결 변수들의 바람직한 값들의 세트를 자신의 이웃 에이전트들에 통신하도록 구성된다. 예컨대, 공유 매개변수의 경우, 에이전트는 자신만의 이득을 위해 매개변수를 최대화하려고 시도할 수 있다. 건물을 위한 물 제어 시스템의 경우에, 에이전트는, 요청 할당이 다른 제어기들과 동일한지에 관계 없이, AC 유닛에 대한 자신만의 물 사용을 최대화하려고 시도하길 원할 수 있다(이 지점에서, 에이전트들이 전체로서 시스템을 고려하지 않고 로컬 환경을 최대화하려고 시도한다는 점에서, 각각의 에이전트는 독립적으로 동작함). 에이전트로부터의 초기 요청은 다른 에이전트로부터의 요청들과 양립되지 않을 수 있는데, 그 이유는 각각의 에이전트가 각자만의 환경을 최대화하려고 시도하기 때문이다. 에이전트들은 모여서 공유 자원들을 사용하는 방법에 대한 합의를 결정한다. 궁극적으로, 공유 매개변수들 각각에 대한 값들은, 예컨대, 시스템 전체에 대한 최대 또는 최적의 이득이 도출되는 수렴에 도달하도록 협상된다. 예컨대, 공유 매개변수들이 변화되지 않을 때, 합의에 도달할 수 있다. 공유 자원들의 사용을 위한 에이전트들 사이의 합의를 결정할 때, 소정의 디바이스들 또는 에이전트들은 더욱 많이 가중될 수 있는데, 예컨대, 임대인(lessor) 디바이스들에 비해 우선순위화될 수 있다.
[0051] 최적화들의 솔루션을 사용하여 공유 매개변수들의 값들(예컨대, ADMM을 사용할 때, 라그랑지 승수들)을 업데이트(updating)하고, 그런 다음, 공유 매개변수 값들이 하나의 반복으로부터 다음 차례의 반복까지 (작은 수치 공차에 대해) 더 이상 변화되지 않을 때까지 최적화들을 반복함으로써, 수렴이 획득될 수 있다. 서브네트워크 모델(subnetwork model) 제약조건들의 목적 함수 및 선형성에 대한 볼록성(convexity) 가정들 하에서, 그러한 방식으로 분산 제어 문제를 해결하는 것은, 전체 네트워크를 고려하는 중앙집중적 제어 문제의 최적의 솔루션으로 이어진다.
[0052] 동작(A140)에서, 재-최적화된 하나 이상의 로컬 매개변수 값들을 이용하여 에이전트에 의해 흐름 제어 계획이 구현된다. 구현은 하나 이상의 커맨드(command)들, 설정점들 또는 명령들을, 에이전트에 의해 제어되는 디바이스들에 송신하는 것을 포함할 수 있다. 예컨대, 흐름 제어 계획은 하나의 디바이스에 일정량의 자원을 할당할 수 있다. 에이전트는, 흐름 제어 계획에 기반하여 그러한 양의 자원이 디바이스로 흐를 수 있게 하기 위해 디바이스 및 임의의 다른 디바이스를 조정한다. 흐름 제어 계획은, 규칙적인 간격으로, 또는 시스템에 대한 변화 또는 결함의 경우에, 업데이트될 수 있다.
[0053] 에이전트들에 대한 통신 네트워크는 결함 회복력(fault resilient)이 있도록 구성될 수 있다. 어느 에이전트들이 어느 디바이스들을 제어하는지 그리고 어느 에이전트들이 다른 에이전트들에 통신하는지를 구성할 때, 고아 에지들이 금지되거나 또는 우회 설계될(designed around) 수 있다. 고아 에지는 2개의 에이전트들 사이의 물리적 링크이며, 이 물리적 링크에서는, 이들 2개의 에이전트들이 통신 계층에서 정보를 교환할 수 없다. 시스템에 고아 에지가 존재할 때, 합의 및 동기화는 부가적인 통신 노력 없이는 달성하기가 더 어렵다. 흐름 제어 시스템 및 통신 네트워크의 구성 동안, 고아 에지의 존재 및 위치가 결정될 수 있다. 통신 시스템은, 고아 에지의 존재에도, 시스템의 동기화/합의 및 최적의 동작을 보장하기 위해 멀티-홉 프로토콜을 적용하도록 재구성될 수 있다.
[0054] 시스템의 셋업(setup) 또는 구성 동안, 어느 물리적 및/또는 통신 링크가 중요한지에 관한 정보가 결정될 수 있다. 오프라인(offline) 설계 프로세스는, 각각의 에지에서 결함이 발생한다고 가정함으로써 수행할 수 있다. 결함들의 결과들을 구현 및 식별하도록 시뮬레이션(simulation)이 실행될 수 있다. 결함이 부가적인 고아 에지를 도입시키지 않고 시스템의 재구성을 트리거(trigger)하지 않으면, 이 에지는 중요한 에지로서 간주되지 않는다. 중요한 에지들의 경우, 시스템은 부가적인 통신 경로들 또는 리던던시를 포함하도록 구성될 수 있다. 이러한 방식으로, 구성 프로세스는 더욱 효율적일 수 있으며, 더욱 강건한 시스템을 제공할 수 있다.
[0055] 부가적으로, 셋업 또는 구성 동안, 사용 사례(use case)에 대한 회복력 메트릭(resilience metric)을 컴퓨팅하기 위해 회복력 메트릭 계산 방법이 사용될 수 있다. 예컨대, 냉각 시스템이 비정상(결함, 손상 등) 이벤트(event)들 동안 열 부하들에 냉각을 제공하는 선박의 경우, 선박의 회복력은 수치 메트릭의 형태로 정량화되며, 통신 경로들을 식별하기 위해 재구성 프로세스 동안 목적 공식화에서 사용된다. 시스템은 물리적 및 통신 시스템에서 고장 및 불안정성 둘 모두에 대해 더욱 회복력이 있어서, 더 적은 유지보수 비용을 야기한다.
[0056] 동작 동안, 결함이 검출되면, 제어 시스템은, 현재 시스템 구성을 사용하여 결함이 다루어질 수 있는지를 자동으로 결정할 수 있다. 부가적인 고아 에지가 도입되면, 시스템은 통신 네트워크를 재구성할 수 있다. 전체 시스템 회복성(resiliency)의 성능 평가에 기반하여, 각각의 에이전트는 안정성 마진(margin)을 유지하도록 제어 액션을 적응시킬 수 있다. 결함 검출 기능과 함께, 시스템의 비용은 감소되는데, 그 이유는 비상 백업 디바이스의 수가 감소될 수 있고 또한 보안 모니터링(monitoring) 시스템이 훨씬 더 느린 시간 범위(horizon)에서 실행될 수 있기 때문이다.
[0057] 도 5는 탈중앙집중적 다중-에이전트 제어 시스템에서 에이전트의 일 실시예를 도시한다. 시스템은 복수의 에이전트들(에이전트(550), 에이전트 B(535), 에이전트 C(545), ... 에이전트 X(555)), 흐름 제어 디바이스(515) 및 센서(525)를 포함한다. 에이전트(550)는 프로세서(530), 메모리(520) 및 통신 인터페이스(540)이다. 부가적인, 상이한, 또는 더 적은 수의 구성요소들이 제공될 수 있다. 예컨대, 다른 디바이스들이 에이전트(550)에 의해 제어되거나 또는 부착될 수 있다. 복수의 에이전트들 각각은 서로에 대한, 그리고 다른 디바이스들에 대한 물리적 및 통신 연결들을 유지할 수 있다. 환경 데이터를 수집하기 위한 센서들과 같이, 다른 입력들이 제공될 수 있다. 운영자가 데이터를 입력하도록, 사용자 인터페이스를 갖는 워크스테이션(workstation)이 제공될 수 있다.
[0058] 흐름 제어 디바이스(515)는 펌프일 수 있다. 센서(525)는 흐름 제어 디바이스(515) 또는 시스템의 다른 디바이스들로부터 정보를 획득하도록 구성될 수 있다. 에이전트(550)는 흐름 제어 디바이스(515)의 동작을 제어하도록 구성된다. 에이전트(550)는 흐름 제어 디바이스(515), 센서(525) 또는 다른 에이전트들로부터 입력 데이터를 수신할 수 있다. 에이전트(550)는 추가로, 예컨대 운영자 또는 엔지니어에 의한, 사용자 인터페이스로부터의 입력을 수신할 수 있다.
[0059] 메모리(520)는 그래픽스(graphics) 프로세싱 메모리, 비디오 랜덤 액세스(video random access) 메모리, 랜덤-액세스(random-access) 메모리, 시스템 메모리, 캐시(cache) 메모리, 하드 드라이브(hard drive), 광학 매체, 자기 매체, 플래시(flash) 드라이브, 버퍼(buffer), 데이터베이스(database), 이들의 결합들, 또는 데이터를 저장하기 위한 다른 현재 알려진 또는 나중에 개발되는 메모리 디바이스일 수 있다. 메모리(520)는 서버(server)(550)의 일부, 프로세서(530)와 연관된 컴퓨터(computer)의 일부, 데이터베이스의 일부, 다른 시스템의 일부, 또는 자립형 디바이스이다. 메모리(520)는 에이전트(550)에 대한 구성 데이터 및 최적화 데이터를 저장할 수 있다. 메모리(520)는 솔버 알고리즘을 구현하도록 구성된 명령 세트 또는 컴퓨터 코드를 저장할 수 있다.
[0060] 메모리(520)는 시스템에 대한 자주 변화되는 설정들을 식별하는 구성 계층의 사본을 저장할 수 있다. 시스템에 대한 자주 변화되는 설정들은 예컨대 텍스트 파일들(예컨대, 초기화 파일)에 저장될 수 있다. 사용자들은, 알고리즘의 소스 코드를 이해하기 위해 시간을 소비하지 않고, 설정들을 쉽게 변화시킬 수 있다. 구성 계층은 정적 설정 및 동적 설정의 종류들을 포함할 수 있다. 정적 설정들은 알고리즘 매개변수들 및 문제의 정적 변수들, 이를테면, 솔버들의 옵션(option), 네트워크 토폴로지 연결들, 구성요소 가중치들 등을 포함한다. 동적 설정들은 하나 이상의 센서들을 통해 측정되는, 시스템에 관한 정보를 포함한다. 동적 설정들은 최적화 계층에 대한 입력으로서의 역할을 한다. 이 정보는 펌프들, 파이프들, 밸브들, 싱크들(부하들), 결함들 등에 관한 측정들을 포함한다. 포함된 정보 및 구성 계층은, 각각의 에이전트(550)가 정적 및/또는 동적 매개변수 값들의 최근 목록을 유지하도록, 에이전트들 사이에서 통신될 수 있다.
[0061] 디바이스를 부가하거나 또는 제거하기 위해, 사용자는 예컨대 새로운 펌프를 부가함으로써 초기화 파일에서의 설정들을 변화시킬 수 있다. 에이전트(550)는 새로운 펌프에 관한 데이터를 포함하는 데이터를 끌어당기는 최적화 알고리즘을 자동으로 조정할 수 있고, 따라서 시스템은 안정 상태로 유지된다.
[0062] 메모리(520) 또는 다른 메모리는 대안적으로 또는 부가적으로, 시스템에서 매개변수들의 하나 이상의 값들을 최적화하기 위해 프로그래밍된 프로세서(530)에 의해 실행가능한 명령들을 표현하는 데이터를 저장하는 비-일시적 컴퓨터 판독가능 저장 매체이다. 본원에서 논의된 프로세스들, 방법들 및/또는 기법들을 구현하기 위한 명령들은 비-일시적 컴퓨터-판독가능 저장 매체 또는 메모리들, 이를테면, 캐시, 버퍼, RAM, 착탈가능 매체, 하드 드라이브 또는 다른 컴퓨터 판독가능 저장 매체 상에 제공된다. 비-일시적 컴퓨터 판독가능 저장 매체는 다양한 유형들의 휘발성 및 비휘발성 저장 매체를 포함한다. 본원에서 설명되거나 또는 도면들에서 예시된 기능들, 동작들 또는 작업들은 컴퓨터 판독가능 저장 매체에 또는 이러한 컴퓨터 판독가능 저장 매체 상에 저장된 명령들의 하나 이상의 세트들에 대한 응답으로 실행된다. 기능들, 동작들 또는 작업들은 특정 유형의 명령 세트, 저장 매체, 프로세서 또는 프로세싱 전략에 독립적이며, 그리고 단독으로 또는 결합하여 동작하여, 소프트웨어, 하드웨어, 집적 회로들, 펌웨어(firmware), 마이크로 코드(micro code) 등에 의해 수행될 수 있다. 마찬가지로, 프로세싱 전략들은 멀티프로세싱(multiprocessing), 멀티태스킹(multitasking), 병렬 프로세싱 등을 포함할 수 있다.
[0063] 일 실시예에서, 명령들은, 로컬 또는 원격 시스템들에 의한 판독을 위해 착탈가능 매체 디바이스 상에 저장된다. 다른 실시예들에서, 명령들은, 컴퓨터 네트워크를 통한 또는 전화 라인들을 통한 전송을 위해 원격 위치에 저장된다. 또 다른 실시예들에서, 명령들은 주어진 컴퓨터, CPU, GPU 또는 시스템 내에 저장된다.
[0064] 프로세서(530)는 구성 데이터 및 최적화 데이터에 기반하여 로컬 매개변수들 및 공유 매개변수들에 대한 값들을 계산하도록 구성될 수 있다. 프로세서는 추가로, 하나 이상의 다른 에이전트들과 공유 매개변수들에 대한 값들을 협상하도록 구성될 수 있다. 프로세서는 협상된 공유 매개변수들의 함수로써 로컬 매개변수들의 값들을 재계산하도록 구성된다. 프로세서는 재계산된 값들 및 협상된 공유 매개변수들의 함수로써 흐름 제어 계획을 생성하도록 구성된다. 프로세서(530)는 제어 시스템을 최적화하기 위한 하나 이상의 모듈들을 포함할 수 있다. 최적화 모듈들은, 메모리(520)에 저장된, 구성 계층으로부터의 정보를 입력하고 수학 모델링 언어 모듈을 사용하여 문제(목적 함수 및 제약조건들)를 공식화하는 문제 공식화기 모듈을 포함할 수 있다. 수학 모델링 언어 모듈은 수학적 모델링 언어, 예컨대, CVXPY에 의해 제공되는 최적화 라이브러리일 수 있다. 문제는 중앙집중적 또는 탈중앙집중적 문제로서 공식화될 수 있다. 그런 다음, 공식화된 문제는 최적화기 모듈에 통신된다. 최적화기 모듈은, 예컨대 ECOS 및 GLPK 솔버들과 같은 최적화 솔버들의 세트로의 액세스를 제공한다.
[0065] 프로세서(530)는 일반 프로세서, 중앙 프로세싱 유닛, 제어 프로세서, 그래픽스 프로세서, 디지털(digital) 신호 프로세서, 3-차원 렌더링(rendering) 프로세서, 이미지(image) 프로세서, 주문형 집적 회로, 필드 프로그램가능 게이트 어레이(field programmable gate array), 디지털 회로, 아날로그(analog) 회로, 이들의 결합들, 또는 흐름 제어 계획을 생성하기 위한 다른 현재 알려진 또는 나중에 개발되는 디바이스이다. 프로세서(530)는 단일 디바이스이거나, 또는 직렬로, 병렬로 또는 개별적으로 동작하는 다수의 디바이스들이다. 프로세서(530)는 흐름 제어 시스템에서 펌프 또는 구성요소에 또는 이러한 펌프 또는 구성요소 가까이에 위치된 마이크로프로세서일 수 있다. 프로세서(530)는 본원에서 논의된 동작들을 수행하도록 명령들, 설계, 하드웨어 및/또는 소프트웨어에 의해 구성된다.
[0066] 본 발명이 다양한 실시예들을 참조하여 위에서 설명되었지만, 본 발명의 범위로부터 벗어나지 않고, 많은 변화들 및 수정들이 이루어질 수 있다는 것이 이해되어야 한다. 그러므로, 앞선 상세한 설명은 제한적인 것이 아니라 예시적인 것으로서 간주되며, 본 발명의 사상 및 범위를 정의하도록 의도되는 것은, 모든 등가물들을 포함하는 다음의 청구항들이라는 것이 이해되는 것이 의도된다.

Claims (20)

  1. 로컬(local) 흐름 제어 작업들을 수행하기 위한 복수의 구성요소들(535, 545, 540, ... 555)을 포함하는 탈중앙집중적 흐름 제어 시스템(system)으로서, 상기 복수의 구성요소들(535, 545, 540, ... 555) 각각은,
    하나 이상의 흐름들을 조정하도록 구성된 적어도 하나의 기계적 요소(515);
    상기 하나 이상의 흐름들을 검출하도록 구성된 적어도 하나의 센서(sensor)(525);
    상기 적어도 하나의 기계적 요소(515)를 기계적으로 조정하도록 구성된 적어도 하나의 액추에이터(actuator)(515);
    상기 복수의 구성요소들(535, 545, 550, ... 555) 중 적어도 하나의 다른 구성요소와 통신하도록 구성된 통신 인터페이스(interface)(540); 및
    상기 적어도 하나의 센서(525)로부터의 데이터(data)에 기반하여 로컬 최적화 흐름 계획을 계산하고, 상기 로컬 최적화 흐름 계획을 상기 복수의 구성요소들(535, 545, 550, ... 555) 중 적어도 하나의 다른 구성요소(535, 545, ... 555)에 통신하여 상기 복수의 구성요소들 중 상기 다른 구성요소들(535, 545, ... 555)과 최적화 시스템 흐름 계획을 협상하며, 그리고 상기 적어도 하나의 액추에이터(515)를 통해 상기 최적화 시스템 흐름 계획을 구현하도록 구성된 구성요소 프로세서(processor)(530)
    를 포함하는,
    탈중앙집중적 흐름 제어 시스템.
  2. 제1항에 있어서,
    상기 흐름 제어 시스템은 건물 물 시스템인,
    탈중앙집중적 흐름 제어 시스템.
  3. 제2항에 있어서,
    상기 기계적 요소(515)는 펌프(pump)인,
    탈중앙집중적 흐름 제어 시스템.
  4. 제1항에 있어서,
    상기 흐름 제어 시스템의 동작에 대한 하나 이상의 값들을 포함하는 초기화 데이터를 저장하도록 구성된 구성요소 메모리(520)를 더 포함하는,
    탈중앙집중적 흐름 제어 시스템.
  5. 제4항에 있어서,
    상기 구성요소 프로세서(530)는 상기 초기화 데이터를 사용하여 로컬 최적화 흐름을 계산하는,
    탈중앙집중적 흐름 제어 시스템.
  6. 제1항에 있어서,
    상기 구성요소 프로세서(530)는 합의 함수(consensus function)를 수행함으로써 상기 최적화 시스템 흐름 계획을 협상하는,
    탈중앙집중적 흐름 제어 시스템.
  7. 제6항에 있어서,
    상기 합의 함수는 교번 방향 승수법 방법(alternating direction method of multipliers method)을 포함하는,
    탈중앙집중적 흐름 제어 시스템.
  8. 제6항에 있어서,
    상기 합의 함수는 증강 라그랑지안 방법(augmented Lagrangian method)을 포함하는,
    탈중앙집중적 흐름 제어 시스템.
  9. 제1항에 있어서,
    결함(fault)이 검출된 후에, 상기 구성요소 프로세서(530)는 상기 결함을 고려하여 새로운 최적화 흐름 계획을 계산하는,
    탈중앙집중적 흐름 제어 시스템.
  10. 흐름 제어 시스템에서 복수의 에이전트(agent)들(535, 545, 540, ... 555)에 의해 흐름 제어 계획을 생성하기 위한 방법으로서,
    상기 복수의 에이전트들(535, 545, 540, ... 555) 중 일 에이전트(550)에 의해, 상기 에이전트에 의해 제어되는 구성요소들의 하나 이상의 로컬 매개변수들에 대한 값들을 계산하는 단계(A110);
    상기 에이전트(550)와 상기 복수의 에이전트들 중 연결된 에이전트들 사이에서, 하나 이상의 공유 매개변수들에 대한 값들을 협상하는 단계(A120);
    상기 에이전트(550)에 의해, 상기 협상된 값들에 기반하여 하나 이상의 로컬 매개변수들의 값들을 조정하는 단계(A130);
    상기 에이전트(550)에 의해, 상기 조정된 값들을 사용하여 로컬 흐름 제어 계획을 생성하는 단계; 및
    상기 에이전트(550)에 의해, 상기 로컬 흐름 제어 계획을 구현하는 단계(A140)
    를 포함하는,
    방법.
  11. 제10항에 있어서,
    상기 로컬 매개변수들은 적어도 유량 및 온도를 포함하는,
    방법.
  12. 제10항에 있어서,
    상기 협상하는 단계(A120)는 증강 라그랑지안 방법을 사용하여 상기 하나 이상의 공유 매개변수들의 값들에 대한 합의를 결정하는 단계를 포함하는,
    방법.
  13. 제10항에 있어서,
    상기 협상하는 단계(A120)는, 상기 복수의 에이전트들(535, 545, 540, ... 555) 사이에서 상기 하나 이상의 공유 매개변수들의 값들에 대한 합의가 결정될 때까지 반복되는,
    방법.
  14. 제10항에 있어서,
    상기 에이전트(550)에 의해 제어되는 구성요소의 결함을 검출하는 단계;
    상기 결함의 함수로써 상기 에이전트(550)에 의해 제어되는 구성요소들의 상기 하나 이상의 로컬 매개변수들에 대한 업데이트된(updated) 값들을 상기 에이전트(550)에 의해 계산하는 단계;
    상기 복수의 에이전트들(535, 545, 540, ... 555) 중 연결된 에이전트들 사이에서, 하나 이상의 공유 매개변수들에 대한 업데이트된 값들을 협상하는 단계;
    상기 협상된 값들에 기반하여 상기 하나 이상의 로컬 매개변수들의 상기 업데이트된 값들을 조정하는 단계;
    상기 업데이트된 조정된 값들을 사용하여 로컬 흐름 제어 계획을 생성하는 단계; 및
    상기 로컬 흐름 제어 계획을 구현하는 단계
    를 더 포함하는,
    방법.
  15. 건물 제어 시스템에서 지능형 물 펌프를 제어하기 위한 디바이스(550)로서,
    구성 데이터 및 최적화 데이터를 저장하도록 구성된 메모리(520);
    하나 이상의 다른 디바이스들(535, 545, 540, ... 555)과 하나 이상의 공유 매개변수들에 대한 값들을 통신하도록 구성된 통신 인터페이스(540); 및
    상기 구성 데이터 및 상기 최적화 데이터에 기반하여 로컬 매개변수들 및 공유 매개변수들에 대한 값들을 계산하도록 구성된 프로세서(530)
    를 포함하고,
    상기 프로세서(530)는 상기 하나 이상의 다른 디바이스들(535, 545, 540, ... 555)과 상기 공유 매개변수들에 대한 값들을 협상하도록 구성되고, 상기 프로세서(530)는 상기 협상된 공유 매개변수들의 함수로써 로컬 매개변수들의 값들을 재계산하도록 구성되며, 상기 프로세서(530)는 상기 재계산된 값들 및 상기 협상된 공유 매개변수들의 함수로써 흐름 제어 계획을 생성하도록 구성되는,
    디바이스.
  16. 제15항에 있어서,
    상기 프로세서(530)는 합의 함수를 사용하여 상기 값들을 협상하도록 구성되는,
    시스템.
  17. 제16항에 있어서,
    상기 합의 함수는 교번 방향 승수법 함수(alternating direction method of multipliers function)를 포함하는,
    시스템.
  18. 제15항에 있어서,
    상기 다른 디바이스들은 상기 건물 제어 시스템에서 다른 지능형 물 펌프들을 포함하는,
    시스템.
  19. 제18항에 있어서,
    상기 구성 데이터는 정적 및 동적 설정(setting)들을 포함하는,
    시스템.
  20. 제19항에 있어서,
    상기 정적 설정들은 알고리즘(algorithm) 매개변수들을 포함하고, 상기 동적 설정들 및 최적화 문제의 정적 값들은 상기 지능형 물 펌프에 연결된 하나 이상의 센서들을 통해 측정된 데이터를 포함하는,
    시스템.
KR1020207004479A 2017-07-18 2018-04-03 다중-에이전트 흐름 제어 시스템의 탈중앙집중적 계획, 스케줄링 및 제어 KR102363303B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762533718P 2017-07-18 2017-07-18
US62/533,718 2017-07-18
PCT/US2018/025877 WO2019018015A1 (en) 2017-07-18 2018-04-03 DECENTRALIZED PLANNING, PROGRAMMING, AND CONTROL OF A MULTI-AGENT STREAM CONTROL SYSTEM

Publications (2)

Publication Number Publication Date
KR20200029553A true KR20200029553A (ko) 2020-03-18
KR102363303B1 KR102363303B1 (ko) 2022-02-14

Family

ID=62063211

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207004479A KR102363303B1 (ko) 2017-07-18 2018-04-03 다중-에이전트 흐름 제어 시스템의 탈중앙집중적 계획, 스케줄링 및 제어

Country Status (7)

Country Link
US (1) US11467552B2 (ko)
EP (1) EP3639212A1 (ko)
KR (1) KR102363303B1 (ko)
CN (1) CN111373423A (ko)
CA (1) CA3070224C (ko)
SG (1) SG11202000459VA (ko)
WO (1) WO2019018015A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210157925A1 (en) * 2019-11-26 2021-05-27 International Business Machines Corporation Selective runtime activation of anti-rop defense
CN113093555B (zh) * 2021-04-14 2022-07-15 江南大学 一种多智能体全局一致性控制方法及系统
CN113204193B (zh) * 2021-05-06 2022-10-25 北京航空航天大学 飞行器故障容错控制方法、装置和电子设备
WO2023195971A1 (en) * 2022-04-05 2023-10-12 Siemens Aktiengesellschaft Prioritization between agents in agent-based process automation
CN116150930B (zh) * 2023-04-20 2023-07-18 天津智云水务科技有限公司 基于3d地图信息的供水管网水力模型节点流量初始化方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100098707A (ko) * 2007-12-17 2010-09-08 뉴 월드 파마슈티컬스, 엘엘시 통합된 피내 전달, 진단 및 통신 시스템
KR20120132510A (ko) * 2010-02-22 2012-12-05 이턴 코포레이션 유체 액추에이터를 제어하기 위한 장치 및 방법
WO2015164292A1 (en) * 2014-04-22 2015-10-29 Siemens Aktiengesellschaft Flexible control architecture for microgrid resiliency
US20150377936A1 (en) * 2014-06-29 2015-12-31 International Business Machines Corporation Distributed control of electric power grids
KR20160107359A (ko) * 2011-12-21 2016-09-13 데카 프로덕츠 리미티드 파트너쉽 유체 흐름 제어 장치

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5248577A (en) * 1990-08-13 1993-09-28 Eastman Kodak Company Reactant concentration control method and apparatus for precipitation reactions
FI123590B (fi) * 2005-09-06 2013-07-31 Bosch Gmbh Robert Venttiilijärjestelmän vikojen havaitseminen ja vikasietoinen ohjaus
US7630944B2 (en) 2006-03-17 2009-12-08 Novell, Inc. Method for consensus decision making in a distributed system
AU2010362490B2 (en) * 2010-10-13 2015-09-03 Weldtech Technology (Shanghai) Co., Ltd. Energy-saving optimized control system and method for refrigeration plant room
US10321409B2 (en) * 2013-10-28 2019-06-11 Huawei Technologies Co., Ltd. System and method for joint power allocation and routing for software defined networks
US20150379542A1 (en) * 2014-06-30 2015-12-31 Battelle Memorial Institute Transactive control framework for heterogeneous devices
US20160054712A1 (en) * 2014-08-22 2016-02-25 Siemens Industry, Inc. Combined statistical and physics based model control and performance method and system
CN104374060B (zh) * 2014-11-04 2017-02-15 清华大学 一种基于无中心网络的水泵系统控制方法
CN105045225B (zh) * 2015-06-09 2018-05-11 邻元科技(北京)有限公司 基于无中心网络的水泵系统、水泵控制器及控制方法
CN106340890B (zh) * 2016-09-27 2018-12-28 东南大学 用于协调配电网储能系统充放电效率的分布式控制方法
US9746199B1 (en) * 2017-01-05 2017-08-29 Johnson Controls Technology Company Integrated smart actuator and valve device
US10712032B2 (en) * 2017-02-21 2020-07-14 Johnson Controls Technology Company Building automation system with microservices architecture
CN106886603B (zh) * 2017-03-03 2020-07-14 东南大学 一种需求响应资源组合优化的分层分布式体系架构和方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100098707A (ko) * 2007-12-17 2010-09-08 뉴 월드 파마슈티컬스, 엘엘시 통합된 피내 전달, 진단 및 통신 시스템
KR20120132510A (ko) * 2010-02-22 2012-12-05 이턴 코포레이션 유체 액추에이터를 제어하기 위한 장치 및 방법
KR20160107359A (ko) * 2011-12-21 2016-09-13 데카 프로덕츠 리미티드 파트너쉽 유체 흐름 제어 장치
WO2015164292A1 (en) * 2014-04-22 2015-10-29 Siemens Aktiengesellschaft Flexible control architecture for microgrid resiliency
US20150377936A1 (en) * 2014-06-29 2015-12-31 International Business Machines Corporation Distributed control of electric power grids

Also Published As

Publication number Publication date
CA3070224A1 (en) 2019-01-24
KR102363303B1 (ko) 2022-02-14
US11467552B2 (en) 2022-10-11
WO2019018015A1 (en) 2019-01-24
EP3639212A1 (en) 2020-04-22
CA3070224C (en) 2023-08-29
US20200166902A1 (en) 2020-05-28
CN111373423A (zh) 2020-07-03
SG11202000459VA (en) 2020-02-27

Similar Documents

Publication Publication Date Title
KR102363303B1 (ko) 다중-에이전트 흐름 제어 시스템의 탈중앙집중적 계획, 스케줄링 및 제어
US10809675B2 (en) HVAC system using model predictive control with distributed low-level airside optimization and airside power consumption model
US11067955B2 (en) HVAC system using model predictive control with distributed low-level airside optimization
US11209184B2 (en) Control system for central energy facility with distributed energy storage
CN106066077B (zh) 具有预测成本优化的hvac控制器
US11497144B2 (en) Optimized thermal control of data center
US11789415B2 (en) Building HVAC system with multi-level model predictive control
US10371405B2 (en) Building power management systems
US11385605B2 (en) Building control system with features for operating under intermittent connectivity to a cloud computation system
WO2021108224A1 (en) Building control system with smart edge devices having embedded model predictive control
US11953865B2 (en) HVAC controller with predictive cost optimization
EP3701337A1 (en) Minimizing energy consumption by peripheral machines
US10459412B2 (en) Convergence structure for control and data analytics systems
Mahbod et al. Energy saving evaluation of an energy efficient data center using a model-free reinforcement learning approach
Baranski et al. Comparative study of neighbor communication approaches for distributed model predictive control in building energy systems
CN113225994B (zh) 一种面向数据中心的智能空调控制方法
US20230088808A1 (en) Building hvac system with multi-level model predictive control
Tahersima An integrated control system for heating and indoor climate applications
US20230369859A1 (en) A system and method for managing different applications using cloud services
WO2018005180A1 (en) Hvac system using model predictive control with distributed low-level airside optimization
US20240004690A1 (en) Building management system with semiconductor farm and virtualized field controllers
SE1651667A1 (sv) Method and cooling system for cooling server racks in a datacentre
Rovas et al. A Sense-Think-Act methodology for Intelligent Building Energy Management

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