슬롯 커뮤니티gms : 모로코 비료 분배 - 모드 선택

설명

이 모델은 다양한 운송 비용을 추정하는 데 사용되었습니다.
모로코의 비료 종류 철도 및 도로 운송만 고려됩니다.
그러나 슬롯 커뮤니티 전환은 허용됩니다. 세 가지 전송 행렬은 다음과 같이 계산됩니다.
(1) 항구에서 배깅 스테이션까지의 운송 비용 추정, (2) 배깅
센터에서 마켓 센터로, (3) 포트에서 마켓 센터로.

대형 모델 유형 :LP


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


메인 파일 : 슬롯 커뮤니티gms

$title 모로코 비료 분배 - 모드 선택(슬롯 커뮤니티SEQ=66)

$onText
이 모델은 다양한 운송 비용을 추정하는 데 사용되었습니다.
모로코의 비료 종류 철도 및 도로 운송만 고려됩니다.
그러나 모드 전환은 허용됩니다. 세 가지 전송 행렬은 다음과 같이 계산됩니다.
(1) 항구에서 포장 스테이션까지의 운송 비용 추정, (2) 포장
센터에서 시장 센터로, (3) 항구에서 시장 센터로.

Meeraus, A 및 Smeers, Y, 선형 프로그래밍을 통한 운송 비용 추정.
세계은행, 1985.

키워드: 선형계획법, 시나리오 분석, 비료산업, 미시경제학
          유통 문제, 운송 문제
$offText

세트
   n '철도 및 도로 네트워크용 노드'
     / agadir , afrour , aknoul , al-hoceima , azilal , azrou
       벤슬림, 벤게리르, 베니멜랄, 베니우킬, 베레키드, 부르파
       부게드라, 부레마네, 카사블랑카, 샤우엔, 치차우아, 엘아욘
       엘자디다, 엘켈라, 에라치다, 에사우이라, 페스, 페스에발리
       figuig, fqih-ben, guercif, ifrane, jorf-las, kasba-tdl
       케니트라, 케타마, 케메셋, 케니프라, 쿠리브가, 라라슈
       마라케시, 마타르, 메크네스, 미델트, 나도르, 우아르자자트
       oued-metil, oued-zem, ouezzane, oujda, 쿠나라, 라바트
       로마니, 사피, 셀루안, 세타트, 시드벤누르, 시디에이드
       sidi-kacem, sidi-slim, sidi-smail, sou-e-arba, t-azial, taline
       tanger, taounate, taza, tetouan, tiznit, youssoufia /
   m '모드' / 철도, 도로 /
   nm(n,m) '노드 모드 매핑'
   orig(n,n) '원산지';

별칭 (n,np,npp), (m,mp);

테이블 호(n,np,m) '철도 및 도로 거리(km)'
                             철도 도로
   아가디르.    치차와 198
   아가디르.    에사우이라 173
   아가디르.    탈린 130
   아가디르.    티즈니트 78
   앞으로.    아질랄 67
   앞으로.    베니멜랄 19
   앞으로.    엘켈라 91
   앞으로.    fqih-ben 40
   악놀.    t-azial 39
   악놀.    타우네이트 120
   악놀.    타자 61
   알-호세이마.케타마 107
   al-hoceima.t-azial 65
   아질랄.    마라케시 163
   아즈루.     페스 61
   아즈루.     케니프라 82
   아즈루.     메크네스 60
   아즈루.     미델트 125
   벤 슬림.  카사블랑카 55
   벤 슬림.  라바트 64
   벤 슬림.  로마니 57
   벤게리르. 엘켈라 57
   벤게리르. 마라케시 74 70
   벤게리르. 설정 104 96
   벤게리르. 유수피아 59 60
   beni-melal.fqih-ben 42
   beni-melal.kasba-tdl 30
   beni-oukil.bourfa 287
   beni-oukil.el-ayon 64
   beni-oukil.oujda 16
   베레키드.  카사블랑카 36 36
   베레키드.  엘 자디다 106
   베레키드.  쿠리브가 78
   베레키드.  설정 30
   베레키드.  시디에이드 14 14
   부르파.    에라치다 250
   부르파.    그림 108
   부르파.    마타르 185
   부게드라.  마라케시 131
   부게드라.  쿠나라 97
   부게드라.  사피 26
   부게드라.  시디 이메일 81
   부울만. 페스 101
   부울만. 이프란 53
   부울만. 미델트 86
   카사블랑카.엘자디다 98
   casablanca.jorf-las 110
   카사블랑카.라바트 89 91
   chaouen.   케타마 80
   chaouen.   우에잔 60
   chaouen.   테투안 60
   치차와. 에사우이라 101
   치차와. 마라케시 75
   엘-아욘.   구르시프 89
   엘-아욘.   oued-metil 21
   엘-아욘.   우즈다 80 79
   엘-아욘.   타자 164 164
   엘자디다. 조르프라스 12 12
   엘자디다. 사피 142
   엘자디다. 설정 137
   엘자디다. 시디 이메일 50
   엘켈라.  fqih-벤 102
   엘켈라.  마라케시 84
   er-rachida.midelt 154
   er-rachida.ouarzazate 320
   에사우이라. 쿠나라 24
   fes.       페페발리 87
   fes.       이프란 61
   fes.       메크네스 56 60
   fes.       우에잔 134
   fes.       시디카셈 82
   fes.       타우네이트 81
   fes.       타자 100 120
   fes-e-bali.ouezzane 70
   fes-e-bali.taounate 56
   fqih-ben.  쿠리브가 48
   fqih-ben.  우에젬 46
   guercif.   미델트 277
   guercif.   우에드-메틸 78
   guercif.   타자 65
   이프란.    메크네스 65
   조르프라스.  사피 130
   조르프라스.  설정 135
   조르프라스.  시디 이메일 48
   kasba-tdl. 케니프라 99
   kasba-tdl. 미델트 191
   kasba-tdl. oued-zem 47
   케니트라.   케메세트 79
   케니트라.   라바트 40 41
   케니트라.   시디슬림 60 62
   케니트라.   수에아르바 78
   케타마.    타우네이트 79
   케메세트. 메크네스 46
   케메세트. 라바트 81
   케메세트. 로마니 78
   케메세트. 시디슬림 59
   케니프라.  메크네스 119
   쿠리브가. oued-zem 34 33
   쿠리브가. 시디에이드 89 83
   라쉬.   수에아르바 73
   라쉬.   탕헤르 87
   마라케시. 와르자자트 178
   마라케시. 시드 베누르 137
   마라케시. 탈린 171
   마타르.    우즈다 83
   메크네스.    우에잔 104
   메크네스.    시디카셈 55 46
   메크네스.    시디슬림 57
   나도르.     셀루앙 11
   ouarzazate.taline 217
   oued-metil.selouane 65
   oued-zem.  로마니 91
   우에잔.  수에아르바 53
   우즈다.     셀루앙 129
   라바트.     로마니 81
   사피.      유수피아 83 90
   셀루앙.  t-azial 80
   설정.    시디에이드 16 16
   sid-benour.sidi-smail 28
   sidi-kacem.sidi-슬림 25 22
   sidi-kacem.sou-e-arba 60 60
   수에아르바.탕제르 140 160
   탠저.    테투안 60;

매개변수 darcs(n,np,m) '방향 호 길이(km)';

darcs(n,np,m) = max(arcs(n,np,m),arcs(np,n,m));
nm(n,m) = yes$sum(np, darcs(n,np,m) <> 0);
원본(n,n) = 예;

호 표시, nm;

$sTitle 모델 및 매개변수 정의
매개변수
   mrate(m) '거리별 모드 비율(톤당 km당 $)'
   lrate(m) '적재율(톤당 $)'
   urate(m) '하역율(톤당 $)'
   srate(m,mp) '모드 전환 비용(톤당 $)';

변수
   x(n,np,npp,m) '호의 흐름'
   y(n,m) '소스에 로드 중'
   z(n,np,m) '목적지에서 내리는 중'
   w(n,np,m,mp) '모드 전환'
   phi '총 비용(톤당 $)'
   phil '적재 비용(톤당 $)'
   phiu '하역 비용(톤당 $)'
   phis '전환 비용(톤당 $)'
   phim '모드 이동 비용(톤당 $)';

양수 변수 x, y, z, w;

방정식
   nb(n,np,m) '노드 잔액'
   db(n,np) '대상 잔액'
   cd '회계: 총 비용(톤당 $)'
   al '회계: 선적 비용(톤당 $)'
   au '회계: 하역 비용(톤당 $)'
   '회계: 전환 비용(톤당 $)'으로
   am '회계: 모드 이동 비용(톤당 $)';

세트
   s(n) '소스 노드 - 동적'
   d(n) '대상 노드 - 동적';

s(n) = 아니오;
d(n) = 아니오;

nb(s,n,m)$nm(n,m).. sum(np$darcs(np,n,m), x(s,np,n,m))
                 + 합계(mp$nm(n,mp), w(s,n,m,mp)) + y(s,m)$orig(s,n)
                =g= 합계(np$darcs(n,np,m), x(s,n,np,m)) + z(s,n,m)$d(n)
                 + 합계(mp$nm(n,mp), w(s,n,mp,m));

db(s,d)..sum(m$nm(d,m), z(s,d,m)) =g= 1;

al.. phil =e= sum((s,m)$nm(s,m), lrate(m)*y(s,m));

au.. phiu =e= sum((s,d,m)$nm(d,m), urate(m)*z(s,d,m));

as.. phis =e= sum((s,n,m,mp)$(nm(n,m)*nm(n,mp)), srate(m,mp)*w(s,n,m,mp));

am.. phim =e= sum((s,n,np,m), mrate(m)*darcs(n,np,m)*x(s,n,np,m));

cd.. phi =e= phil + phiu + phis + phim;

모델 슬롯 커뮤니티 '모로코 모드 선택 모델' /모두/;

$sTitle 하위 모델 선택 및 속도 정의
세트
   pp(n) '식물과 항구'
         / 아가디르, 카사블랑카, 조르프라스, 케니트라, 나도르, 사피, 탕헤르 /
   bc(n) '배깅 센터'
         / 아가디르, 베니멜랄, 베레키드, 부게드라, 카사블랑카, 엘아욘
           페스, 조르프라스, 케니트라, 마라케시, 메크네스, 나도르
           oued-zem, safi, sidi-slim, sou-e-arba, tanger, taza /
   mc(n) '시장 센터'
         / 아가디르, 알호세이마, 아질랄, 베니멜랄
           벤슬림, 부울망, 카사블랑카, 샤우엔
           엘자디다, 엘켈라, 에라치다, 에사우이라
           fes, figuig, ifrane, kenitra
           케메셋, 케니프라, 쿠리브가, 마라케시
           meknes, nador, ouarzazate, oujda
           라바트, 사피, 세타트, 탕헤르
           taounate, taza, tetouan, tiznit /;

옵션solvOpt = 교체;

** 항구에서 포장 센터까지 **
s(n) = pp(n);
d(n) = bc(n);
속도(m) = .5;
요산염(m) = 0;
슬레이트(m,mp) = 5;
mrate("철도") = .029;
mrate("도로") = .045;
슬레이트(m,m) = 0;

lp를 사용하여 phi를 최소화하는 슬롯 커뮤니티을 해결합니다.

매개변수 pptobc(n,np) '벌크 운송 비용: 배깅 센터까지의 항만(톤당 $)';
pptobc(s,d) = db.m(s,d) + .50$orig(s,d);

** 시장 진출 **
s(n) = pp(n);
d(n) = mc(n);
속도(m) = 1;
요산염(m) = 1;
슬레이트(m,mp) = 1;
mrate("철도") = .035;
mrate("도로") = .065;
슬레이트(m,m) = 0;

lp를 사용하여 phi를 최소화하는 슬롯 커뮤니티을 해결합니다.

매개변수 pptomc(n,np) '포장된 운송 비용: 시장까지의 운송 비용(톤당 $)';
pptomc(s,d) = db.m(s,d) + 1.30$orig(s,d);

** 수요 중심 지점 배깅 **
s(n) = 아니오;
d(n) = mc(n);
속도(m) = 1;
요산염(m) = 1;
슬레이트(m,mp) = 1;
mrate("철도") = .035;
mrate("도로") = .065;
슬레이트(m,m) = 0;

매개변수 bctomc(n,np) '포장된 운송 비용: 포장 센터에서 시장까지(톤당 $)';

* 문제는 사이버에 맞게 3가지 문제로 나누어져 있습니다.
* 작업공간. 다른 컴퓨터나 전문가 버전에서는 필요하지 않습니다.
* 또한 다음과 같은 이유로 각 해결 후에 bctomc가 할당된다는 점도 확인하세요.
* solOpt = 교체.

s(bc) = yes$(ord(bc) <= 6);
lp를 사용하여 phi를 최소화하는 슬롯 커뮤니티을 해결합니다.

bctomc(s,d) = db.m(s,d) + 1.30$orig(s,d);
s(bc) = yes$(ord(bc) > 6 및 ord(bc) <= 12);
lp를 사용하여 phi를 최소화하는 슬롯 커뮤니티을 해결합니다.

bctomc(s,d) = db.m(s,d) + 1.30$orig(s,d);
s(bc) = yes$(ord(bc) > 12);
lp를 사용하여 phi를 최소화하는 슬롯 커뮤니티을 해결합니다.

bctomc(s,d) = db.m(s,d) + 1.30$orig(s,d);

pptobc, pptomc, bctomc를 표시합니다.