설명
이것은 특정 오염 기준 내에서 생산을 계획하는 예입니다.
소형 모델 유형 :NLP
카테고리 : 슬롯 무료체험 모델 라이브러리
메인 파일 : pollut.gms
$title 산업 오염 통제(POLLUT,SEQ=96)
$onText
이는 특정 오염 기준 내에서 생산을 계획하는 예입니다.
망가사리안, OL, 비선형 계획법. 1973년 뉴욕 맥그로 힐.
키워드: 비선형 프로그래밍, 생산 계획, 오염 제어, 에너지
경제학
$offText
세트
j '분야' / 식품, 섬유, 의류, 목재, 가구
펄프+제지, 인쇄, 화학, 석탄+석유, 고무
가죽, 점토+석재, 강철, nf-금속, 금속-pr
기계, 전기 기계, 운송, 예비 기계, 기타 /
나는 '오염물질' / 대구, so2, 땅, 물 /;
테이블 w(j,i) '단위 하중'
대구 so2 육지 물
음식 .08488 .00909 .02990 .07195
직물 .03353 .02470 .08980 .17032
의류 .03353 .02470 .02780 .01345
목재 .00135 .00084 .06890 .01606
가구 .00153 .00084 .03500 .01429
펄프+종이 .23368 .07461 .04690 .15532
인쇄 .07609 .05767 .01290 .01850
화학물질 .07689 .05767 .05370 .09680
석탄+석유 .03736 .01663 .27080 .02900
고무 .02794 .00456 .06040 .09200
가죽 .02794 .00456 .04980 .07320
점토+석재 .00213 .08800 .11510 .09520
강철 .00633 .02361 .08900 .07780
nf-금속 .00091 .03376 .02670 .03720
금속-pr .00125 .00860 .06790 .04930
기계 .00089 .00376 .06210 .02480
전자-마하 .00123 .00369 .02950 .02300
운송 .00079 .00127 .07870 .04300
prec-mach .00396 .00252 .03830 .03010
기타 .00931 .00252 .04240 .03500;
테이블 z(j,*) '기타 데이터'
abkk0l0
식품 9.600 .121 .1064 29406 24709
직물 6.353 .194 .1611 21375 18918
의류 9.818 .204 .0848 8423 20636
목재 7.371 .181 .1428 13873 10457
가구 10.220 .171 .0955 8470 9739
펄프+종이 6.255 .145 .1759 36375 18880
인쇄 8.149 .304 .2190 66016 44480
화학물질 7.794 .146 .1439 80134 36526
석탄+석유 8.400 .173 .1314 1327 758
고무 9.933 .174 .0987 4414 4921
가죽 11.069 .167 .0817 3709 6766
점토+석재 6.528 .192 .1665 14496 9368
강철 7.928 .116 .1448 102399 31127
nf-금속 10.559 .091 .1026 28008 1166
금속-pr 6.606 .227 .1567 69314 59525
기계 7.153 .208 .1506 90014 63048
일렉-마하 11.146 .151 .0895 29360 29839
운송 6.884 .199 .1602 27687 16945
prec-mach 6.660 .253 .1446 4009 4828
기타 7.929 .182 .1256 24323 24569;
스칼라
알파 / .6 /
베타 / 1.4 /
감마1 / 1.4 /
감마2 / .9 /;
매개변수 tau(i) / cod .153e6, so2 .12e6, (땅, 물) .25e6 /;
변수
k(j) '자본'
l(j) '노동'
ㅋㅋㅋ
tl
출력;
방정식
객체
eq4(i)
eq5a
eq5b
kdef
ldef;
obj.. 출력 =e= sum(j, z(j,"a")*k(j)**(1 - z(j,"b"))*l(j)**z(j,"b"));
eq4(i).. sum(j, w(j,i)/z(j,"k")*k(j)) =l= tau(i);
eq5a..tk =g= 감마2*tl;
eq5b..tk =l= 감마1*tl;
kdef..tk =e= sum(j, k(j));
ldef..tl =e= sum(j, l(j));
k.lo(j) = alpha*z(j,"k0"); k.up(j) = beta*z(j,"k0"); k.l(j) = z(j,"k0");
l.lo(j) = alpha*z(j,"l0"); l.up(j) = beta*z(j,"l0"); l.l(j) = z(j,"l0");
모델 1개/모두/;
nlp를 사용하여 최대 출력을 해결합니다.