2014-10-06 4 views
1

AMPL 문서 세트를 읽는 데 어떤 해결책도 찾지 못했던 문제가 발생했습니다.AMPL : 대상 도시 내의 터미널 모델

내가 원하는 모델은 Kir가 다른 도시의 예를 들어 Sto와 같은 9 개의 배송을 보유해야한다는 것입니다. 그러나 이러한 배달은 일부 특정 터미널에서 Kir에 도착해야하며 각 터미널은 매일 작은 시간 (약 2 분) 동안 만 열려 있습니다. 원점 노드에서도 마찬가지입니다. Sto의 경로는 특정 터미널에서 지정해야합니다 (결과에서 경로가 "추적"될 수 있음).

집합에 대해 "V within K"연산을 사용하여 모델을 만들기 시작했으나 V는 동일한 집합이거나 K의 하위 집합이어야합니다. 여기서 K는 "nodes"를 나타내는 집합입니다. - Kir , 스토 등 V는, "2 터미널", "제 1 터미널"단자의 이름의 집합입니다 등

내가 예를 들어 정의 예 "로 설정 K 치수 4"를 확인하기 시작했습니다

:

set K dimension 4; 

data; 

set K:= 
Sto Kir Terminal1 Terminal2 
Bod Kir Terminal3 Terminal2; 

여기서 K는 어떤 도시 (예 : Sto)에서 Sto의 출발 터미널이 터미널 1이고 Kir의 배달 터미널이 (예 : Kir) 터미널 2입니다. 이것은 많은 수의 조합을 지정해야하는 단점이 있습니다 (Kir 만 약 22 개의 터미널이 수동으로 있습니다). 그런 다음 제약 조건을 모델링하는 방법을 모르겠습니다. 예를 들어, "하나의 차원"세트는 내가 이전에 했어 :

V는 도시의 집합 혼자이고, H는 차량의 집합입니다
subject to yvar{i in V, j in V}: 
    sum{k in H} x[i,j,k] <= maxVisits[i,j]; 

, maxVisits 도시 시내 전에서 deliviries의 최대 양을 나타냅니다 차량 k를 사용하여 i에서 j로 인도가 이루어지면 j와 x는 1이됩니다. 나는이 KH을 통해 인덱스 x이다 모델링하고 단말기를 포함하는 요약을 변경하려면 네 가지 차원 세트 K.

감사를 사용하여,이 모델링 할 수있는 방법을

답변

1

한 가지 방법을 이해하지 않습니다

var x{K, H} binary; 
subject to yvar{i in V, j in V}: 
    sum{(i,j,t,u) in K, k in H} x[i,j,t,u,k] <= maxVisits[i,j]; 

요약의 색인 (i,j,t,u) in K 도시 j 시내 i에서 경로의 엔드 포인트입니다 터미널의 쌍을 반복합니다. ij은 제약 조건 색인화 {i in V, j in V}에 정의되어 있기 때문에 여기에서 고정되어 있습니다.

+0

저는 지난 저녁에이 문제에 대해 너무 과도하게 생각해 왔으며 4 차원 세트 K에 대한 구현에 대해 궁금해했습니다. 그리고 나는 그것이 약간의 불충분 함을 가지고 있음을 이해했습니다. 그것은 사전 정의 된 솔루션이기 때문에 프로그램이 "새로운"솔루션, 즉 터미널 경로의 새로운 조합 등을 찾는 것을 어떤 식 으로든 막을 것입니다. 흠 ... 글쎄, 생각해 보니, 데이터를 어떻게 구체화 할 것인가의 문제라고 생각합니다. 이 대답에 대해 필자의 코드를 수정하려고 시도 할 것입니다! 답변 해 주셔서 감사합니다. – Cenderze