설명
연료 일정과 단위 약속은 다음 문제를 해결합니다. 발전소 연료 공급 및 장치 ON/OFF 상태 판단 동시에 총 운영 비용을 최소화합니다. 현재 문제: 두 개의 생성 장치가 있습니다. 6시간 동안 총 부하를 충족합니다. 장치 중 하나는 석유 기반입니다. 동시에 저장 요구 사항, 유량을 충족해야 합니다. 등. 두 유닛 모두 세대 레벨에 제한이 있습니다.
소형 모델 유형 :MINLP
카테고리 : 슬롯 무료체험 모델 라이브러리
메인 파일 : fuel.gms
$title 연료 일정 및 단위 약속 문제(FUEL,SEQ=168)
$onText
연료 계획과 단위 투입은 다음과 같은 문제를 해결합니다.
발전소 연료 공급 및 장치 ON/OFF 상태 판단
동시에 총 운영 비용을 최소화합니다.
현재 문제: 두 개의 생성 장치가 있습니다.
6시간 동안 총 부하를 충족합니다. 장치 중 하나는 석유 기반입니다.
동시에 저장 요구 사항, 유량을 충족해야 합니다.
등. 두 장치 모두 생성 수준에 제한이 있습니다.
Wood, AJ 및 Wollenberg, BF, 예제 문제 4e. 발전 부문에서는
운영 및 제어. John Wiley and Sons, 1984, pp. 85-88.
키워드: 혼합 정수 비선형 프로그래밍, 스케줄링, 엔지니어링, 전력
세대, 단위 약속 문제
$offText
세트
t '스케줄링 기간(2시간)' / 기간-1*기간-3 /
u '발전 단위' / 석유, 기타 /;
매개변수
load(t) '시스템 부하' / 주기-1 400, 주기-2 900, 주기-3 700 /
initlev(t) '석유 저장 탱크의 초기 레벨' / period-1 3000 /;
변수
status(t) '석유 발전 장치의 켜짐 또는 꺼짐 상태'
poil(t) '석유 기반 장치의 생성 수준'
기타(t) '다른 세대'
석유(t) '석유 소비량'
Volume(t) '저장탱크에 들어있는 기름의 양'
비용 '총 운영 비용';
바이너리 변수 상태;
양수 가변 용량, 오일;
볼륨.업(t) = 4000;
Volume.lo(t)$(ord(t) = 카드(t)) = 2000;
기타.lo(t) = 50;
기타.up(t) = 700;
방정식
costfn '장치 2의 총 운영 비용 - 목표 fn'
lowoil(t) '석유 생성 단위의 하한'
maxoil(t) '석유 생성 단위의 상한'
floweq(t) '저장탱크의 오일 흐름 균형'
demcons(t) '총 발전량은 부하를 충족해야 합니다'
oileq(t) '석유 소비량 계산';
costfn.. 비용 =e= sum(t, 300 + 6*others(t) + 0.0025*sqr(others(t)));
lowoil(t)..poil(t) =g= 100*status(t);
maxoil(t)..poil(t) =l= 500*status(t);
floweq(t).. 부피(t) =e= 부피(t - 1) + 500 - 오일(t) + initlev(t);
oileq(t).. oil(t) =e= 50*status(t) + poil(t) + 0.005*sqr(poil(t));
demcons(t)..poil(t) + other(t) =g= load(t);
모델 ucom / all /;
poil.l(t) = 100;
비용을 최소화하는 minlp를 사용하여 ucom을 해결합니다.