| An introduction to CP technology |
|
많은 시퀀싱, 스케줄링, 라우팅 문제들은 수리적으로 해결하기에 너무 복잡합니다.
최적화 문제에서 가장 흔하게 사용되는 기술인 선형대수를 기반으로 한 MP (Mathematical programming) 기술은 대량 세부 스케줄링 및 라우팅 문제들을 분해합니다.
다행히도, ILOG가 도와드릴 수 있습니다. 옵티마이제이션 리더로써 ILOG는 이러한 난해한 스케줄링 및 라우팅 문제를 해결하고자, 두 번째 옵티마이제이션 기술인 CP (Constraint Programming)을 개발하였습니다. 비록 다양한 선택들 중에서 올바른 서치 패스를 찾는데 수학이 사용하기도 하지만, CP 테크놀로지는 주로 로직 프로그래밍 및 그래프 이론과 같은 컴퓨터 사이언스 에 기반을 두고 있습니다.
옵티마이제이션에 대한 CP 접근방식은 MP와는 완전히 다릅니다. CP는 MP가 해결하기에 너무 많은 개별 시퀀스와 시간 제약이 있는 경우, 실행 가능한 컴비네이션 및 자원/활동의 최적 할당 등 효율적인 솔루션을 찾아냅니다. CP는 찾아낸 솔루션을 개선 시키는 작업을 진행합니다.
현장에서 복잡한 시퀀싱, 스케줄링, 라우팅 문제를 처리할 때, CP의 가치는 무궁무진합니다. 사용자가 인력, 머신, 프로세스 스텝 등 그 어떤 것을 스케줄링 하던지, 케이블 설치를 위한 기술자 혹은 화물 배송을 위한 트럭을 디스패칭하던지, 선형 대수 기반 솔루션을 위한 개별 비즈니스 룰과 너무 많은 운영 제약이 있는 경우에 CP가 필요합니다.
ILOG의 CP 테크놀로지는 “서치 스페이스” 사이즈를 줄이기 위해 가능성의 범위를 체계적으로 좁혀주고, 최적화 될 수 있는 실행가능한 솔루션을 신속하게 찾아줍니다. 사용자는 MP 모델을 위해 솔루션을 단순화 시키지 않고 현실 스케줄링과 라우팅 문제를 모델링 할 수 있습니다.
 |
 |
| |
 |
|
Enlarge thumbnails (opens a new window). |
|
Solve real-world industry problems
ILOG의 공급망 스케줄링 애플리케이션은 반도체 생산, 프로세스 제조 및 수송 스케줄링과 라우팅에서 까다로운 스케줄링 및 라우팅 문제를 파악하기 위한 CP 기반 모델을 사용합니다. 이 애플리케이션들은 데이터 드릴 다운 기능으로 솔루션을 디스플레이 하기 위해 ILOG의 첨단 비주얼라이제이션 테크놀로지를 활용하였습니다.
Work with the same core elements as ILOG CPLEX
CP 엔진이 ILOG CPLEX와 같은 MP 엔진과는 다르게 작동하는 반면, ILOG의 옵티마이제이션 툴은 사용자가 같은 방식으로 비즈니스 문제를 모델링 할 수 있도록 합니다.
CP 모델은 최소화 혹은 최대화 되어야 만 하는 의사결정 변수, 제약, 객체를 사용하여 선언적인 방식으로 표현됩니다. 그리고 ILOG의 모델링 언어와 IDE로 구성된 ILOG OPL-CPLEX Development System은 스케줄링 문제에 대해 멀티 모델 솔루션이 조화를 이루도록 작동하여, MP 모델, CP 모델, 또는 두 가지 모델 모두를 작성하는데 사용될 수 있습니다. 따라서 맞춤 휴리스틱스를 코딩하는 방식과 제약 프로그래밍을 사용하는 방식을 비교할 경우, ILOG CP Optimizer를 활용하면 모델러의 위험을 줄일 수 있습니다.
ILOG CP와 ILOG CP Optmizer는 사용자가 ILOG CPLEX를 사용하는 경우와 같은 핵심 비즈니스 객체 및 컨셉을 가지고 작업할 수 있도록 해 줍니다. 아래는 그 예시입니다.
생산 주문을 제조하는 경우:
- 주문 할당
- 배송 및 픽업 스케줄
- 인력 스케줄
- 사용된 자원
- 배송과 함께 실행되는 운영 활동 및 비용
- 운영 제약 및 선호도
- 비즈니스 정책 룰
- 솔루션을 측정 및 비교할 때 사용되는 메트릭스 (KPIs)
The power of modeling in CP
CP로 모델링 한다는 것은 가능한 솔루션의 모든 디테일을 고려한다는 의미입니다. 예를 들어, 만일 사용자가 개별 고객 서비스 목표를 달성하면서 비즈니스 정책, 운영 시퀀싱 요구사항, 용량 제한을 지키며, 많은 수의 자원과 활동을 스케줄링 해야만 한다면, 다음과 같은 사항이 필요할 것입니다.
- 실행 시간, 세부 활동, 자원 요구사항, 허용된 대안 자원, 상위 요구사항과 비용에 대한 정보를 가진 활동을 정의해야 합니다.
- 특정 활동에 따라 또는 다른 담당자들이 생성한 계획에 따라 활용하고, 소모하며, 공유할 수 있는 기능이나 비용 및 용량을 정의 해야 합니다.
- 모순되는 비즈니스 목표의 균형을 잡아야 합니다.
- 자원 활용, 소모, 활용가능한 기능을 추적해야 합니다.
- 활동이 발생할 때, 활동을 시퀀싱하고, 타임 윈도우를 준수할 수 있어야 합니다.
- 기타 변수들을 결정할 때, 같은 의사결정 변수들을 위해 가능한 가치의 범위를 줄여줍니다.
다음의 세 가지 컨셉은 CP가 복잡한 제약으로부터 작업 가능한 스케줄을 생성하는 방식의 기본입니다. :
- Awareness of time—MP는 버킷에서 시간을 분할하고, 각 버킷에서 실행하기에 최적화 된 것을 결정하지만 각 솔루션의 시작 시간간의 많은 관련 활동의 최적 시퀀스를 계산하는데는 알맞지 못합니다. ILOG CP는 용량 제한, 셋업 시간, 유지보수 요구사항, 가능한 제한 사항, 개별 배송 만료일 등을 만족하는 최적 활동 시퀀스를 결정합니다. 단순하게 말해, ILOG CP는 디테일 스케줄링 문제를 처리하는 데 있어 ILOG CPLEX 보다 더 나은 기능을 보여줍니다.
- Aggressive elimination of possibilities—도메인을 줄여나가는 것은 어려운 할당, 시퀀싱, 스케줄링 문제를 가능하게 만드는 인터널 메커니즘입니다. 스케줄 된 모든 자원 또는 작업은 솔루션에 도달할 때까지, 체계적으로 줄일 수 있는 가능한 가치의 수를 가지고 있습니다. 서치 스페이스의 사이즈를 줄이는 것은 MP와 CP 모두의 기본 컨섭입니다. 하지만 다르게 실행됩니다. ILOG CP와 ILOG CP Optimizer는 비 선형 제약을 처리하는 기능에 있어 실질적으로 제한이 없습니다.
- Rapidly traversing the decision tree—실행 가능한 그리고 효율적인 솔루션을 위한 의사결정 트리를 체계적으로 탐색하는 컨셉은 도메인 축소를 실행합니다. 이 구조화된 어프로치의 한 가지 장점은 이전에 선택했던 어프로치가 잘못된 것으로 판명되었을 때, 축소를 실행한 부분으로 되돌아 가서 재탐색하는 서치 스페이스를 유연하게 이동할 수 있는 기능입니다. MP 테크놀로지와 같이 CP 테크놀로지는 서치 전략과 메모리상에서 대량 데이터를 조작하는데 중점을 두어 왔습니다.
|