설명
이 모델은 선박을 할당하여 인원을 수송하는 데 사용됩니다. 교육 센터와 다른 포트입니다.
소형 모델 유형 :MIP
카테고리 : 무료 슬롯 게임 모델 라이브러리
메인 파일 : thai.gms
$title 태국 해군 문제(THAI,SEQ=98)
$onText
이 모델은 인력을 수송하기 위해 선박을 할당하는 데 사용됩니다.
훈련 센터와 다른 포트.
Choypeng, P, Puakpong, P 및 Rosenthal, R E, 최적 선박 경로 지정
태국 해군 모집을 위한 인사 배정.
인터페이스 16, 4(1986), 356-366.
키워드: 혼합 정수 선형 계획법, 라우팅, 해군 모집,
스케줄링
$offText
세트
나는 '포트' / 춤폰, 수랏, 나콘, 송클라 /
j '항해' / v-01*v-15 /
k '선박 등급' / 소형, 중형, 대형 /
sc(i,k) '선박 능력' / chumphon.(소형,중형,대형)
(수라트,나콘).(중형,대형)
송클라.large /
vc(j,k) '항해 능력';
매개변수
d(i) '수송이 필요한 항구 p의 남성 수' / chumphon 475
수라트 659
나콘 672
송클라 1123 /
shipcap(k) '남자의 선박 용량' / 작은 100
중간 200
대형 600 /
n(k) '사용 가능한 선박 수' / 작은 2
중간 3
대형 4 /;
표 a(j,*) '항해에 대한 항구 할당'
춤폰 수랏 나콘 송클라 지역
v-01 370 1
v-02 460 1
v-03 600 1
v-04 750 1
v-05 515 1 1
v-06 640 1 1
v-07 810 1 1
v-08 665 1 1
v-09 665 1 1
v-10 800 1 1
v-11 720 1 1 1
v-12 860 1 1 1
v-13 840 1 1 1
v-14 865 1 1 1
v-15 920 1111;
스칼라
w1 '선박 할당 중량' / 1.00 /
w2 '선박 이동 거리 중량' / .01 /
w3 '개인 거리 이동 중량' / .0001 /;
vc(j,k) = prod(i$a(j,i), sc(i,k));
디스플레이 VC;
변수
z(j,k) '항해 jk가 사용된 횟수'
y(j,k,i) '항해 jk를 통해 i항에서 수송된 남성의 수'
obj;
정수 변수 z;
양의 변수 y;
방정식
objdef
요구(i) 'i 항구에 있는 모든 사람들을 태워주세요'
voycap(j,k) '항해 jk의 가변 용량을 관찰합니다'
shiplim(k) 'k 클래스의 한계를 관찰합니다';
수요(i).. sum((j,k)$(a(j,i)$vc(j,k)), y(j,k,i)) =g= d(i);
voycap(j,k)$vc(j,k).. sum(i$a(j,i), y(j,k,i)) =l= shipcap(k)*z(j,k);
shiplim(k).. sum(j$vc(j,k), z(j,k)) =l= n(k);
objdef.. obj =e= w1*sum((j,k)$vc(j,k), z(j,k))
+ w2*sum((j,k)$vc(j,k), a(j,"dist")*z(j,k))
+ w3*sum((j,k,i)$(a(j,i)$vc(j,k)), a(j,"dist")*y(j,k,i));
모델 thainavy/모두/;
z.up(j,k)$vc(j,k) = n(k);
mip를 사용하여 obj를 최소화하는 thainavy를 해결합니다.
y.l, z.l을 표시합니다.