2016-08-10 2 views

답변

0

글쎄 [min(x+y-n,0)]^2으로 쓸 수 있습니다. 그게 당신을 잘 할 수 있을지 확신하지 못합니다 (이것은 차별화가 없으므로 많은 솔버에게 어렵습니다). 우리는 추가 이진 변수를 사용하여 min() 표현 선형을 만들 수 있습니다

z <= x+y-n 
z <= 0 
z >= x+y-n - b * M 
z >= 0 - (1-b) * M 
b in {0,1} 

충분히 큰 상수 M으로합니다. 많은 경우에보다 나은 재구성이 적용될 수 있지만 나머지 모델에 따라 달라집니다.

+0

좋아요. 도움이 더 필요하지만 gmail.com의 lurbanrivero에 직접 문의 해 주시겠습니까? –

0

Choco Solver과 같은 제약 조건 프로그래밍 솔버를 사용하는 경우 IfThenElse 제약 조건을 직접 사용할 수 있으며 사각형과 같은 다른 비선형 제약 조건을 직접 사용할 수 있습니다.

관련 문제