참조
카테고리 : 메가 슬롯 PSOPT 라이브러리
메인파일 : OPF5bus.gms
$title 5버스 시스템을 위한 최적의 전력 흐름
$onText
자세한 내용은 다음 책의 6장(Gcode6.3)을 참조하세요.
소루디, 알리레자. 메가 슬롯의 전력 시스템 최적화 모델링. 스프링거, 2017.
--------------------------------------------------------------------------------
모델 유형: LP
--------------------------------------------------------------------------------
작성자:
알리레자 소루디 박사
IEEE 수석 회원
이메일: alireza.soroudi@gmail.com
우리는 개발된 메가 슬롯 코드를 사용하여 파생된 출판물을 요청합니다.
인용함으로써 그 사실을 명시적으로 인정한다.
소루디, 알리레자. 메가 슬롯의 전력 시스템 최적화 모델링. 스프링거, 2017.
DOI: doi.org/10.1007/978-3-319-62350-4
$offText
세트
버스 / 1*5 /
슬랙(버스) / 1 /
세대 / g1*g5 /;
스칼라 Sbase / 100 /;
별칭(버스,노드);
테이블 GenData(Gen,*) '발전소 특성'
b 분 p 최대
g1 14 0 40
g2 15 0 170
g3 30 0 520
g4 40 0 200
g5 10 0 600 ;
* ----------------------------------------
GBconect(bus,Gen) '각 생성 단위의 각 버스에 대한 연결 지수' 설정
/
1.g1
1.g2
3.g3
4.g4
5.g5
/;
****************************************************
표 BusData(bus,*) '각 버스의 수요(MW 단위)'
PD
2 300
3 300
4400;
****************************************************
conex '버스 연결 매트릭스' 설정
/
1.2
2.3
3.4
4.1
4.5
5.1
/;
* ----------------------------------------
conex(버스,노드)$(conex(노드,버스)) = 1;
테이블 분기(버스,노드,*) '네트워크 기술적 특성'
x 한도
1.2 0.0281 400
1.4 0.0304 400
1.5 0.0064 400
2.3 0.0108 400
3.4 0.0297 400
4.5 0.0297 240;
분기(버스,노드,'x')$(분기(버스,노드,'x')=0) = 분기(노드,버스,'x');
분기(버스,노드,'한계')$(분기(버스,노드,'한계')=0) = 분기(노드,버스,'한계');
분기(버스,노드,'bij')$conex(버스,노드) = 1/분기(버스,노드,'x');
*****************************************************
변수 OF, Pij(버스,노드), Pg(Gen), delta(버스);
방정식 const1, const2, const3;
*********************************************
const1(버스,노드)$(conex(버스,노드))..
Pij(버스,노드) =e= 분기(버스,노드,'bij')*(델타(버스) - 델타(노드));
const2(버스)..
sum(Gen$GBconect(버스,Gen), Pg(Gen)) - BusData(버스,'pd')/Sbase =e= sum(node$conex(노드,버스), Pij(버스,노드));
const3..
OF =g= sum(Gen, Pg(Gen)*GenData(Gen,'b')*Sbase);
모델 로드플로우 / const1, const2, const3 /;
Pg.lo(Gen) = GenData(Gen,'Pmin')/Sbase;
Pg.up(Gen) = GenData(Gen,'Pmax')/Sbase;
delta.up(버스) = 파이;
delta.lo(버스) =-pi;
delta.fx(slack) = 0;
Pij.up(버스,노드)$((conex(버스,노드)))= 1*branch(버스,노드,'한계')/Sbase;
Pij.lo(버스,노드)$((conex(버스,노드)))=-1*branch(버스,노드,'한계')/Sbase;
lp를 사용하여 OF를 최소화하는 로드플로우를 해결합니다.
매개변수 보고서(버스,*), 혼잡비용;
보고서(버스,'Gen(MW)') = sum(Gen$GBconect(버스,Gen), Pg.l(Gen))*sbase;
보고서(버스,'각도') = delta.l(버스);
보고서(버스,'로드(MW)') = BusData(버스,'pd');
보고서(버스,'LMP($/MWh)') = const2.m(버스)/sbase ;
혼잡 비용 = sum((버스,노드), Pij.l(버스,노드)*(-const2.m(버스) + const2.m(노드)))/2;
디스플레이 보고서, Pij.l, Congestioncost;