|
  |
 |
|
Main characteristics
- 최적화 문제를 풀기 위한 C++ library
- 제약프로그래밍에 기초함
- LP나 local improvement method와 같은 통합최적화 기술을 위한 열린 구조
- 문제해결과는 분리된 문제 모델링
- 모든 제약과 목적식을 만족하는 믿을 만한 해결책을 찾음
- 전문화된 모듈로 보완가능
- 발전 가능성이 큼

Tier one: powerful modeling
- 결정변수(decision variables) 선택폭이 다양함
- 미리 지정된 변수의 확장 set
- 선형, 비선형, 논리 제약
- Global constraints - alldiff, distribute, table constraint, sequence
- 제공된 클래스를 확장함으로써 새로운 제약이 쉽게 추가됨
- Metaconstraints는 사용자가 제약에 또 다른 제약을 적용할 수 있도록 함
- 제약과 관계를 직관적으로 모델링
- 제약을 측정하고 진행
- 역동적으로 제약을 추가하거나 제거할 수 있다.
- 목적함수의 표현

Tier two: intelligent control
- 광범위한 범위의 서치 컨트롤 알고리즘
- Depth-first search (DFS)
- Slice-based search (SBC)
- Best-first search (BFS)
- Depth-bounded discrepancy search (DDS)
- 조정 할 수 있는 서치 알고리즘 및 전략
- 변수에 기초한 전략
- 도메인과 관련한 노하우가 search heuristics에서 코딩 될 수 있다.
- 복잡한 알고리즘 조합이 쉽게 개발 가능
- 최종 사용자 제약이 쉽게 추가될 수 있다.
- 똑 같은 방법으로 쓰여질 최종 사용자 제약 알고리즘 미리 지정
- 잠재적 사용을 위한 선택
- scratch에서 하나, 모두, 혹은 최상의 솔루션을 계산
- 새로운 정보를 포함하기 위해 기존 솔루션을 업데이트
- 제약이 제대로 반영되었는지 주어진 해결책을 확인
- 솔루션이 최적의 해인지 확인
- 문제 규정이 실행 불가능한 지점을 확인

Tier three: fast algorithms
- 제약간의 정보 전파를 위해 가장 효과적인 알고리즘
- 미리 지정된 제약을 위한 최상의 알고리즘 제공
- alldiff, distribute를 위한 Flow 알고리즘
- table constraints를 위해 일관성 유지

|
|
|
|