AMPL 모델링에 문제가 있습니다. x가 0과 다른 경우 다른 변수 x가 0과 같을 때 equall을 0으로 가정하는 이진 변수 u를 정의하는 방법을 알려줄 수 있습니까?다른 변수와 관련하여 AMPL에서 이진 변수를 할당하는 방법
논리 표현식을 사용하려고했지만 내가 사용하고있는 솔버 (cplex 및 minos)가 허용하지 않습니다.
내 생각이었다 :
subject to:
u || x != u && x
AMPL 모델링에 문제가 있습니다. x가 0과 다른 경우 다른 변수 x가 0과 같을 때 equall을 0으로 가정하는 이진 변수 u를 정의하는 방법을 알려줄 수 있습니까?다른 변수와 관련하여 AMPL에서 이진 변수를 할당하는 방법
논리 표현식을 사용하려고했지만 내가 사용하고있는 솔버 (cplex 및 minos)가 허용하지 않습니다.
내 생각이었다 :
subject to:
u || x != u && x
이 M
를 타고는 '큰'정수 (또는 x >= 1
x
연속 경우) 상수 등 x
보유 x < M
로, 그리고 가정합니다. 다음 두 제약 조건을 사용할 수 있습니다.
u <= x (if x=0, then u=0)
x <= M*u (if x>0, then u=1)
u
이진 변수.
지금 x
이 1보다 반드시 더 지속적이고없는 경우 (예를 들어, 여기에 첫 번째 제약 조건이 x=0.3
및 u=1
가 확인되지 않을 것이다) 위의 제약 조건을 적용해야합니다.
일반적인 아이디어는 (대부분의 경우) (해당되는 경우 a
및 b
부울 변수가있는 경우, 다음 문 "a
이 b
을 의미한다"는 b>=a
로 기록 될 수 있다는 사실을 이용하여, 불평등과 그 논리적 제약을 대체 할 수 있다는 것입니다 a=1
, 그 다음 b=1
).