설명
많은 발전소가 특정 수요를 충족시키기 위해 노력하고 있습니다. 일. 서로 다른 작동 특성을 갖는 세 가지 유형의 발전기 사용할 수 있습니다. 발전 장치는 다음 사이에 정지되거나 작동될 수 있습니다. 최소 및 최대 출력 레벨. 장치를 시작하거나 닫을 수 있습니다. 모든 수요 블록에서.
소형 모델 유형 :MIP
카테고리 : 무료 슬롯 모델 라이브러리
메인 파일 : magic.gms
$title M A G I C 전원 스케줄링 문제 (MAGIC,SEQ=12)
$onText
다수의 발전소가 특정 수요를 충족하기 위해 노력하고 있습니다.
일. 서로 다른 작동 특성을 갖는 세 가지 유형의 발전기
사용할 수 있습니다. 발전 장치는 다음 사이에 정지되거나 작동될 수 있습니다.
최소 및 최대 출력 레벨. 장치를 시작하거나 닫을 수 있습니다.
모든 수요 블록에서.
Garver, L L, 정수 프로그래밍을 통한 전원 스케줄링,
관세율-발전-문제, IEEE Trans. 전원 장치
및 시스템, 81, 730-735, 1963
Day, R E, Williams, H P, MAGIC: 인터랙티브 디자인과 활용
수학 프로그래밍을 위한 모델링 언어. 기술. 대표, 부서
1982년 에든버러 대학교 경영학 석사.
Williams, HP, 수학적 계획법 모델 구축. 존 와일리
그리고 아들들, 1978.
키워드: 혼합 정수 선형 계획법, 스케줄링, 발전
$offText
세트
t '수요 차단' / 오후 12시~오전 6시, 오전 6시~9시, 오전 9시~오후 3시, 오후 3시~6시, 오후 6시~12시 /
g '발전기' / 유형-1*유형-3 /;
매개변수
dem(t) '수요(1000mw)' / 오후 12시~오전 6시 15시, 오전 6시~오전 9시 30시, 오전 9시~오후 3시 25시, 오후 3시~오후 6시 40, 오후 6시~12시 27 /
dur(t) '기간(시간)' / 12pm-6am 6, 6am-9am 3, 9am-3pm 6, 3pm-6pm 3, 6pm-12pm 6 /
피크 '피크 전력(1000MW)'
ener(t) '로드 블록의 에너지 수요(1000mwh)'
테너 '총 요구 에너지(1000mwh)'
lf '부하율';
피크 = smax(t, dem(t));
ener(t) = dur(t)*dem(t);
tener = sum(t, ener(t));
lf = 테너/(피크*24);
피크, 테너, lf, 에너지를 표시합니다.
테이블 데이터(g,*) '세대 데이터'
최소-파우 최대-파우 비용-최소 비용-inc 시작 번호
* (1000mw) (1000mw) (l/h) (l/h/mw) (l) (단위)
유형-1 .85 2.0 1000 2.0 2000 12
2종 1.25 1.75 2600 1.3 1000 10
유형-3 1.5 4.0 3000 3.0 500 5;
변수
x(g,t) '발전기 출력(1000mw)'
n(g,t) '사용 중인 발전기 수'
s(g,t) '시동된 발전기 수'
비용 '총 운영 비용(l)';
정수 변수 n;
양수 변수 s;
방정식
pow(t) '전력 수요(1000mw)'
res(t) '회전 예비 요구 사항(1000mw)'
st(g,t) '스타트업 정의'
minu(g,t) '최소 발전 수준(1000mw)'
maxu(g,t) '최대 발전 수준(1000mw)'
cdef '비용 정의(l)';
pow(t)..sum(g, x(g,t)) =g= dem(t);
res(t).. sum(g, data(g,"max-pow")*n(g,t)) =g= 1.15*dem(t);
st(g,t)..s(g,t) =g= n(g,t) - n(g,t--1);
minu(g,t).. x(g,t) =g= data(g,"최소-전력")*n(g,t);
maxu(g,t).. x(g,t) =l= data(g,"max-pow")*n(g,t);
cdef.. 비용 =e= sum((g,t), dur(t)*data(g,"cost-min")*n(g,t) + data(g,"start")*s(g,t)
+ 1000*dur(t)*data(g,"비용-inc")*(x(g,t)-data(g,"min-pow")*n(g,t)));
n.up(g,t) = data(g,"숫자");
모델 윌리엄 / 모두 /;
william.optCr = 0;
mip를 사용하여 비용을 최소화하는 윌리엄의 문제를 해결합니다.
매개변수 담당자 '요약 보고서';
담당자(t,"수요") = dem(t);
rep(t,"회전") = sum(g, data(g,"max-pow")*n.l(g,t));
rep(t,"스타트업") = sum(g, s.l(g,t));
담당자(t,"m-비용") = -pow.m(t)/dur(t)/1000;
디스플레이 담당자;