영어 버전 문서로 돌아가기가져온 데이터 참조 및 모델에서 솔루션 출력 정의
Decision Optimization 실험에서 모델의 가져온 데이터 참조
마지막 업데이트 날짜: 2024년 8월 12일
Python DOcplex 또는 OPL 모델의 경우 다음 구문을 사용하여 가져온 데이터를 참조할 수 있습니다.
Python 모델
Python DOcplex 모델의 경우 실험 UI 의 데이터 준비 보기 에서 가져온 데이터는 입력 사전에서 액세스할 수 있습니다. 가져온 데이터에 액세스하려면
inputs['tablename']
구문을 사용하여 각 테이블을 정의해야 합니다. 예를 들어, 이 코드 행에서 food는 diet_food
라는 테이블에서 정의된 엔티티입니다.food = inputs['diet_food']
마찬가지로 실험 UI 의 솔루션 탐색 보기 에서 테이블을 표시하려면
outputs['tablename']
구문을 사용하여 지정해야 합니다. 예를 들면 다음과 같습니다.outputs['solution'] = solution_df
solution
라는 출력 테이블을 정의합니다. Python 모델의 solution_df
엔티티가 이 테이블을 정의합니다.DO-samples의 Model_Builder 폴더에서 이 다이어트 예제를 찾을 수 있습니다. 실험 UI에서 가져와 실행(해결)하려면 의사 결정 최적화 모델 풀기 및 분석하기: 다이어트 문제를 참조하세요.
OPL 모델
OPL 모델에서는 다음을 선언해야 합니다.
tupleset
, 가져온 각 테이블에 대해 데이터 준비 보다 그리고 같은 이름으로. 각 튜플세트의 스키마는 테이블과 동일한 수의 열을 갖고 동일한 필드 이름을 사용해야 합니다. 예를 들어, 데이터 준비 보기 에 name, demand, insideCost,
및 outsideCost
속성이 있는 Product
라는 입력 테이블이 있는 경우 OPL 모델에는 다음 정의가 포함되어야 합니다.tuple TProduct {
key string name;
float demand;
float insideCost;
float outsideCost;
};
{TProduct} Product = ...;
튜플 및 튜플 집합만 OPL 입력으로 사용하도록 제한한 것은 데이터 소스와의 통합을 용이하게 하기 위한 것입니다. 예를 들어, 최소한의 노력으로 SQL 데이터 원본에 액세스하고 데이터를 스트리밍할 수 있으며, NoSQL 데이터 원본에 액세스하고 데이터를 자동으로 테이블로 변환할 수 있습니다. 필요한 경우 최적화 모델 개발자가 최적화 중에 다른 데이터 구조를 채우도록 데이터를 다시 공식화할 수 있지만 이 조작이 입력 또는 출력 데이터에 영향을 미치지 않아야 합니다.
마찬가지로, 테이블을 표시하려는 경우 솔루션 살펴보기 보다 , 다음을 정의해야 합니다.
tupleset
OPL 모델의 이 출력 테이블에 대해. 예를 들어, 이 코드는 솔루션에 3개의 열이 있는 출력 테이블을 생성합니다./// solution
tuple TPlannedProduction {
key string productId;
float insideProduction;
float outsideProduction;
}
{TPlannedProduction} plan = {<p.name, Inside[p], Outside[p]> | p in Products};
파스타 생산 문제에 대한 이 예제 OPL 모델은 DO-samples의 Model_Builder 폴더에서 찾을 수 있습니다. 모든 샘플을 다운로드하여 추출할 수 있습니다. 관련 제품 및 버전 서브폴더를 선택하십시오.
자세한 정보
- Python DOcplex 모델 생성에 대한 자습서는 Decision Optimization 모델 풀기 및 분석하기: 다이어트 문제를 참조하세요.
- OPL 모델에 대한 자세한 내용은 Decision Optimization OPL 모델를 참조하세요.