다중 에너지 시스템 클러스터의 협력적 최적화를 위한 수요 반응 모델

이 문서는 여러 지역 다중 에너지 시스템이 상호 연결된 환경에서 수요 반응(DSR)을 통합하여 시스템의 운영 비용과 탄소 배출량을 최소화하는 다중 목표 최적화 모델에 대해 설명합니다. 일반적으로 이러한 다중 목표 문제는 NSGA-II와 같은 진화 알고리즘으로 해결되지만, 본 접근 방식은 YALMIP 라이브러리와 혼합 정수 계획법(MIP) 솔버(예: CPLEX 또는 Gurobi)를 사용하여 파레토 해 집합을 직접 탐색하는 방식을 채택합니다. 이는 두 가지 목표 함수에 가중치를 부여하여 최적 해의 프론티어를 찾는 새로운 관점을 제공합니다.

지역 다중 에너지 시스템 수요 반응 모델

수요 반응 모델은 크게 세 가지 유형의 부하 조절을 포함합니다: 삭감 가능 부하, 이전 가능 부하, 그리고 대체 가능 부하. 각 부하 유형은 특정 조절 제한을 만족해야 합니다. 이러한 수요 반응은 시스템의 유연성을 높이고 전체 운영 효율을 개선하는 데 기여합니다. 수요 반응에 대한 보상 비용은 이 세 가지 유형의 부하 조절량에 따라 계산됩니다.


% 최적화 변수 선언 (예: 24시간 운영 기준)
% dr_reducible_elec_zone1: 1구역 삭감 가능 전력 부하
% dr_transferable_elec_zone1: 1구역 이전 가능 전력 부하
% dr_sub_elec_zone1: 1구역 대체 가능 전력 부하 (전력 수요 감소)
% dr_sub_gas_zone1: 1구역 대체 가스 부하 (가스 수요 증가, 전력 대체)
dr_reducible_elec_zone1 = sdpvar(1,24);
dr_transferable_elec_zone1 = sdpvar(1,24);
dr_sub_elec_zone1 = sdpvar(1,24);
dr_sub_gas_zone1 = sdpvar(1,24);

% 예시: 1구역의 기본 전력 부하 (시간별, 실제 데이터는 외부에서 로드)
% 값은 예시를 위한 스케일링을 고려하지 않은 절대값입니다.
base_elec_load_zone1 = [375,300,250,250,250,250,375,500,300,300,300,300,400,300,300,300,300,500,700,750,750,700,660,660];
gas_calorific_value_factor = 10; % 단위 m^3당 가스 에너지 환산 계수 (예시)

% 제약 조건 정의를 위한 YALMIP 컨테이너
constraints = [];

% 1. 삭감 가능 부하 제약 조건
% 삭감량은 0 이상, 기본 전력 부하의 10%를 초과할 수 없음
constraints = [constraints, 0 <= dr_reducible_elec_zone1, dr_reducible_elec_zone1 <= 0.1 * base_elec_load_zone1];

% 2. 이전 가능 부하 제약 조건
% 이전량은 기본 부하의 +/- 10% 범위 내에서 조절 가능
% 하루 동안의 총 이전량은 0이어야 함 (전체 부하량 변화 없음)
constraints = [constraints, -0.1 * base_elec_load_zone1 <= dr_transferable_elec_zone1, dr_transferable_elec_zone1 <= 0.1 * base_elec_load_zone1];
constraints = [constraints, sum(dr_transferable_elec_zone1) == 0];

% 3. 대체 가능 부하 제약 조건 (전력을 가스로 대체)
% 대체 전력량은 0 이상, 기본 전력 부하의 10%를 초과할 수 없음
constraints = [constraints, 0 <= dr_sub_elec_zone1, dr_sub_elec_zone1 <= 0.1 * base_elec_load_zone1];
% 전력 대체량과 가스 사용량 간의 에너지 등가 관계 (예시)
constraints = [constraints, dr_sub_elec_zone1 == dr_sub_gas_zone1 * gas_calorific_value_factor];

% 수요 반응 보상 비용 계산 변수 선언
dr_compensation_cost = sdpvar(1,1);

% 수요 반응 유형별 보상 계수
compensation_coeff_reducible = 0.432;
compensation_coeff_transferable = 0.060 / 2; % 이전 부하의 경우 평균 보상 계수
compensation_coeff_substitutable = 0.120;

% 수요 반응 보상 비용 총합 (예시를 위해 단일 구역 변수만 포함)
% 실제 모델에서는 모든 지역의 수요 반응 변수가 합산됩니다.
dr_compensation_cost_expr = compensation_coeff_reducible * sum(abs(dr_reducible_elec_zone1)) + ...
                            compensation_coeff_transferable * sum(abs(dr_transferable_elec_zone1)) + ...
                            compensation_coeff_substitutable * sum(abs(dr_sub_elec_zone1));
constraints = [constraints, dr_compensation_cost == dr_compensation_cost_expr];

목표 함수

이 최적화 문제의 목표 함수는 크게 두 가지입니다:

  1. 총 운영 비용 최소화: 에너지 구매 비용, 장비 운영 유지보수 비용, 수요 반응 보상 비용 등을 포함합니다.
  2. 총 탄소 배출량 최소화: 화석 연료 연소 및 전력 구매로 인한 탄소 배출량을 고려합니다.

YALMIP를 활용한 혼합 정수 계획법은 이러한 다중 목표를 직접 최적화하기 위해 일반적으로 가중치 합 접근 방식을 사용합니다. 각 목표 함수에 다른 가중치를 부여하여 최적화 문제를 반복적으로 해결함으로써 파레토 프론티어(Pareto front)를 생성하고 다양한 운영 전략 간의 트레이드오프를 분석할 수 있습니다.

시스템 운영 제약 조건 (예시)

다중 에너지 시스템은 전력망, 열원, 냉열원, 가스망과의 상호작용 및 다양한 에너지 변환 장치의 운영을 포함합니다. 각 장비의 효율, 최소/최대 가동 제약, 그리고 각 에너지원의 균형 제약이 모델에 포함됩니다.


% 주요 에너지원 및 변환 장치 변수 선언 (예시, 24시간 기준)
elec_from_grid_zone1 = sdpvar(1,24); % 1구역 전력망에서 구매하는 전력
gas_turbine_input_gas_zone1 = sdpvar(1,24); % 1구역 가스 터빈 가스 투입량
gas_turbine_output_elec_zone1 = sdpvar(1,24); % 1구역 가스 터빈 전력 출력
p2g_input_elec_zone1 = sdpvar(1,24); % 1구역 P2G 전력 투입량
p2g_output_gas_zone1 = sdpvar(1,24); % 1구역 P2G 가스 생산량 (m^3 단위 가정)

% 기본 부하 및 수요 반응 변수 (이전 코드 블록에서 정의된 것으로 가정)
% base_elec_load_zone1 = ...;
% dr_reducible_elec_zone1 = ...;
% dr_transferable_elec_zone1 = ...;
% dr_sub_elec_zone1 = ...;

% 추가 제약 조건 컨테이너 (이전 'constraints'에 계속 추가)

% 전력망 상호작용 제약 (예시: 최대 구매량)
grid_max_purchase_zone1 = 2000; % 예시 값 (단위: kW)
constraints = [constraints, 0 <= elec_from_grid_zone1, elec_from_grid_zone1 <= grid_max_purchase_zone1];

% 가스 터빈 운영 제약
gas_turbine_max_output_zone1 = 1200; % 예시 값 (단위: kW)
gas_turbine_min_output_zone1 = 120;  % 예시 값 (단위: kW)
gas_turbine_efficiency_elec = 0.35; % 전력 생산 효율
gas_calorific_value_factor = 10; % m^3당 에너지 환산 계수 (이전 코드에서 재사용)

constraints = [constraints, gas_turbine_min_output_elec_zone1 <= gas_turbine_output_elec_zone1, gas_turbine_output_elec_zone1 <= gas_turbine_max_output_elec_zone1];
% 가스 터빈 입력 가스량과 출력 전력 간의 관계
constraints = [constraints, gas_turbine_output_elec_zone1 == gas_turbine_input_gas_zone1 * gas_calorific_value_factor * gas_turbine_efficiency_elec];

% P2G (Power-to-Gas) 운영 제약
p2g_max_input_elec_zone1 = 100; % 예시 값 (단위: kW)
p2g_conversion_efficiency = 0.5; % P2G 효율

constraints = [constraints, 0 <= p2g_input_elec_zone1, p2g_input_elec_zone1 <= p2g_max_input_elec_zone1];
% P2G 입력 전력과 생산 가스량 간의 관계
% (생산 가스 에너지량 = 입력 전력 * 효율)
constraints = [constraints, p2g_output_gas_zone1 * gas_calorific_value_factor == p2g_input_elec_zone1 * p2g_conversion_efficiency];

% 전체 시스템 전력 균형 제약 (모든 지역의 통합 전력 균형 예시)
% 편의상 다른 지역 및 장비 변수는 '...'로 표기
total_elec_demand = base_elec_load_zone1 + ... % 기본 전력 부하
                    (dr_transferable_elec_zone1) - ... % 이전 가능 부하 (양수는 증가, 음수는 감소)
                    (dr_reducible_elec_zone1) - ... % 삭감 가능 부하
                    (dr_sub_elec_zone1); % 대체된 전력 부하

total_elec_supply = elec_from_grid_zone1 + ... % 전력망 공급
                    gas_turbine_output_elec_zone1 - ... % 가스 터빈 발전
                    p2g_input_elec_zone1; % P2G 소비 전력
                    % ... 기타 전력 생산/소비 장비 (에어컨, 전기 냉각기 등)

% 모든 전력 공급과 수요의 균형을 맞춤
constraints = [constraints, total_elec_supply == total_elec_demand];

태그: Matlab YALMIP 혼합정수계획법 다중에너지시스템 수요반응

8월 19일 19:56에 게시됨