2017-03-27 2 views
0

두 개의 색인 p와 k를 갖는 변수 v의 정의가 있습니다. 인덱스 p는 집합 P에 속하며 인덱스 k는 모든 m 저장소에 대해 집합 K에 속합니다. enter image description hereC#으로 Gurobi에 색인 된 집합에 속한 변수를 정의하십시오.

는이 같은 Gurobi의 변수를 정의 :

GRBVar[,] v; 
    for (int m = 0; m < M; m++) 
    v = new GRBVar[P,K[m]];  //variable of vehicle 

for (int p = 0; p < P; p++) 
{ 
for (int m = 0; m < M; m++) 
    { 
    for (int k = 0; k < K[m]; k++) 
    v[p,k] = model.AddVar(0.0, 1.0, 0.0, GRB.CONTINUOUS, "v" + p + "," + k); 
       } 
      } 

그러나 그것은 실행할 수 없습니다, 그것은 할당되지 않은 지역 변수 'V'를 사용했다. 정말 도움을 주시면 감사하겠습니다. 고마워요

답변

0

(1) 프로그램이 충돌 할 때 M이 1보다 작지 않도록해야합니다.

(2)와 함께 첫 번째 라인을 교체하십시오 :

GRBVar[,] v = null; 

당신의 프로그램이 실행됩니다,하지만 난 그게 더 말이 생각하지 않는다 - 당신이 그렇게 만 루프에 마지막으로 V를 교체 차량은 차량 내부에있을 것입니다.