1
선형 프로그래밍을 위해 OPL을 사용하여 IBM ILOG Cplex optimization Studio로 모델을 작성했습니다. 하지만 지금은 콘서트 C++을 사용하여 같은 모델을 작성해야합니다. 하지만 내 제약 조건을 변환 할 수 없습니다. 내 제약조건부 제약 조건을 Cplex 용 콘서트 C++로 변환하는 방법?
하나는 다음과 같습니다 :
forall(i in Nodes)
edgeSum[i]:
if(i==0)
sum (j in Ein[0])x[<j,i>] - sum (j in Eout[0])x[<i,j>] == -1;
else if (i>=1 && i<n/2)
sum (j in Ein[i])x[<j,i>] - sum (j in Eout[i])x[<i,j>] == 0;
else
sum (j in Ein[i])x[<j,i>] <= 1;
는 특히 내가 조건의 제약을 작성하는 방법을 알아야합니다. 미리 감사드립니다.
감사합니다 도움 (Cedges에서 ! I = 0) \t \t \t 연결 [] : \t \t \t (x [] == 1) => 합계 (부모 중 [i]) x [] == 1; 는 I는이 재 작성 : 대 는 (ⅰ = 1 나타내는 int i가 edgesize는 * 2) +1 (<; 내가 ++) \t {\t \t \t (부모 경우 [Cedges [(I)] [0]! = 0 && Cedges [(I)] [0]! = 0) { \t \t \t \t \t model.add (IloIfThen (ENV (X [인덱스 [Cedges [I] [0] [Cedges [I] [Cedges [i] [0]] == 1)))); \t \t} \t} 이 사용법의 정확성 여부를 알아야합니다. –
Berkehan
지금 확인 할 시간이 없지만 확인할 수있는 사항은 다음과 같습니다. – TimChippingtonDerrick
지금 확인할 시간이 없지만 검사 할 수있는 일은 충분히 작은 간단한 인스턴스로 시작하는 것입니다 (1) 모델을 LP 파일 또는 이와 유사한 형태로 출력하고 의미가 있는지 확인하십시오. 즉, 구속 조건에 올바른 변수가 있습니다. 감각적 인 coeff가 있습니다. (2) 대답이 무엇인지 알고 있다면 작은 경우, (3) 잘 알고있는 문제가 있으면 고의적으로 모델을 깨뜨릴 수있는 추가 제한 조건을 추가하십시오. 따라서 응답에서 값이 0이어야한다는 것을 알고 있다면 제약 조건을 추가하여 강제로 1로 설정하십시오. – TimChippingtonDerrick