Choco Solver를 사용하고 int vars의 배열이 주어지면 배열의 적어도 하나의 var가 static과 같은지 확인하는 제약 조건을 원합니다. 값 ... IntConstraintFactory#count
유사하지만 다음과 같은 문서와Choco Solver를 사용하는 Var 배열에서 적어도 하나의 Var이 X와 같습니다.
뭔가 :
/**
* Let N be the number of variables of the VARIABLES collection assigned to value VALUE;
* Enforce condition N >= LIMIT to hold.
* <p>
*
* @param VALUE an int
* @param VARS a vector of variables
* @param LIMIT a variable
*/
public static Constraint at_least(int VALUE, IntVar[] VARS, IntVar LIMIT) {
return new Constraint("At least", /* help here ? */);
}
하는가가 존재하거나 내가 효율적으로 구현할 수있는 방법을 경우 사람이 아는 사람? 당신이 Choco Solver에 제약 atLeast(VALUE,VARS, LIMIT)
을 게시 할 경우
대부분의 최적화 - 프리미티브 (SAT, MIP, CP)에 대해 일반적으로 접근하는 한 가지 접근법은 지시문 제약 조건을 도입하여 변수가 "목표 값"에 도달하면 표시합니다. 그런 다음 사용 가능한 카디널리티 접근 방식 중 하나를 추가합니다 (또는 경우에 따라 "OR"을 사용). – sascha
CP 커뮤니티에서이 제약에 대한 일반적인 이름은 GCC (글로벌 카디널리티 제약) 일 수 있습니다. 이것은 아마도 당신이 (특히 choco에 익숙하지 않은) 대답을 찾는 데 도움이 될 것입니다. – tobyodavies