KR20130030646A - 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 방법 및 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 장치 - Google Patents

유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 방법 및 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 장치 Download PDF

Info

Publication number
KR20130030646A
KR20130030646A KR1020110094252A KR20110094252A KR20130030646A KR 20130030646 A KR20130030646 A KR 20130030646A KR 1020110094252 A KR1020110094252 A KR 1020110094252A KR 20110094252 A KR20110094252 A KR 20110094252A KR 20130030646 A KR20130030646 A KR 20130030646A
Authority
KR
South Korea
Prior art keywords
task
scheduling
power consumption
genetic algorithm
preemptive
Prior art date
Application number
KR1020110094252A
Other languages
English (en)
Other versions
KR101348439B1 (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 KR1020110094252A priority Critical patent/KR101348439B1/ko
Publication of KR20130030646A publication Critical patent/KR20130030646A/ko
Application granted granted Critical
Publication of KR101348439B1 publication Critical patent/KR101348439B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • 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)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Biology (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Biomedical Technology (AREA)
  • Tourism & Hospitality (AREA)
  • Strategic Management (AREA)
  • Primary Health Care (AREA)
  • Human Resources & Organizations (AREA)
  • Water Supply & Treatment (AREA)
  • Public Health (AREA)
  • Physiology (AREA)
  • Genetics & Genomics (AREA)
  • Artificial Intelligence (AREA)
  • General Business, Economics & Management (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Supply And Distribution Of Alternating Current (AREA)

Abstract

인 홈 네트워크(in-home network)에서 발생하는 전력 소비 태스크들을 획득하는 단계; 상기 전력 소비 태스크들의 유형들을 식별하는 단계; 및 유전 알고리즘(genetic algorithm)을 이용하여 상기 유형들에 따라 상기 전력 소비 태스크들을 스케쥴링하는 단계를 포함하는 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 방법은 시간 당 최대 전력 소모량(peak power)를 줄이는 기술을 제공한다.

Description

유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 방법 및 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 장치{METHOD OF A POWER CONSUMPTION SCHEDULING USING GENETIC ALGORITHMS AND DEVICE OF A POWER CONSUMPTION SCHEDULING USING GENETIC ALGORITHMS}
아래의 실시예들은 인 홈 네트워크에서 발생하는 복수의 전력 소비 태스크들을 유전 알고리즘을 이용하여 스케쥴링하는 방법 및 장치에 관한 것이다.
지구 온난화로 인한 기상이변 및 환경오염으로부터 인류를 구할 수 있는 여러 개의 기술들 중 하나로 스마트 그리드 기술이 제안되고 있다.
인류의 산업화는 에너지 소비 증가를 야기하여 에너지 확보를 어렵게 할 뿐만 아니라 CO2를 많이 배출하여 지구 온난화를 재촉하고 있다. 이러한 에너지 확보의 어려움과 지구 온난화라는 문제를 해결하기 위하여 에너지 절약형 전력 망에 스마트 그리드 기술이 적용될 수 있다.
스마트 그리드 기술을 구현하기 위해서는 정보 처리 기술 및 자동화 기술이 요구될 수 있다. 특히, 스마트 그리드 기술에 따르면, 스마트 홈에 포함된 가정기기들의 전력 소모를 스케쥴링함으로써, 스마트 홈 내에서 전력 소모의 최대값 수치를 낮출 수 있다.
또한, 스마트 그리드 기술과는 별개로 유전 알고리즘에 대한 연구도 있다.
유전 알고리즘은 염색체 비슷한 자료 구조(chromosome-like data structure)를 사용하여, 잠재적인 해를 특정한 문제의 해로 부호화하며, 이러한 자료 구조에 재조합 연산자(recombination operator)를 적용하여 결정적인 정보를 보존한다. 개체군(population) 중에서 환경에 대한 적합도(fitness)가 높은 개체(individual)일수록 재생(reproduction)할 수 있게 되며, 개체군은 환경에 적응할 수 있게 되며, 평가 함수로 평가를 한다.
세대를 거듭하면서 반복하게 되면, 점점 최적의 해에 가까워지게 되며, 새로운 유전자를 만드는데, 아주 적은 확률로 랜덤 하게 데이터를 변화시키는 돌연변이 메커니즘도 도입되어 있다.
이러한 유전 알고리즘은 흔히 함수 최적화 문제에 사용되지만, 이 알고리즘의 적용 범위는 시스템 식별 등 매우 넓고, 다양하다.
근래에는 인터넷 환경이 발달하면서, 이러한 유전 알고리즘을 온라인으로 활용할 수 있는 연구가 진행되고 있다. 하지만, 유전알고리즘의 계산 량을 줄이지 않고서는 온라인 상에서 구현하기 어렵다.
따라서, 계산 량을 줄이면서도 보다 정확한 최적 해를 도출할 수 있어서, 온라인 상에서도 적은 데이터 량 또는 적은 처리시간으로 만족할만한 해를 도출할 수 있는 방법에 대한 연구가 시급한 시점이라고 하겠다. 특히, 스마트 그리드와 같이 시간에 따라 변수들이 변화하는 시스템에 있어서는, 계산 량을 줄이면서도 보다 정확한 해에 신속히 접근할 수 있는 시스템이나 방법은 매우 요긴한 연구 과제라 하겠다.
본 발명은 유전 알고리즘을 이용하여 인 홈 네트워크(in-home network)에서 발생하는 전력 소비 태스크들을 스케쥴링함으로써, 단위 시간 당 최대 전력 소모량(peak power)을 줄이는 기술을 제공한다.
본 발명의 일실시예에 따른 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 방법은 인 홈 네트워크(in-home network)에서 발생하는 전력 소비 태스크들을 획득하는 단계; 상기 전력 소비 태스크들의 유형들을 식별하는 단계; 및 유전 알고리즘(genetic algorithm)을 이용하여 상기 유형들에 따라 상기 전력 소비 태스크들을 스케쥴링하는 단계를 포함한다.
상기 전력 소비 태스크들의 유형들은 선점(preemptive) 태스크의 유형과 비선점(non-preemptive) 태스크의 유형을 포함할 수 있다.
상기 유전 알고리즘을 이용하여 스케쥴링하는 단계는 상기 선점(preemptive) 태스크 및 상기 비선점(non-preemptive) 태스크 각각의 활성화 시간(activation time), 마감 시간(deadline) 및 동작 시간(operation length)에 따라 상기 선점(preemptive) 태스크 및 상기 비선점(non-preemptive) 태스크를 모델링 하는 단계; 및 상기 모델링 된 선점(preemptive) 태스크 및 비선점(non-preemptive) 태스크를 이용하여 스케쥴링을 수행하는 단계를 포함할 수 있다.
상기 유전 알고리즘(genetic algorithm)에서, 실시간 스케쥴링 제약(real-time scheduling constraint)을 만족하는 태스크 스케쥴링 결과들 각각은 독립적인 염색체(chromosome)로 표현될 수 있다.
상기 염색체(chromosome)는 정수의 엘리먼트들을 포함하는 벡터로 구성되고, 상기 정수는 상기 선점(preemptive) 태스크에 대응하는 선점 태스크 조합(preemptive task combination)의 인덱스를 나타내고, 상기 선점 태스크 조합(preemptive task combination)은 상기 선점(preemptive) 태스크에 대응하는 상기 실시간 스케쥴링 제약(real-time scheduling constraint)을 만족하는 태스크 스케쥴링 결과들 중 어느 하나일 수 있다.
상기 염색체(chromosome)는 정수의 엘리먼트들을 포함하는 벡터로 구성되고, 상기 정수는 상기 비선점(non-preemptive) 태스크에 대하여 상기 실시간 스케쥴링 제약(real-time scheduling constraint)을 만족하는 상기 비선점(non-preemptive) 태스크의 수행 시작 시간을 나타낼 수 있다.
상기 유전 알고리즘(genetic algorithm)은 시간 슬롯 당 최대 전력 부하(peak load)를 기반으로 하는 적합도 함수(fitness function)를 이용할 수 있다.
상기 유전 알고리즘(genetic algorithm)은 상기 실시간 스케쥴링 제약(real-time scheduling constraint)을 만족하는 태스크 스케쥴링 결과들을 기초로 랜덤 하게 최초 해 집단(population)을 생성할 수 있다.
상기 유전 알고리즘(genetic algorithm)은 상기 선점(preemptive) 태스크에 대하여 상기 선점 태스크 조합(preemptive task combination)의 인덱스를 기초로 랜덤 하게 최초 해 집단(population)을 생성할 수 있다.
상기 유전 알고리즘(genetic algorithm)은 상기 비선점(non-preemptive) 태스크에 대하여 상기 비선점(non-preemptive) 태스크의 수행 시작 시간을 기초로 랜덤 하게 최초 해 집단(population)을 생성할 수 있다.
상기 유전 알고리즘(genetic algorithm)은 품질 비례 룰렛휠 선택(roulette wheel selection) 기법을 이용하여 부모 염색체(parent chromosome)의 선택(selection) 연산을 수행할 수 있다.
상기 유전 알고리즘(genetic algorithm)은 균등 교차(uniform crossover) 기법을 이용하여 부모 염색체(parent chromosome)의 교차(crossover) 연산을 수행함으로써 자식 염색체(child chromosome)를 생성할 수 있다.
상기 유전 알고리즘(genetic algorithm)은 중복 복제 배제 대치(replacement for duplicated genes) 기법을 이용하여 해 집단(population) 내 동일한 염색체(chromosome)의 존재를 배제하는 대치(replacement) 연산을 수행할 수 있다.
본 발명의 일실시예에 따른 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 장치는 인 홈 네트워크(in-home network)에서 발생하는 전력 소비 태스크들을 수신하는 수신부; 상기 전력 소비 태스크들의 유형들을 식별하는 식별부; 상기 유형들에 따라 상기 전력 소비 태스크들을 유전 알고리즘(genetic algorithm)을 이용하여 스케쥴링 하는 스케쥴러; 및 상기 스케쥴링에 따라 가정용 전기제품의 전력을 제어하는 컨트롤러를 포함한다.
상기 전력 소비 태스크들의 유형들은 선점(preemptive) 태스크의 유형과 비선점(non-preemptive) 태스크의 유형을 포함하고, 상기 스케쥴러는 상기 선점(preemptive) 태스크 및 상기 비선점(non-preemptive) 태스크 각각의 활성화 시간(activation time), 마감 시간(deadline) 및 동작 시간(operation length)에 따라 상기 선점(preemptive) 태스크 및 상기 비선점(non-preemptive) 태스크를 모델링 하는 모델링부 및 상기 모델링 된 선점(preemptive) 태스크 및 비선점(non-preemptive) 태스크를 이용하여 스케쥴링을 수행하는 스케쥴링 수행부를 포함할 수 있다.
상기 제어된 가정용 전기제품의 전력에 관한 정보는 상기 인 홈 네트워크에 포함된 스마트 그리드 홈 컨트롤러에 제공될 수 있다.
본 발명은 유전 알고리즘을 이용하여 인 홈 네트워크(in-home network)에서 발생하는 전력 소비 태스크들을 스케쥴링함으로써, 단위 시간 당 최대 전력 소모량(peak power)을 줄이는 기술을 제공할 수 있다.
도 1은 본 발명의 일실시예에 따른 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 방법을 나타낸 동작 흐름도이다.
도 2는 본 발명의 일실시예에 따른 복수의 선점(preemptive) 및 비선점(non-preemptive) 태스크들을 나타내는 벡터 및 그 벡터에 포함되는 원소들을 설명하는 도면이다.
도 3은 본 발명의 일실시예에 따른 타임 슬롯에 대한 파워 요구 레벨을 나타낸 그래프이다.
도 4는 본 발명의 일실시예에 따른 룰렛휠 선택(roulette wheel selection) 기법에서 사용되는 룰렛을 개념적으로 나타낸 도면이다.
도 5는 본 발명의 일실시예에 따른 두 개의 염색체들을 이용하여 새로운 하나의 염색체를 생성하는 과정을 설명하는 도면이다.
도 6은 본 발명의 일실시예에 따른 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 장치를 나타낸 블록도이다.
이하, 본 발명의 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일실시예에 따른 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 방법을 나타낸 동작 흐름도이다.
도 1을 참조하여, 본 발명의 일실시예에 따른 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 방법을 설명하기에 앞서, 인 홈 네트워크 및 유전 알고리즘에 대해 간략히 설명한다.
인 홈 네트워크(in-home network)는 스마트 그리드를 구성하는 개체인 스마트 홈 시스템 내에서 전력 조절 시스템, 인 홈 디스플레이(in-home display), 홈 게이트웨이, 및/또는 PC 등과 같은 여러 구성요소들을 포함한다. 이러한 구성요소들은 인 홈 네트워크 내에서 서로 연결되어서, 데이터 또는 제어 신호들은 그 구성 요소들 사이에서 송/수신된다. 뿐만 아니라, 이러한 구성요소들을 포함하는 인 홈 네트워크는 다양한 네트워크 인터페이스(예를 들어, WAN 연결 인터페이스)들을 사용할 수 있다.
상기 전력 조절 시스템은 스마트 센서, 스마트 가전기기, 및/또는 하이브리드 자동차 충전기 등의 터미널 구성요소들과 전력선 통신 및 Zigbee 통신 등을 통하여 연결될 수 있다.
상기 인 홈 네트워크는 홈 게이트웨이를 통하여 글로벌 네트워크에 접속함으로써 모바일 기기, TOC(Total Operation Center), 및/또는 기타 원격서버 등에 접속할 수 있다.
유전 알고리즘(genetic algorithm)은 최적화 문제를 해결하는 기법의 하나로, 전역 최적화 기법이다. 유전 알고리즘(genetic algorithm)은 생물의 진화를 모방한 기법인 진화 연산의 대표로서, 생명체에 적용되는 많은 방식을 차용하여 변이(돌연변이), 교차(교배)연산 등을 포함하며, 세대, 인구와 같은 용어도 사용한다.
유전 알고리즘(genetic algorithm)은 대부분 정해진 수의 해로 구성되는 해 집단(population)을 갖는다. 유전 알고리즘(genetic algorithm)은 먼저 n개의 해를 임의로 생성하는 초기화 단계로 시작된다. 이 해 집단(population)으로부터 k개의 새로운 해를 만들어 내는데 각각의 해는 선택(selection), 교차(crossover), 변이(mutation)의 단계를 거쳐 만들어진다. 이렇게 만들어진 k개의 해는 해 집단(population) 내의 k개의 해와 대치(replacement)된다. 이러한 과정을 임의의 정지 조건이 만족될 때까지 수행한 후 해 집단(population)에 남은 해 중 가장 좋은 해를 답으로 삼는다. 위에서 상수 k는 해 집단(population)이 한 번에 얼마나 많이 대치(replacement)되느냐를 결정하는데 k/n을 세대 차(generation gap)라 한다.
위의 연산자들 중 선택(selection) 연산자는 교차(crossover)를 위해 해 집단(population)에서 임의의 해를 선택하는 연산자이고, 우수한 해에게 선택될 확률을 높게 주는 방식으로 동작한다. 이렇게 선택된 해를 부모 해(parent)라 한다. 교차(crossover)는 두 개의 부모 해로부터 자식 해(offspring)를 하나 만들어 내는 연산자이다. 교차(crossover)는 유전 알고리즘(genetic algorithm)의 대표적 연산자로서 유전 알고리즘의 성능에 지대한 영향을 미친다.
유전 알고리즘(genetic algorithm)이 정지하기 위한 조건도 다양하게 줄 수 있는데 가장 대표적인 두 가지를 든다면 repeat-until 루프를 일정 횟수만큼 수행한 다음 정지시키는 방법과 해 집단(population)에 있는 해들의 다양성이 어느 정도 이하로 떨어지는 시점에 정지시키는 방법을 들 수 있다. 다양성이 떨어지는 것을 판단하기 위해서는 해 집단(population) 내의 염색체들 중 대부분이 (예를 들면 70%) 똑같은지를 확인하는 경우가 일반적이다. Repeat-until 루프를 일정 횟수만큼 수행한 다음 정지하도록 설계된 유전 알고리즘(genetic algorithm)의 경우라도 그 정도이면 해들이 어느 정도 수렴할 것이라는 경험적 짐작이 있어야 한다.
도 1을 참조하면, 본 발명의 일실시예에 따른 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 방법은 전력 소비 태스크들에 대한 스케쥴링을 위하여 인 홈 네트워크(in-home network)에서 발생하는 전력 소비 태스크들을 획득한다(110).
이 때, 사용자들은 인 홈 디스플레이(in-home display)나 PC 등이 제공하는 유저 인터페이스를 통하여 인 홈 네트워크(in-home network)에서 발생하는 전력 소비 태스크들을 입력할 수 있다. 뿐만 아니라, 인 홈 네트워크가 홈 게이트웨이를 통하여 글로벌 네트워크에 접속된 경우, 사용자는 모바일 기기가 제공하는 유저 인터페이스를 통하여 전력 소비 태스크들을 입력할 수 있다. 여기서, 상기 전력 소비 태스크는 스마트 홈 시스템 내에서 전력을 소비하는 각각의 전자제품들의 동작에 대응한다.
보다 구체적으로, 사용자는 제공되는 유저 인터페이스를 통하여 전기밥솥, 세탁기, 식기세척기, 에어컨, 전기보일러 등 각종 가전제품들과 관련하여 원하는 동작을 입력할 수 있다. 예를 들어, 사용자는 아침 기상 시간 전까지 취사가 완료되기를 원하고, 퇴근시간 전까지 세탁기 및 식기세척기의 동작이 완료되기를 원하며, 자정 무렵 실내 온도가 20도를 유지하되 온수를 충분히 사용할 수 있기를 원할 수 있고, 이러한 전력 소비 태스크들을 유저 인터페이스를 통하여 입력할 수 있다.
또한, 전력 소비 태스크들은 유저 인터페이스를 통하여 사용자에 의해 입력되지 않고, 스마트 홈 시스템 내의 전자제품들로부터 입력될 수 있다. 즉, 전자 제품은 전력 소비 태스크들을 태스크 입력 신호로서 입력할 수 있고, 이 때, 전자제품은 자기 자신의 전력 소비 태스크뿐 아니라, 다른 전자제품의 전력 소비 태스크도 입력할 수 있다.
또한, 본 발명의 일실시예에 따른 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 방법은 전력 소비 태스크 스케쥴링을 위하여 상기 획득한 전력 소비 태스크들의 유형들을 식별한다(120).
상기 전력 소비 태스크들의 유형들은 전력 소비 태스크들 각각의 특성에 따라 정의될 수 있다. 예를 들어, 본 발명의 일실시예에 따른 상기 획득한 태스크들의 유형들은 선점(preemptive) 태스크의 유형과 비선점(non-preemptive) 태스크의 유형을 포함할 수 있다.
상기 선점(preemptive) 태스크는 선점 스케쥴링(preemptive scheduling)에서 강제로 CPU를 회수 당하는 프로세스와 같은 개념으로, 태스크 수행이 시작된 후 태스크 수행이 완료되기 전, 즉 태스크가 수행되며 전력 소비를 하고 있는 중간에라도 스케쥴러에 의하여 태스크 수행이 일시 중단되고 후에 중단되었던 태스크가 이어서 수행될 수 있는 성질의 태스크를 말한다. 상기 선점(preemptive) 태스크의 예로 전기 자동차, 하이브리드 자동차, 또는 각종 모바일 기기의 충전 태스크 등을 들 수 있다. 이들 태스크는 배터리의 충전이 완료될 때까지 중간에 태스크의 중단이 자유로워 선점(preemptive) 태스크로 분류될 수 있다. 다만, 배터리의 종류에 따라 충전의 일시 중단이 배터리의 성능이나 수명에 영향을 미칠 수 있고, 이 경우 비선점(non-preemptive) 태스크로 분류될 수 있다.
선점 스케쥴링(preemptive scheduling)은 시분할 시스템에서 타임 슬라이스가 소진되었거나, 인터럽트나 시스템 호출 종료 시에 더 높은 우선 순위 프로세스가 발생되었음을 알았을 때, 현 실행 프로세스로부터 강제로 CPU를 회수 하는 것을 말한다.
상기 비선점(non-preemptive) 태스크는 비선점 스케쥴링(non-preemptive scheduling)에서 할당 받은 자원을 스스로 반납할 때까지 그 자원을 계속 사용하는 프로세스와 같은 개념으로, 일단 태스크 수행이 시작되면 태스크 수행이 완료될 때까지 중간에 중단될 수 없는 성질의 태스크를 말한다. 상기 비선점(non-preemptive) 태스크의 예로 식기 세척기나 세탁기 등을 들 수 있다. 이들 태스크는 세척 내지 세탁 동작이 시작되고 나면 완료 시까지 태스크를 일시 중단할 수 없는 성질을 가지므로 비선점(non-preemptive) 태스크로 분류될 수 있다. 다만, 하나의 태스크를 동작 과정(operation sequence)에 따른 서브 태스크로 세분화하여 각 서브 태스크 단위로 선점(preemptive) 태스크화 할 수 있다. 구체적으로, 세탁기 태스크를 세탁 단계, 탈수 단계 및 건조 단계로 세분화 하여 각 단계와 단계 사이에서는 태스크가 선점 당할 수 있게 할 수 있고, 이 경우 선점(preemptive) 태스크로 분류될 수 있다.
비선점 스케쥴링(non-preemptive scheduling)은 프로세스가 자원을 할당 받았을 경우, 자원을 스스로 반납할 때까지 계속 그 자원을 사용하도록 허용하는 정책이다. 적용할 때는 현재 프로세스를 사용하는 프로세스가 생성되거나 현재 프로세스 작업을 종료할 때 입출력 하기 위해 스스로 프로세스를 반납할 때까지 우선 순위가 높은 프로세스의 비선점 정책을 적용하면 프로세스의 종료 시간을 비교적 정확하게 예측할 수 있다.
또한, 본 발명의 일실시예에 따른 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 방법은 상기 획득한 전력 소비 태스크들과 상기 식별한 전력 소비 태스크들의 유형들을 바탕으로, 유전 알고리즘(genetic algorithm)을 이용하여 전력 소비 태스크들을 스케쥴링한다(130).
이 때, 전력 소비 태스크들을 스케쥴링하는 단계(130)는 상기 선점(preemptive) 태스크 및 상기 비선점(non-preemptive) 태스크 각각의 활성화 시간(activation time), 마감 시간(deadline) 및 동작 시간(operation length)에 따라 상기 선점(preemptive) 태스크 및 상기 비선점(non-preemptive) 태스크를 모델링 하는 단계 및 상기 모델링 된 선점(preemptive) 태스크 및 비선점(non-preemptive) 태스크를 이용하여 스케쥴링을 수행하는 단계를 포함할 수 있다.
상기 활성화 시간(activation time)이란 각각의 태스크들이 수행을 시작할 수 있는 가장 이른 시간을 나타내고, 상기 마감 시간(deadline)이란 각각의 태스크들이 수행을 완료해야 하는 가장 늦은 시간을 나타내며, 동작 시간(operation time)이란 각각의 태스크들이 수행을 완료하는 데 요구되는 최소 시간을 나타낸다.
따라서, 본 발명의 일실시예에 따른 태스크들은 < Fi, Ai, Di, Ui >의 투플(tuple)로 표현될 수 있다. Fi는 i번째 태스크가 선점(preemptive) 태스크인지, 비선점(non-preemptive) 태스크인지를 나타내고, Ai는 i번째 태스크의 활성화 시간(activation time)을 나타내고, Di는 i번째 태스크의 마감 시간(deadline)을 나타내며, Ui는 i번째 태스크의 동작 시간(operation time)을 나타낸다.
또한, 본 발명의 일실시예에 따른 상기 선점(preemptive) 태스크와 상기 비선점(non-preemptive) 태스크는 추가로 고유의 전력 소모 양상(profile)을 가지는 형태로 모델링(modeling)될 수 있다. 즉, 동작 시간(operation time) 동안 계속 같은 전력 소모 양상을 보일 수도 있고, 동작 시간(operation time) 내 타임 슬롯 별로 상이한 전력 소모 양상을 보일 수도 있다.
보다 구체적으로, 충전기 태스크의 경우 동작 시간(operation time) 내내 일정한 수치의 전력이 소모될 수 있다. 이에 반하여 세탁기 태스크의 경우 동작 시간(operation time)내 태스크의 세부 단계에 따라서 소비되는 전력의 수치가 변동될 수 있다. 탈수 단계에서 소비되는 전력과 건조 단계에서 소비되는 전력이 상이한 등 다양한 형태의 전력 소모 양상(profile)을 가질 수 있다.
상기 전력 소비 태스크들은 전력 소모에 있어서 각각 자기 자신의 타임 스케일(time scale)을 갖는다. 본 발명의 일실시예에 따른 상기 모델링(modeling) 단계는 AVR(automatic voltage regulator) 또는 UPS(uninterruptible power supply) 등을 이용하여 상기 전력 소비 태스크 별로 상이한 타임 스케일(time scale)을 평균 내어 타임 슬롯의 크기로 삼을 수 있다. 본 발명의 일실시예에 따른 상기 유전 알고리즘(genetic algorithm)을 이용한 전력 소비 태스크 스케쥴링 방법에서, 상기 타임 슬롯의 크기는 5분, 10분, 20분 등으로 설정될 수 있다.
본 발명의 일실시예에 따른 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 방법은 역추적 기반(backtracking-based) 알고리즘을 이용하여 전력 소비 태스크 스케쥴링 하는 등 종래 기술을 이용하는 것에 비하여 전력 소비 태스크를 스케쥴링 하는데 요구되는 연산 속도(computation speed)를 현저히 개선할 수 있다.
또한, 본 발명의 일실시예에 따른 상기 유전 알고리즘(genetic algorithm)을 이용한 전력 소비 태스크 스케쥴링 방법은 인 홈 장치(in-home device)뿐 아니라, 모바일 폰, TOC(total operation center) 및 기타 원격서버 등에서 수행될 수 있다. TOC(total operation center)에서 상기 스케쥴링 방법이 수행되는 경우, 복수 개의 마이크로그리드들(microgrids)의 전력 최대치 공명(peak resonance)을 회피하도록 전력 소비 태스크들을 스케쥴링 할 수 있다.
도 2는 본 발명의 일실시예에 따른 복수의 태스크들을 나타내는 벡터 및 그 벡터에 포함되는 원소들을 설명하는 도면이다.
도 2를 참조하여, 복수의 태스크들을 나타내는 벡터 및 그 벡터에 포함되는 원소들을 설명하기에 앞서, 본 발명의 일실시예에 따른 유전 알고리즘에서 전력 소비 태스크들의 스케쥴링 결과를 염색체로 표현하는 방법에 대하여 설명한다.
본 발명의 일실시예에 따른 상기 유전 알고리즘(genetic algorithm)에서, 실시간 스케쥴링 제약(real-time scheduling constraint)을 만족하는 태스크 스케쥴링 결과들 각각은 독립적인 염색체(chromosome)로 표현될 수 있다.
유전 알고리즘(genetic algorithm)에서 모든 해는 염색체(chromosome)로 표현되어야 한다. 가장 전형적인 유전 알고리즘(genetic algorithm)은 해를 이진 스트링 모양의 염색체(chromosome)로 표현한다. 예를 들어, 수를 해로 삼는 경우에 이를 이진수로 나타내면 자연스럽게 이진수의 열로 표현이 된다. 수를 해로 삼는 경우에 있어서 이를 이진수로 표현하는 대신에 16진수 염색체(chromosome)로 표현할 수도 있다. 유전 알고리즘(genetic algorithm)에서 하나의 해는 하나 또는 그 이상의 염색체(chromosome)와 대응되고, 대부분의 경우 일대일로 대응된다.
상기 실시간 스케쥴링 제약(real-time scheduling constraint)은 실시간 컴퓨팅(real-time computing) 시스템에서 스케쥴링을 하는데 있어서 필수적으로 만족시켜야 하는 조건을 의미한다.
본 발명의 일실시예에 따라 상기 전력 소비 태스크들을 < Fi, Ai, Di, Ui >의 투플(tuple)로 모델링 하는 경우, Ai, Di, Ui, 즉 활성화 시간(activation time), 마감 시간(deadline), 그리고 동작 시간(operation length)이 실시간 컴퓨팅(real-time computing) 시스템 하에서 만족해야 하는 상기 실시간 스케쥴링 제약(real-time scheduling constraint)이 될 수 있다.
보다 구체적으로, 전력 소비 태스크 획득 단계(110)에서 입력된 각각의 태스크들은 활성화 시간(activation time)이 되기 전에는 수행을 시작할 수 없고, 늦어도 마감 시간(deadline) 전까지 동작 시간(operation length)만큼의 시간 슬롯(time slot)을 할당 받아 수행을 완료해야 한다. 이러한 조건을 만족할 시 상기 실시간 스케쥴링 제약(real-time scheduling constraint)을 만족한다고 할 수 있다.
도 2를 참조하면, 본 발명의 일실시예에 따른 상기 염색체(chromosome)는 정수의 엘리먼트들을 포함하는 벡터로 구성될 수 있다(210).
즉, 본 발명의 일실시예에 따른 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 방법은 상기 전력 소비 태스크 획득 단계(110)에서 획득한 각각의 태스크들(Task1, Task2, ..., Task n)에 대하여 실시간 스케쥴링 제약(real-time scheduling constraint)을 만족하는 스케쥴링 결과를 도출할 수 있고, 이러한 스케쥴링 결과는 정수의 엘리먼트들을 포함하는 벡터로 표현될 수 있으며(210), 본 발명의 일실시예에 따른 상기 염색체(chromosome)는 상기 벡터로 구성될 수 있는 것이다.
한편, 도 2의 염색체(chromosome) 표현(210)에서 Task 1과 Task n은 각각 선점(preemptive) 태스크이고, Task 2는 비선점(non-preemptive) 태스크인 경우를 상정하고 있다. 이처럼 하나의 염색체(chromosome) 상에 서로 상이한 유형의 태스크들이 공존할 수 있고, 서로 상이한 유형의 태스크들에 대응하는 정수 엘리먼트는 표면상 같은 값을 가지더라도 실제 의미하는 바가 다를 수 있다.
본 발명의 일실시예에 따른 상기 정수는 상기 선점(preemptive) 태스크에 대응하는 선점 태스크 조합(preemptive task combination)의 인덱스를 나타내고, 상기 선점 태스크 조합(preemptive task combination)은 상기 선점(preemptive) 태스크에 대응하는 상기 실시간 스케쥴링 제약(real-time scheduling constraint)을 만족하는 태스크 스케쥴링 결과들 중 어느 하나를 나타낼 수 있다.
예를 들어, Task 1에 대응하는 정수 엘리먼트(211)인 2는 Task 1에 대응하는 선점 태스크 조합(preemptive task combination)들의 인덱스들 가운데 2번 인덱스를 나타낸다(220). Task 1은 활성화 시간(activation time)이 15, 마감 시간(deadline)이 20, 그리고 동작 시간(operation length)이 3이라는 실시간 스케쥴링 제약(real-time scheduling constraint)을 만족해야 한다. 선점 태스크 조합(preemptive task combination)은 이러한 실시간 스케쥴링 제약(real-time scheduling constraint)을 만족하는 실현 가능한(feasible) 태스크 스케쥴링 결과들 각각을 의미한다.
보다 구체적으로, Task 1이 수행될 수 있는 가용 타임 슬롯의 수는 마감 시간(deadline)에서 활성화 시간(activation time)을 차감한 5개이다. 이 때, Task 1의 동작 시간(operation length)은 3이므로 Task 1을 가용 타임 슬롯에 할당할 수 있는 경우의 수는 5C3가지가 된다. 즉, 5개의 가용 타임 슬롯(15, 16, 17, 18 및 19)에서 Task 1의 완료를 위하여 수행되어야 하는 3개의 슬롯을 선택하는 경우의 수가 되는 것이다. 이 때, Task 1이 수행되도록 선택된 슬롯에 1을, 그렇지 아니한 슬롯에 0을 배치하여 선점 태스크 조합(preemptive task combination)을 생성할 수 있다. 상기 생성된 선점 태스크 조합(preemptive task combination)들에는 각각 고유의 인덱스가 부여된다(220). 본 발명의 일실시예에 따른 도2의 염색체(210)에서, Task 1에 대응하는 정수 엘리먼트의 값이 2이므로(211), Task 1의 스케쥴링 결과는 01101을 나타낸다. Task 1의 가용 타임 슬롯의 범위가 15~19임을 고려할 때, 01101은 타임 슬롯 16, 17, 그리고 19에 Task 1을 수행시킬 것임을 의미한다.
마찬가지로, Task n이 수행될 수 있는 가용 타임 슬롯의 수는 마감 시간(deadline)에서 활성화 시간(activation time)을 차감한 3개이고, Task n의 동작 시간(operation length)은 2이므로(230), Task n을 가용 타임 슬롯에 할당할 수 있는 경우의 수는 3C2가지가 된다. 즉, 3개의 가용 타임 슬롯(8, 9 및 10)에서 Task n의 완료를 위하여 수행되어야 하는 2개의 슬롯을 선택하는 경우의 수가 되는 것이다. 이 때, Task n이 수행되도록 선택된 슬롯에 1을, 그렇지 아니한 슬롯에 0을 배치하여 선점 태스크 조합(preemptive task combination)을 생성할 수 있다. 상기 생성된 각각의 선점 태스크 조합(preemptive task combination)들에는 각각 고유의 인덱스가 부여된다. 본 발명의 일실시예에 따른 도2의 염색체(210)에서, Task n에 대응하는 정수 엘리먼트의 값이 1이므로(212), Task n의 스케쥴링 결과는 101을 나타낸다. Task n의 가용 타임 슬롯의 범위가 8~10임을 고려할 때, 101은 타임 슬롯 8과 10에 Task n을 수행시킬 것임을 의미한다.
본 발명의 일실시예에 따른 상기 정수는 상기 비선점(non-preemptive) 태스크에 대하여 상기 실시간 스케쥴링 제약(real-time scheduling constraint)을 만족하는 상기 비선점(non-preemptive) 태스크의 수행 시작 시간을 나타낼 수 있다.
예를 들어, 본 발명의 일실시예에 따라 비선점(non-preemptive) 태스크로 식별되는 Task 2에 대응하는 정수 엘리먼트인 3은 Task 2가 3번 타임 슬롯에서 수행을 시작한다는 것을 나타내고, 이 경우 Task 2가 실시간 스케쥴링 제약(real-time scheduling constraint)을 만족한다는 것을 나타낼 수 있다. 상기 비선점(non-preemptive) 태스크의 경우 상기 선점(preemptive) 태스크와 달리 일단 태스크 수행이 시작되고 나면 중간에 일시 중단을 하였다가 재개하는 등의 스케쥴링을 할 수 없으므로, 태스크의 수행 시작 시간만으로 스케쥴링 결과를 나타낼 수 있다.
보다 구체적으로, Task 2의 활성화 시간(activation time)이 1이고, 마감 시간(deadline)이 20이며, 동작 시간(operation length)가 10이라고 가정할 경우, Task 2는 타임 슬롯 1~10 사이에 수행이 시작되는 경우 상기 실시간 스케쥴링 제약(real-time scheduling constraint)을 만족한다. 도2의 염색체(210)에 의한 Task 2의 정수 엘리먼트는 3이고, 이는 1~10의 범위 안에 포함되므로 상기 실시간 스케쥴링 제약(real-time scheduling constraint)을 만족하는 스케쥴링 결과이다. 이 경우, Task 2에 대응하는 정수 엘리먼트 3은 Task 2가 타임 슬롯 3~12에 수행될 것임을 의미한다.
도 3은 본 발명의 일실시예에 따른 타임 슬롯에 대한 파워 요구 레벨을 나타낸 그래프이다.
도 3을 참조하여, 본 발명의 일실시예에 따른 타임 슬롯에 대한 파워 요구 레벨을 설명하기에 앞서, 유전 알고리즘을 수행하는 데 필요한 적합도 함수에 대하여 간략히 설명한다.
적합도 함수(fitness function)는 알고리즘에 의하여 도출한 개개의 해가 해당 알고리즘의 궁극적 목적에 얼마나 근접한 것인지에 대하여 평가하는 성능지수(figure of merit)를 계산하기 위하여 사용되는 목적 함수(objective function)이다. 유전 알고리즘(genetic algorithm)에서의 적합도 함수(fitness function)는 유전 알고리즘(genetic algorithm)을 수행하는데 있어서 진화의 방향성, 즉 최적 해에 대한 방향성을 제시할 수 있다.
본 발명의 일실시예에 따른 상기 유전 알고리즘(genetic algorithm)을 이용한 전력 소비 태스크들의 스케쥴링 방법은 스케쥴링 결과들 각각을 독립적인 염색체(chromosome)로 표현할 수 있고, 상기 유전 알고리즘(genetic algorithm)의 초기화 단계에서 n개의 염색체(chromosome)로 구성된 해 집단(population)을 생성할 수 있으며, 이 해 집단(population)으로부터 k개의 새로운 해를 만들어 내고, 상기 k개의 새로운 해를 기존 해 집단(population) 내의 k개의 해와 대치(replacement)할 수 있다. 이 때, 적합도 함수(fitness function)를 이용하여 각각의 해, 즉 각각의 염색체(chromosome)의 성능지수(figure of merit)을 평가하고, 성능지수(figure of merit)의 평가 결과가 안 좋은 k개의 해를 대치할 수 있다. 뿐만 아니라, 적합도 함수(fitness function)는 교차(crossover) 연산을 위한 부모 해(parent)의 선택(selection) 연산에서도 사용될 수 있다. 이에 대하여는 후술한다.
도 3을 참조하면, 그래프(a)는 Task1부터 Task6을 스케쥴링하지 않은 채, 각 태스크의 활성화 시간(activation time)에 바로 수행을 시작하고, 수행이 완료될 때까지 중단 없이 계속 태스크를 수행하게 한 결과를 나타낸다. 이 경우, 그래프의 y축 성분인 타임 슬롯 당 파워 요구 레벨이 타임 슬롯 9에서 최대 18 power unit까지 상승한다. 상기 타임 슬롯 당 파워 요구 레벨은 각각의 타임 슬롯에 할당된 태스크들이 고유의 전력 소모 양상(profile)에 따라 해당 타임 슬롯에서 소비하는 전력들의 총 합을 나타낸다.
또한, 그래프(b)는 본 발명의 일실시예에 따른 상기 유전 알고리즘(genetic algorithm)에서 시간 슬롯 당 최대 전력 부하(peak load)를 기반으로 하는 적합도 함수(fitness function)를 이용한 결과를 나타낸다. 상기 시간 슬롯 당 최대 전력 부하(peak load)는 타임 슬롯에 대한 파워 요구 레벨들 중 최대값을 의미한다. 상기 적합도 함수(fitness function)를 이용하여 스케쥴링을 한 경우, 타임 슬롯 당 파워 요구 레벨이 타임 슬롯의 전 구간을 통틀어 최대 10 power unit으로 감소한다.
본 발명의 일실시예에 따른 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 방법은 염색체(chromosome), 즉 스케쥴링 결과에 대응하여 각각의 태스크들의 전력 소비 양상(profile)을 나타내는 N개의 행과 시간 슬롯을 나타내는 M개의 열로 구성된 태스크 할당 행렬을 도출할 수 있다. 그리고, 상기 태스크 할당 행렬을 이용하여 시간 슬롯을 나타내는 각각의 열에 할당된 태스크들의 전력 소비 양상(profile)들을 합산함으로써 상기 시간슬롯당 전력 요구량 및/또는 상기 시간 슬롯당 최대 전력 부하(peak load)를 계산할 수 있다.
본 발명의 일실시예에 따른 상기 유전 알고리즘(genetic algorithm)의 적합도 함수(fitness function)는 시간 슬롯 당 최대 전력 부하(peak load)와 더불어, 혹은 독립적으로 시간대별 전기세 정보를 기반으로 할 수 있다.
도 4는 본 발명의 일실시예에 따른 룰렛휠 선택(roulette wheel selection) 기법에서 사용되는 룰렛을 개념적으로 나타낸 도면이다.
도 4를 참조하여, 룰렛휠 선택 기법을 설명하기에 앞서, 본 발명의 일실시예에 따른 유전 알고리즘에서 초기화하는 방법에 대하여 설명한다.
본 발명의 일실시예에 따른 상기 유전 알고리즘(genetic algorithm)은 상기 실시간 스케쥴링 제약(real-time scheduling constraint)을 만족하는 태스크 스케쥴링 결과들을 기초로 랜덤 하게 최초 해 집단(population)을 생성할 수 있다.
본 발명의 일실시예에 따른 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 방법은 염색체(chromosome)를 정수의 엘리먼트들을 포함하는 벡터로 구성하고, 실시간 스케쥴링 제약(real-time scheduling constraint)을 만족하는 염색체(chromosome)들로만 최초 해 집단(population) 생성할 수 있다. 더 나아가, 본 발명의 일실시예에 따른 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 방법은 상기 해 집단(population)에 대하여 선택(selection), 교차(crossover), 대치(replacement) 연산을 이용하여 새로운 자식 해(offspring) 및 다음 세대(generation)를 생성할 수 있다. 이 경우, 다음 세대(generation) 내의 모든 해는 여전히 상기 실시간 스케쥴링 제약(real-time scheduling constraint)을 만족한다.
이는 상기 염색체(chromosome)상 각 태스크들에 대응하는 정수 엘리먼트들은 선택(selection) 연산, 교차(crossover) 연산, 또는 대치(replacement) 연산이 수행되어도 최초 해 집단(population)에 포함되어 있는 값의 범위를 벗어나게끔 변경되지 않기 때문이다. 그 결과, 새로운 세대(generation) 내의 모든 해는 상기 실시간 스케쥴링 제약(real-time scheduling constraint)을 만족하게 된다.
따라서, 본 발명의 일실시예에 따른 상기 유전 알고리즘(genetic algorithm)은 하나의 염색체(chromosome) 내에서 임의의 태스크에 대응하는 정수 엘리먼트의 값이 상기 실시간 스케쥴링 제약(real-time scheduling constraint)을 만족하지 않게끔 변경되는 변이(mutation) 연산을 배제할 수 있다.
상기 변이(mutation) 연산은 후술할 교차(crossover) 연산이 두 부모 해의 속성을 부분 복사함으로써 새로운 해를 만들고, 따라서 교차로 인해 만들어지는 해의 유전자들은 모두 부모해로부터 물려받은 것이므로, 부모 해의 유전자들을 좋은 방향으로 결합하는 것은 가능하지만 부모 해에 없는 유전자를 도입하기는 힘들다는 점을 보완하기 위한 연산이다.
본 발명의 일실시예에 따른 상기 유전 알고리즘(genetic algorithm)은 상기 선점(preemptive) 태스크에 대하여 상기 실시간 스케쥴링 제약(real-time scheduling constraint)을 만족하는 상기 선점 태스크 조합(preemptive task combination)의 인덱스를 기초로 하거나, 상기 비선점(non-preemptive) 태스크에 대하여 상기 실시간 스케쥴링 제약(real-time scheduling constraint)을 만족하는 상기 비선점(non-preemptive) 태스크의 수행 시작 시간을 기초로 하여 랜덤 하게 최초 해 집단(population)을 생성할 수 있다.
도 4를 참조하면, 본 발명의 일실시예에 따른 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 방법은 부모 염색체(parent chromosome)를 선택(selection) 연산을 수행할 때 품질 비례 룰렛휠 선택(roulette wheel selection) 기법을 이용할 수 있다. 상기 품질 비례 룰렛휠 선택(roulette wheel selection) 기법은 <수학식 1>로 계산한 각 염색체의 적합도를 모두 합한 값만큼의 크기를 가진 룰렛휠을 가정하고(400), 각 염색체(chromosome)는 이 룰렛휠 상에 자신의 적합도만큼의 공간을 배정받는다. 즉, fi의 크기만큼 부모해로 선택될 확률이 높아진다.
상기 품질 비례 룰렛휠 선택(Roulette Wheel selection) 방법은 각 해의 품질을 평가한 다음 가장 좋은 해의 적합도가 가장 나쁜 해의 적합도보다 k배가 되도록 조절한다. 해 집단 내의 해 i의 적합도는 <수학식 1>과 같이 계산된다.
<수학식 1>
Figure pat00001
여기서 fi는 해 i의 적합도를, Cw는 해 집단 내에서 가장 나쁜 해의 비용을, Cb는 해 집단 내에서 가장 좋은 해의 비용을, 그리고 Ci는 해 i의 비용을 각각 나타내고, k의 값을 높이면 선택압(selection pressure)가 높아진다.
선택(selection) 연산은 교차(crossover) 연산에 쓰이는 두 개의 부모 해를 고르기 위한 연산자이다. 다양한 선택 연산자들이 있으나 공통된 원칙은 우수한 해가 선택될 확률이 높아야 한다는 것이다. 우수한 해들과 열등한 해들 사이의 적합도 차이를 조절함으로써 선택 확률을 조절할 수 있고, 이 차이의 정도를 선택압(selection pressure)이라 한다. 선택압이 높을수록 수렴은 빠르나 설익은 수렴(premature convergence)의 가능성이 높아진다. 반면 선택압이 너무 낮으면 해 집단의 평균 품질이 좋아지지 않을 가능성이 많다. 선택압은 프로그래머가 조절할 수 있는 파라미터이다.
본 발명의 일실시예에 따른 상기 유전 알고리즘(genetic algorithm)은 상기 품질 비례 룰렛휠 선택(roulette wheel selection) 기법을 이용할 때 k값으로 3~4를 사용할 수 있다.
본 발명의 일실시예에 따른 상기 유전 알고리즘(genetic algorithm)은 다양한 선택(selection) 연산을 이용하는 형태로 응용될 수 있다. 상기 응용은 두 개의 염색체를 임의로 선택하여 0~1 범위의 난수를 발생시킨 다음, 상기 난수가 파라미터화 할 수 있는 t값보다 작으면 두 염색체 중 품질이 좋은 것을 선택하고, 그렇지 않으면 품질이 나쁜 것을 선택하는 토너먼트 선택 방법; 및 해 집단 내의 해들을 품질 순으로 순위를 매긴 다음 가장 좋은 해부터 일차 함수적으로 적합도를 배정하는 순위 기반 선택 방법 등을 포함한다.
도 5는 본 발명의 일실시예에 따른 두 개의 염색체들을 이용하여 새로운 하나의 염색체를 생성하는 과정을 설명하는 도면이다.
본 발명의 일실시예에 따른 상기 유전 알고리즘(genetic algorithm)은 등 교차(uniform crossover) 기법을 이용하여 부모 염색체(parent chromosome)의 교차(crossover) 연산을 수행함으로써 자식 염색체(child chromosome)를 생성할 수 있다.
교차(crossover) 연산은 두 해의 특징을 부분 결합하여 하나의 새로운 해를 만들어내는 연산자이다. 따라서 교차로 인해 만들어지는 해의 유전자들은 모두 부모해로부터 물려받은 것이고, 부모 해의 유전자들을 좋은 방향으로 결합할 수 있다.
상기 균등 교차(uniform crossover)는 일점 교차와 다점 교차와 달리 자름선을 이용하여 이루어지지 아니한다. 균등 교차는 먼저 임계확률
Figure pat00002
를 설정하고, 각각의 유전자 위치에 대하여 난수를 발생한 다음 이 값이
Figure pat00003
이상이면 제1 부모 해의 같은 위치로부터 유전자를 복사해오고, 그렇지 않으면 제2 부모 해의 같은 위치로부터 복사를 한다.
도 5를 참조하면, 본 발명의 일실시예에 따른 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 방법은 상기 선택(selection) 연산을 통하여 선택한 두 부모 염색체(510, 520) 상에서 각각의 태스크들에 대응하는 정수 엘리먼트를 균등 교차(uniform crossover)하기 위하여, 각 태스크에 대응하는 일련의 난수들(530)을 발생시킨다. 본 발명의 일실시예에 따른 상기 균등 교차(uniform crossover)는 임계확률
Figure pat00004
로 0.5~0.6을 사용할 수 있다.
상기 발생시킨 일련의 난수들(530)의 값이 임계확률
Figure pat00005
보다 크면 제1부모해(510)로부터 해당 태스크에 대응하는 정수 엘리먼트를 새로 생성되는 자식해(540)의 같은 위치로 복사하고, 상기 발생시킨 일련의 난수들(530)의 값이 임계확률
Figure pat00006
보다 크지 않으면 제2부모해(520)로부터 정수 엘리먼트를 자식해(540)의 같은 위치로 복사한다.
본 발명의 일실시예에 따른 상기 유전 알고리즘(genetic algorithm)은 일점 교차 및 다점 교차 연산을 수행 자식 염색체(child chromosome)를 생성할 수 있다.
상기 일점 교차는 두 부모 해의 동일한 위치에 자름선을 정하고, 이 자름선은 각 부모 해를 두 부분으로 나누며, 각 부모해로부터 한 부분씩만 가져와서 합쳐 새로운 해를 생성한다. 길이가 n인 일차원 염색체 상에서 일점 교차로 자르는 방법의 총 수는 n-1가지이다.
상기 다점 교차는 두 부모 해를 나누는 자름선의 개수가 3개 이상인 교차 연산이다. 염색체의 길이가 n일 때 k점 교차로 자르는 방법의 총 수는 nCk가지이다.
본 발명의 일실시예에 따른 상기 유전 알고리즘(genetic algorithm)은 중복 복제 배제 대치(replacement for duplicated genes) 기법을 이용하여 해 집단(population) 내 동일한 염색체(chromosome)의 존재를 배제하는 대치(replacement) 연산을 수행할 수 있다.
상기 교차(crossover) 연산으로 생성한 자식 해(offspring)가 기존 해 집단(population)에 존재하는 염색체(chromosome)와 동일한 경우, 상기 실시간 스케쥴링 제약(real-time scheduling constraint)을 만족하는 새로운 염색체(chromosome)를 생성하여 대치(replacement)한다.
본 발명의 일실시예에 따른 상기 유전 알고리즘(genetic algorithm)은 다양한 대치(replacement) 연산을 이용하는 형태로 응용될 수 있다. 상기 응용은 해 집단(population) 내에서 가장 품질이 낮은 해를 대치하는 방법; 두 부모해 중 품질이 나쁜 해와 대치하는 preselection 방법; 부모해 중의 하나보다 품질이 좋을 경우에는 부모해와 대치하고 그렇지 못하면 해 집단에서 가장 나쁜 해를 대치하는 방법; 부모해 중의 하나보다 좋을 때만 대치하고 그렇지 않은 경우에는 대치를 포기하는 방법; 해 집단 전체를 비교하여 자신과 가장 가까운 해를 대치하는 방법; 그리고 해 집단에서 임의로 몇 개의 해를 선택하여 그 중 새로 만든 해와 가장 닮은 해를 제거하는 군집대치(crowding) 방법 등을 포함한다.
본 발명의 일실시예에 따른 상기 유전 알고리즘(genetic algorithm)을 이용한 전력 소비 태스크 스케쥴링 방법은 Visual C++ 6.0으로 프로그래밍되어 Windows Vista 운영체제 상에서 동작될 수 있다. 상기 스케쥴링 방법은 Intel Core2 Duo CPU가 탑재되고, 3.0 기가 바이트의 메인 메모리를 가진 플랫폼(platform)에서 수행될 수 있다.
상술한 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
도 6은 본 발명의 일실시예에 따른 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 장치를 나타낸 블록도이다.
도 6을 참조하면, 본 발명의 일실시예에 따른 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 장치(600)는 인 홈 네트워크(in-home network)에서 발생하는 전력 소비 태스크들을 수신하는 수신부(610), 상기 전력 소비 태스크들의 유형들을 식별하는 식별부(620), 상기 유형들에 따라 상기 전력 소비 태스크들을 유전 알고리즘(genetic algorithm)을 이용하여 스케쥴링 하는 스케쥴러(630) 및 상기 스케쥴링에 따라 가정용 전기제품의 전력을 제어하는 컨트롤러(640)를 포함할 수 있다.
상기 수신부(610), 식별부(620), 스케쥴러(630) 및 컨트롤러(640)는 가능한 모든 조합에 대하여 SoC(system on chip)이나 PC 등과 같은 하나의 장치상에서 동작하게끔 구현될 수 있다.
또한, 본 발명의 일실시예에 따른 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 장치(600)에 있어서, 상기 전력 소비 태스크들의 유형들은 선점(preemptive) 태스크의 유형과 비선점(non-preemptive) 태스크의 유형을 포함하고, 상기 스케쥴러(630)는 상기 선점(preemptive) 태스크 및 상기 비선점(non-preemptive) 태스크 각각의 활성화 시간(activation time), 마감 시간(deadline) 및 동작 시간(operation length)에 따라 상기 선점(preemptive) 태스크 및 상기 비선점(non-preemptive) 태스크를 모델링 하는 모델링부(631) 및 상기 모델링 된 선점(preemptive) 태스크 및 비선점(non-preemptive) 태스크를 이용하여 스케쥴링을 수행하는 스케쥴링 수행부(632)를 포함할 수 있다.
더 나아가, 본 발명의 일실시예에 따른 상기 스케쥴링 수행부(632)에서, 상기 실시간 스케쥴링 제약(real-time scheduling constraint)을 만족하는 태스크 스케쥴링 결과들 각각은 독립적인 염색체(chromosome)로 표현되고, 상기 염색체(chromosome)는 정수의 엘리먼트들을 포함하는 벡터로 구성되고, 상기 정수는 상기 선점(preemptive) 태스크에 대응하는 선점 태스크 조합(preemptive task combination)의 인덱스를 나타내고, 상기 선점 태스크 조합(preemptive task combination)은 상기 선점(preemptive) 태스크에 대응하는 상기 실시간 스케쥴링 제약(real-time scheduling constraint)을 만족하는 태스크 스케쥴링 결과들 중 어느 하나일 수 있다.
또한, 상기 제어된 가정용 전기제품의 전력에 관한 정보는 상기 인 홈 네트워크에 포함된 스마트 그리드 홈 컨트롤러(650)에 제공될 수 있다. 상기 스마트 그리드 홈 컨트롤러(650)는 모바일 폰이나 인터넷 포탈 사이트 등에 상기 제공받은 제어된 가정용 전기제품의 전력에 관한 정보를 전송할 수 있다. 또한, 상기 스마트 그리드 홈 컨트롤러(650)는 전력 소비 가격이 변동되는 등의 특정한 이슈가 발생하는 경우 관련 정보를 사용자에게 알릴 수 있다.
도 6에 도시된 모듈들 각각에는 도 1 내지 도 5를 통하여 기술된 사항들이 그대로 적용될 수 있으므로, 보다 상세한 설명은 생략한다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
600: 유전 알고리즘(genetic algorithm)을 이용한 전력 소비 태스크 스케쥴링 장치
610: 인 홈 네트워크(in-home network)에서 발생하는 전력 소비 태스크들을 수신하는 수신부
620: 전력 소비 태스크들의 유형들을 식별하는 식별부
630: 전력 소비 태스크들의 유형들에 따라 태스크들을 유전 알고리즘(genetic algorithm)을 이용하여 스케쥴링하는 스케쥴러
640: 스케쥴링에 따라 가정용 전기제품의 전력을 제어하는 컨트롤러

Claims (16)

  1. 인 홈 네트워크(in-home network)에서 발생하는 전력 소비 태스크들을 획득하는 단계;
    상기 전력 소비 태스크들의 유형들을 식별하는 단계; 및
    유전 알고리즘(genetic algorithm)을 이용하여 상기 유형들에 따라 상기 전력 소비 태스크들을 스케쥴링하는 단계
    를 포함하는 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 방법.
  2. 제1항에 있어서,
    상기 전력 소비 태스크들의 유형들은
    선점(preemptive) 태스크의 유형과 비선점(non-preemptive) 태스크의 유형을 포함하는 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 방법.
  3. 제2항에 있어서,
    상기 유전 알고리즘을 이용하여 스케쥴링하는 단계는
    상기 선점(preemptive) 태스크 및 상기 비선점(non-preemptive) 태스크 각각의 활성화 시간(activation time), 마감 시간(deadline) 및 동작 시간(operation length)에 따라 상기 선점(preemptive) 태스크 및 상기 비선점(non-preemptive) 태스크를 모델링 하는 단계; 및
    상기 모델링 된 선점(preemptive) 태스크 및 비선점(non-preemptive) 태스크를 이용하여 스케쥴링을 수행하는 단계
    를 포함하는 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 방법.
  4. 제2항에 있어서,
    상기 유전 알고리즘(genetic algorithm)에서, 실시간 스케쥴링 제약(real-time scheduling constraint)을 만족하는 태스크 스케쥴링 결과들 각각은 독립적인 염색체(chromosome)로 표현되는 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 방법.
  5. 제4항에 있어서,
    상기 염색체(chromosome)는 정수의 엘리먼트들을 포함하는 벡터로 구성되고,
    상기 정수는 상기 선점(preemptive) 태스크에 대응하는 선점 태스크 조합(preemptive task combination)의 인덱스를 나타내고,
    상기 선점 태스크 조합(preemptive task combination)은 상기 선점(preemptive) 태스크에 대응하는 상기 실시간 스케쥴링 제약(real-time scheduling constraint)을 만족하는 태스크 스케쥴링 결과들 중 어느 하나인 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 방법.
  6. 제4항에 있어서,
    상기 염색체(chromosome)는 정수의 엘리먼트들을 포함하는 벡터로 구성되고,
    상기 정수는 상기 비선점(non-preemptive) 태스크에 대하여 상기 실시간 스케쥴링 제약(real-time scheduling constraint)을 만족하는 상기 비선점(non-preemptive) 태스크의 수행 시작 시간을 나타내는 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 방법.
  7. 제1항에 있어서,
    상기 유전 알고리즘(genetic algorithm)은
    시간 슬롯 당 최대 전력 부하(peak load)를 기반으로 하는 적합도 함수(fitness function)를 이용하는 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 방법.
  8. 제4항에 있어서,
    상기 유전 알고리즘(genetic algorithm)은
    상기 실시간 스케쥴링 제약(real-time scheduling constraint)을 만족하는 태스크 스케쥴링 결과들을 기초로 벡터내 각 엘리먼트들의 유효한 범위 내에서 랜덤하게 최초 해 집단(population)을 생성하는 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 방법.
  9. 제5항에 있어서,
    상기 유전 알고리즘(genetic algorithm)은
    상기 선점(preemptive) 태스크에 대하여 상기 선점 태스크 조합(preemptive task combination)의 인덱스를 기초로 랜덤 하게 최초 해 집단(population)을 생성하는 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 방법.
  10. 제6항에 있어서,
    상기 유전 알고리즘(genetic algorithm)은
    상기 비선점(non-preemptive) 태스크에 대하여 상기 비선점(non-preemptive) 태스크의 수행 시작 시간을 기초로 랜덤 하게 최초 해 집단(population)을 생성하는 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 방법.
  11. 제1항에 있어서,
    상기 유전 알고리즘(genetic algorithm)은
    품질 비례 룰렛휠 선택(roulette wheel selection) 기법을 이용하여 부모 염색체(parent chromosome)의 선택(selection) 연산을 수행하는 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 방법.
  12. 제1항에 있어서,
    상기 유전 알고리즘(genetic algorithm)은
    균등 교차(uniform crossover) 기법을 이용하여 부모 염색체(parent chromosome)의 교차(crossover) 연산을 수행함으로써 자식 염색체(child chromosome)를 생성하는 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 방법.
  13. 제1항에 있어서,
    상기 유전 알고리즘(genetic algorithm)은
    중복 복제 배제 대치(replacement for duplicated genes) 기법을 이용하여 해 집단(population) 내 동일한 염색체(chromosome)의 존재를 배제하는 대치(replacement) 연산을 수행하는 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 방법.
  14. 인 홈 네트워크(in-home network)에서 발생하는 전력 소비 태스크들을 수신하는 수신부;
    상기 전력 소비 태스크들의 유형들을 식별하는 식별부;
    상기 유형들에 따라 상기 전력 소비 태스크들을 유전 알고리즘(genetic algorithm)을 이용하여 스케쥴링 하는 스케쥴러; 및
    상기 스케쥴링에 따라 가정용 전기제품의 전력을 제어하는 컨트롤러
    를 포함하는 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 장치.
  15. 제14항에 있어서,
    상기 전력 소비 태스크들의 유형들은
    선점(preemptive) 태스크의 유형과 비선점(non-preemptive) 태스크의 유형을 포함하고,
    상기 스케쥴러는
    상기 선점(preemptive) 태스크 및 상기 비선점(non-preemptive) 태스크 각각의 활성화 시간(activation time), 마감 시간(deadline) 및 동작 시간(operation length)에 따라 상기 선점(preemptive) 태스크 및 상기 비선점(non-preemptive) 태스크를 모델링 하는 모델링부 및
    상기 모델링 된 선점(preemptive) 태스크 및 비선점(non-preemptive) 태스크를 이용하여 스케쥴링을 수행하는 스케쥴링 수행부
    를 포함하는 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 장치.
  16. 제14항에 있어서,
    상기 제어된 가정용 전기제품의 전력에 관한 정보는 상기 인 홈 네트워크에 포함된 스마트 그리드 홈 컨트롤러에 제공되는 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 장치.
KR1020110094252A 2011-09-19 2011-09-19 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 방법 및 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 장치 KR101348439B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110094252A KR101348439B1 (ko) 2011-09-19 2011-09-19 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 방법 및 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110094252A KR101348439B1 (ko) 2011-09-19 2011-09-19 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 방법 및 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 장치

Publications (2)

Publication Number Publication Date
KR20130030646A true KR20130030646A (ko) 2013-03-27
KR101348439B1 KR101348439B1 (ko) 2014-01-09

Family

ID=48180161

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110094252A KR101348439B1 (ko) 2011-09-19 2011-09-19 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 방법 및 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 장치

Country Status (1)

Country Link
KR (1) KR101348439B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170086363A (ko) * 2016-01-18 2017-07-26 성신여자대학교 산학협력단 무선 센서 네트워크 복구 및 교체 장치, 이를 위한 방법 및 이 방법이 기록된 컴퓨터로 판독 가능한 기록매체
CN110119317A (zh) * 2019-05-22 2019-08-13 湖南大学 一种基于遗传算法的云计算任务调度方法和系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170086363A (ko) * 2016-01-18 2017-07-26 성신여자대학교 산학협력단 무선 센서 네트워크 복구 및 교체 장치, 이를 위한 방법 및 이 방법이 기록된 컴퓨터로 판독 가능한 기록매체
KR101868498B1 (ko) * 2016-01-18 2018-06-18 성신여자대학교 산학협력단 무선 센서 네트워크 복구 및 교체 장치, 이를 위한 방법 및 이 방법이 기록된 컴퓨터로 판독 가능한 기록매체
CN110119317A (zh) * 2019-05-22 2019-08-13 湖南大学 一种基于遗传算法的云计算任务调度方法和系统
CN110119317B (zh) * 2019-05-22 2021-02-26 湖南大学 一种基于遗传算法的云计算任务调度方法和系统

Also Published As

Publication number Publication date
KR101348439B1 (ko) 2014-01-09

Similar Documents

Publication Publication Date Title
Khan et al. Time and device based priority induced comfort management in smart home within the consumer budget limitation
Luo et al. Optimal home energy management system with demand charge tariff and appliance operational dependencies
Soares et al. A customized evolutionary algorithm for multiobjective management of residential energy resources
Derakhshan et al. The optimization of demand response programs in smart grids
JP5856666B2 (ja) 電力需給制御装置及び電力需給制御方法
US20110270452A1 (en) Scheduling and modeling the operation of controllable and non-controllable electronic devices
Allerding et al. Organic smart home: architecture for energy management in intelligent buildings
Reis et al. A multi-agent system approach to exploit demand-side flexibility in an energy community
Lee et al. Electricity usage scheduling in smart building environments using smart devices
Garrab et al. An agent based fuzzy control for smart home energy management in smart grid environment
CN111466063A (zh) 储能管理及控制方法、系统、计算机设备、存储介质
Azar et al. Appliance scheduling optimization for demand response
EP2951858A1 (en) Automatic system for controlling appliances
Bae et al. User-friendly demand side management for smart grid networks
Nesmachnow et al. Holistic multiobjective planning of datacenters powered by renewable energy
Zhu et al. Real-time pricing considering different type of smart home appliances based on Markov decision process
Allerding et al. Customizable energy management in smart buildings using evolutionary algorithms
Ghorbani et al. Multi-agent autonomous decision making in smart micro-grids’ energy management: a decentralized approach
Madhuri et al. IOT integrated smart grid management system for effective energy management
Carvalho et al. An adaptive multi-agent-based approach to smart grids control and optimization
JP2018190115A (ja) 電力管理装置及びプログラム
KR101348439B1 (ko) 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 방법 및 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 장치
Ramos et al. Selection of features in reinforcement learning applied to energy consumption forecast in buildings according to different contexts
Galvan et al. Reducing electricity costs in a dynamic pricing environment
KR101775269B1 (ko) 분산전원 통합 거래 관리 시스템 및 발전량 할당 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170220

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180201

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190122

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20200123

Year of fee payment: 7