이 Decision Optimization Modeling Assistant 예제는 다중 개념 반복을 사용하는 방법, 제한조건의 associated
키워드, 고유한 사용자 정의 의사결정을 정의하는 방법 및 논리 제한조건을 정의하는 방법을 보여줍니다. 예를 들어, 자원 지정 문제점 ShiftAssignment
가 사용되고 데이터가 있는 완료된 모델이 DO-samples에 제공됩니다.
시작하기 전에
- 요구사항
- Decision Optimization 모델을 편집하고 실행하려면 다음 전제조건이 있어야 합니다.
- 관리 또는 편집자 역할
- 프로젝트에서 관리 또는 편집자 역할이 있어야 합니다. 공유 프로젝트의 뷰어는 실험을 볼 수만 있고 수정하거나 실행할 수는 없습니다.
- watsonx.ai 런타임 서비스
- 프로젝트와 연결된 watsonx.ai 런타임 서비스가 있어야 합니다. Decision Optimization 실험을 작성할 때 하나를 추가할 수 있습니다.
- 배치 공간
- Decision Optimization 실험과 연관된 배치 공간이 있어야 합니다. Decision Optimization 실험을 작성할 때 배치 영역을 선택할 수 있습니다.
이 태스크에 대한 정보
이 예제는 다른 교대에 직원을 지정하는 것에 대한 것이며, 매일 필요한 수의 직원이 대기 중이어야 합니다. 이 샘플에서 사용되는 파일은 DO 샘플에서 사용 가능합니다.
이 비디오는 이 문서의 개념 및 태스크를 학습하기 위한 시각적 방법을 제공합니다. Decision Optimization 실험에서 예제를 로드한 후 비디오를 관심 대상으로 등록할 수 있습니다.
비디오 면책사항: 이 비디오의 일부 사소한 단계 및 그래픽 단계는 플랫폼과 다를 수 있습니다. 사용자 인터페이스도 자주 개선됩니다.
프로시저
샘플을 다운로드하여 열려면 다음을 수행하십시오.
- DO-samples의 Model_Builder 서브폴더에서 ShiftAssignment.zip 파일을 다운로드하십시오. 관련 제품 및 버전 서브폴더를 선택하십시오.
- 프로젝트를 열거나 빈 프로젝트를 작성하십시오.
- 자산 탭을 선택하십시오.
- 선택하다 새 자산 > 최적화 문제 해결 에서 모델 작업 부분.
- Decision Optimization 실험 작성 창이 열리면 로컬 파일 을 클릭하십시오.
- 로컬로 찾아보기를 수행하여 다운로드한 ShiftAssignment.zip 아카이브를 찾아 선택하십시오. 열기를 클릭하십시오. 또는 끌어서 놓기를 사용하십시오.
- 프로젝트에 아직 watsonx.ai 런타임 서비스를 연결하지 않은 경우, 실험을 위한 배포 공간을 선택하기 전에 먼저 Machine Learning 서비스 추가를 선택하여 서비스를 선택하거나 만들어야 합니다.
- 작성을 클릭하십시오.Decision Optimization 모델은 샘플과 동일한 이름으로 작성됩니다.
- 시나리오 분할창을 열고
AssignmentWithOnCallDuties
시나리오를 선택하십시오.
결과
AssignmentWithOnCallDuties
시나리오의 데이터 준비 보기 에서 가져온 데이터 자산을 볼 수 있습니다. 이러한 테이블은 교대, 이러한 교대에 지정되어야 하는 직원 및 필요한 긴급 대기 의무가 있는 일 수를 나타냅니다.
다중 개념 반복 사용
이 태스크에 대한 정보
각 직원이 하루에 한 번 이상의 교대를 할 수 없다는 규칙을 모델 공식에 표현하려고 한다고 가정합니다. 예를 들어, 직원에게 같은 날에 2교대를 지정할 수 없습니다. 이 모델 공식에 표시된 대로 각 요일에 대한 제한조건을 사용할 수 있습니다.
그러나 각 요일에 대한 제한조건을 나열하는 것은 번거롭습니다. 모델이 해당 연도의 일 수를 기반으로 하는 경우에는 이러한 유형의 제한조건을 수백 개 나열해야 합니다. 다음 프로시저는 다중 개념 반복 및 associated
키워드를 사용하여 둘 이상의 개념에 대한 반복을 표현하는 방법을 보여줍니다. 따라서 단 하나의 구문으로 이러한 규칙을 표현할 수 있습니다.
프로시저
다중 개념 반복을 사용하려면 다음 단계를 수행하십시오.
- 모델 공식을 보려면 사이드바에서 모델 빌드 를 클릭하십시오.모델 공식은 목표와 제한조건을 사용하여 직원을 교대로 지정하려는 의도를 표시합니다.
- 제약조건 펼치기
For each Employee-Day combination , number of associated Employee-Shift assignments is less than or equal to 1
.
결과
이 제한조건은 직원 및 일을 키워드 associated
과(와) 결합하여 표현식이 직원 및 일 모두를 반복하도록 합니다. 직원-일 조합의 직원이 직원-교대 지정의 직원으로 맵핑된 것을 볼 수 있습니다. 또한 직원-일 조합의 날짜가 지정된 교대의 일 특성에 맵핑됩니다. 따라서 조합이 올바르게 자동으로 처리됩니다.
이 다중 개념 반복을 사용하여 다른 개념을 결합하는 새 규칙 그룹을 지정할 수 있습니다.
사용자 정의 의사결정 정의
이 태스크에 대한 정보
사용자가 긴급 대기 의무를 지정하려고 한다고 가정합니다. 대기 중인 업무에 직원을 지정하기 위해 다른 모델을 작성할 수 있지만 두 모델 간에 종속성 규칙을 지정할 수 없습니다. 이 예제에서 설명한 바와 같이 기존 모델에 사용자 정의 의사결정을 추가하여 교대 지정과 긴급 대기 의무 사이의 종속성을 정의할 수 있습니다. 여기서 사용자 정의 결정은 OnCallDuties
입니다.
프로시저
사용자 정의 의사결정을 정의하려면 다음 단계를 수행하십시오.
결과
더 이상 인텐트에서 추론된 의사결정만 사용하도록 제한되지 않습니다. 이제 의사결정 유형 및 해당 차원 (데이터 테이블 또는 열) 을 선택할 수 있는 고급 설정 및 의사결정 탭을 사용하여 사용자 정의 의사결정을 정의할 수 있습니다. 그런 다음 새로 정의된 의사결정을 사용하는 새 규칙 및 목표를 구성할 수 있습니다.
논리적 제한조건 사용
이 태스크에 대한 정보
직원이 휴가 중일 때 지정된 긴급 대기 의무가 발생하지 않도록 하려고 한다고 가정합니다. 다음과 같이 논리적 제한조건을 사용하여 이를 수행할 수 있습니다.
프로시저
논리 제한조건을 사용하려면 다음을 수행하십시오
- 제약조건 확인 이 제한조건은 각 직원 및 일 조합에 대해 연관된 할당이 없는 경우 (예를 들어, 직원이 해당 일에 휴가 중인 경우) 해당 일에 해당 직원에게 대기 중인 업무가 지정되지 않도록 합니다.
if...then
키워드를 사용하여 이 논리적 제한조건을 정의하십시오. - 선택사항: 제안사항을 검색하여 모델에 다른 논리 제약조건을 추가하십시오.
결과
이 제한조건은 직원의 지정을 긴급 대기 의무가 있는 교대에 링크합니다. 별도의 모델을 사용하여 하나는 원래 교대 근무 지정을 위한 것이고 다른 하나는 온콜 업무를 위한 것입니다. 이 링크를 달성할 수 없습니다.
associated
키워드와 함께 논리 제약조건을 사용하여 하나의 제약조건이 적용되는 경우 다른 제약조건도 적용되도록 지정할 수 있습니다. 더 복잡한 조인 표현식을 사용할 필요 없이 참조하는 개념 사이에 필요한 논리적 연결이 자동으로 이루어집니다.