rdata.gms : 미국 경제의 샘플 데이터베이스

설명

미국 경제의 미니 관계형 데이터베이스는 다음을 입증하는 데 사용됩니다.
관계형 데이터 모델의 몇 가지 기본 개념. 데이터 검증
수학 프로그래밍의 사용도 표시됩니다.

소형 모델 유형 :MIP


카테고리 : 슬롯 커뮤니티 모델 라이브러리


메인 파일 : rdata.gms

$title 미국 경제의 샘플 데이터베이스(RDATA,SEQ=38)

$onText
미국 경제의 미니 관계형 데이터베이스를 사용하여 설명합니다.
관계형 데이터 모델의 몇 가지 기본 개념. 데이터 검증
수학 프로그래밍의 사용도 표시됩니다.

Kendrick, D, 3장: 미국 경제의 관계형 데이터베이스.
Kindleberger, C P 및 Ditella, G, Eds, 장기적 관점에서의 경제학,
WW Rostow를 기리는 에세이. 맥밀란, 런던, 1982.

키워드: 혼합 정수 선형 계획법, 미국 경제, 관계형 데이터 모델
$offText

$s타이틀 세트 정의
세트
   식물 / 참새, 내륙, 컴포트, 록데일, 랜싱 /
   도시 / 참새-p, 록데일, p-컴포트, 게리, 랜싱 /
   주 / 인디애나, 메릴랜드, 미시간, 텍사스 /
   지역 / e-coast, g-coast, 중서부 /
   주지사 / 보웬, 클레멘츠, 휴즈, 밀리켄 /
   정당 / 민주당, 공화당 /
   회사 / us-steel, alcoa, inld-steel, gm /
   노동 조합 / iam, ibew, ibt, uaw, usa /
   단위 / 고로, 철강공장, 롤밀, 알루미나, 알루미늄, 스탬핑, 조립 /
   필수품 / 철광석, 선철, 고철, 철강, 평강, 보크사이트, 알루미나, 알루미늄, 자동차 차체, 자동차 /
   공정 / 선철, steel-pig, stl-scrap, 압연, 알루미나, 알루미늄, 자동차 차체, 자동 조립 /
   산업 / 철강, 알루미늄, 자동차 /
   섹터 / p-금속, transp-equ /
   지리(공장, 도시, 주, 지역) / (sparrows.sparrows-p.maryland.e-coast
                                         내륙 .gary .indiana .mid-west
                                         컴포트 .p-컴포트 .texas .g-coast
                                         rockdale.rockdale.texas.g-coast
                                         랜싱.랜싱.michigan.mid-west) /
   govaff(주, 주지사, 정당) / (indiana .bowen .republican
                                         maryland.hughes.democrat
                                         michigan.milliken.republican
                                         텍사스 .clements.republican) /
   소유권(회사,공장) / (알코아 .(컴포트,록데일)
                                         GM 랜싱
                                         inld-steel.inland
                                         us-steel .sparrows ) /
   sic(부문, 산업, 상품) / p-metals.(steel.(철광석, 선철, 철강, 평철, 고철)
                                         알루미늄.(보크사이트, 알루미나, 알루미늄))
                                         transp-equ.automobile.(auto-body,automobile) /
   indpl(industry,plant) '산업별 식물 분류';

$s제목 데이터
표 a(상품,과정) '입-산출 행렬'
                선철 강철 돼지 STL 스크랩 압연 알루미나 알루미늄 자동차 차체 자동 조립
   철광석 -1.
   선철 1. -.9 -.7
   고철 -.2 -.4 .2
   철강 1. 1. -1.2
   평강 1. -1.2
   보크사이트 -1.4
   알루미나 1. -1.2
   알루미늄 1 -.2
   자동바디 1. -1.
   자동차 1.;

표 b(단위,공정) '용량 활용 매트릭스'
                선철 강철 돼지 STL 스크랩 압연 알루미나 알루미늄 자동차 차체 자동 조립
   폭발물 1
   철강 상점 1 1
   롤밀 1
   알루미나 1
   알루미늄 1
   스탬핑 1
   조립 1;

표 k80(단위,공장) '1980년 생산능력(백만 단위)'
                참새 내륙 컴포트 록데일 랜싱
   폭발물 2 2.5
   철강상점 2.35 2.8
   롤밀 1.9 2.4
   알루미나 0.8
   알루미늄 .6 .5
   스탬핑 .6
   조립 .6;

테이블 emp(공장,노조) '고용(천)'
              어우 미국 아이뷰 아이엠 아이엠
   참새 1.2 .3 .05
   내륙 0.4
   편안함 .7 .2
   록데일 .5 .05
   랜싱 1.2 ;

$sTitle 데이터 조작
indpl(산업,공장) = yes$sum((부문,상품,공정,단위)$(sic(부문,산업,상품)
                                                               $(a(상품,공정) > 0)$b(단위,공정)
                                                               $k80(단위,공장)), 1);
디스플레이 indpl;

매개변수
   q1(노조,회사) '노조 및 회사별 고용(천명)'
   q2(unit,region) '지역별 용량(백만 단위)'
   q3(지사) '철강·자동차 취업(천명)'
   q4 '자동차 제조에 가장 적은 수의 노조 참여';

q1(조합,회사) = sum(공장$소유권(회사,공장), emp(공장,조합));
q2(단위, 지역) = sum((식물, 도시, 주)$geography(식물, 도시, 주, 지역), k80(단위, 식물));

ind3(산업) 'q3에 대한 산업 그룹' 설정 / 철강, 자동차 /;

q3(지사) = sum((주,당)$govaff(주,지사,당),
                    sum((ind3,공장,시,지역)$(지리(공장,시,주,지역)*indpl(ind3,공장)),
                         sum(union, emp(plant,union))));

q1, q2, q3을 표시합니다.

* 쿼리 번호 4에는 혼합 정수 문제의 해결이 필요합니다. 다른 매개변수는 다음과 같습니다.
*는 밉 공식화에 필요합니다.

매개변수
   수요(상품) '수백만 대' / 자동차 0.5 /
   ur(process,plant,union) '공장 프로세스에 대한 결합 관계'
   mu(union) '최대';

rawmat(상품) '원자재' 설정;

ur(프로세스,공장,조합) = sum(unit$k80(단위,공장), emp(공장,조합)*b(단위,공정));
mu(union) = sum((프로세스,공장), ur(프로세스,공장,연합));
rawmat(commodity) = yes$(not sum(process, a(commodity,process) > 0));
rawmat("고철") = 예;

수요, ur, mu, rawmat 표시;

$s제목 모델 정의
변수
   nunion '노조 수(숫자)'
   z(process,plant) '공정 수준(백만 단위)'
   업(노조) '노조참여'
   u(상품) '원자재 구매(백만 단위)';

양의 변수 z;
바이너리 변수 up;

방정식
   mb(상품) '물질수지(백만개)'
   cc(unit,plant) '용량 제약(백만 단위)'
   ub(union) '노조 잔액'
   ud '조합 정의';

mb(상품).. sum((공정,공장), a(상품,공정)*z(공정,공장))
                + u(상품)$rawmat(상품)
               =e= 수요(상품);

cc(단위,공장).. sum(공정, b(단위,공정)*z(공정,공장)) =l= k80(단위,공장);

ub(조합).. sum((프로세스,공장), ur(프로세스,공장,조합)*z(프로세스,공장)) =l= mu(조합)*up(조합);

ud..nunion =e= sum(union, up(union));

모델 데이비드 / 모두 /;

mip를 사용하여 David가 누니언을 최소화하는 문제를 해결합니다.

q4 = nunion.l;

q4를 표시;