참조
카테고리 : 크레이지 슬롯 NOA 라이브러리
메인파일 : static.gms
$onText
정적 전력 스케줄링.
Neculai Andrei, 수학의 모델, 테스트 문제 및 응용
프로그래밍. 기술 언론, 부쿠레슈티, 2003.
(출원 A4. pp.347)
Hock, W., Schittkowski, K., 비선형 프로그래밍 코드에 대한 테스트 예제.
경제 및 수학 시스템 강의 노트. 187권, Springer-Verlag,
베를린, 1981. (문제 107, pp. 116)
$offText
매개변수 C, D;
C = 죄(0.25)*48.4/50.176;
D = cos(0.25)*48.4/50.176;
* 변수 x1과 x2는 두 발전기의 실제 전력 출력 x3과 x2입니다.
* x4는 무효 전력 출력, x5, x6, x7은 전압 크기
* 전기 네트워크의 세 노드에서 x8과 x9는 전압입니다.
* 이들 노드 중 두 개에서의 위상 각도.
변수 x1, x2, x3, x4, x5, x6, x7, x8, x9, obj;
방정식 e1, e2, e3, e4, e5, e6, eobj;
* 목적 함수:
eobj..obj =e= 3000*x1 + 1000*x1**3 + 2000*x2 + 666.667*x2**3;
* 제약:
* 제약조건은 실제 및 무효 전력 균형 방정식입니다.
* 전기 네트워크의 각 노드에서.
e1.. 0.4 - x1 + 2*C*x5**2 + x5*x6*(D*sin(-x8)-C*cos(-x8)) +
x5*x7*(D*sin(-x9)-C*cos(-x9)) =e= 0;
e2.. 0.4 - x2 + 2*C*x6**2 + x5*x6*(D*sin(x8)-C*cos(x8)) +
x6*x7*(D*sin(x8-x9)-C*cos(x8-x9)) =e= 0;
e3.. 0.8 + 2*C*x7**2 + x5*x7*(D*sin(x9)-C*cos(x9)) +
x6*x7*(D*sin(x9-x8)-C*cos(x9-x8)) =e= 0;
e4.. 0.2 - x3 + 2*D*x5**2 - x5*x6*(C*sin(-x8)+D*cos(-x8)) -
x5*x7*(C*sin(-x9)+D*cos(-x9)) =e= 0;
e5.. 0.2 - x4 + 2*D*x6**2 - x5*x6*(C*sin(x8)+D*cos(x8)) -
x6*x7*(C*sin(x8-x9)+D*cos(x8-x9)) =e= 0;
e6.. -0.337 + 2*D*x7**2 - x5*x7*(C*sin(x9)+D*cos(x9)) -
x6*x7*(C*sin(x9-x8)+D*cos(x9-x8)) =e= 0;
* 변수의 한계:
x1.lo = 0;
x2.lo = 0;
x5.lo = 0.90909; x5.up = 1.0909;
x6.lo = 0.90909; x6.up = 1.0909;
x7.lo = 0.90909; x7.up = 1.0909;
모델 정적 /all/;
nlp를 사용하여 정적 최소화 obj를 해결합니다.
$ifThenI x%mode%==xbook
/static1.dat/ 파일로 저장
내놔;
x1.l:15:7, x2.l:15:7, x3.l:15:7, x4.l:15:7, x5.l:15:7, x6.l:15:7,
x7.l:15:7, x8.l:15:7, x9.l:15:7 /;
put obj.l:15:7 /;
$endIf
* 정적 종료