점점 더 많은 조직들이 분석을 받아들이면서, 해결해야 할 문제의 범위가 넓어지고 있습니다. 데이터 과학 팀은 종종 통계 분석 및 머신 러닝과 같은 전통적인 기법에 능숙하며, AI와 같은 신흥 기술에도 익숙하지만, 수학적 최적화를 사용하여 더 쉽게 해결할 수 있는 문제 클래스가 여전히 존재합니다.
비즈니스 기능은 종종 여러 가지, 때로는 상충하는 제약 조건을 관리하면서 프로세스의 이점을 최대화하는 결정을 내리는 업무를 맡게 됩니다. 현재 상태 변수를 기반으로 미래 결과를 예측하는 고전적인 머신러닝과 달리, 최적화는 의사결정자가 특정 결과를 최적으로 달성하기 위해 필요한 행동 집합을 식별하는 데 도움을 줍니다. 이 문제들의 해결책은 거의 직설적이지 않으며, 최적의 해결책을 찾기 위해 수많은 상호 작용하는 구성 요소를 검토해야 합니다. 이러한 유형의 자주 만나는 도전 과제는 다음과 같습니다:
이러한 문제의 해결책은 종종 무엇이든 시나리오를 반복적으로 테스트하여 각 시나리오에서 다양한 조건을 모방하여 위험과 전략을 평가함으로써 찾아집니다. 이 과정을 가속화하기 위해, 특화된 소프트웨어 솔루션을 활용할 수 있습니다. 특정 유형의 최적화 문제에 맞춰진 오프-더-셸프 솔루션뿐만 아니라 맞춤형 수학 모델을 통해 다양한 비즈니스 요구를 해결할 수 있는 상업용 및 오픈 소스 최적화 솔버가 있습니다. 이 모든 솔루션의 핵심에는 가능한 모든 옵션을 완전히 열거하지 않고도 효율적으로 최적의 해결책을 찾도록 설계된 최적화 알고리즘이 있습니다.
Gurobi와 같은 상업용 솔버와 Databricks와 같은 데이터 및 분석 플랫폼은 최적화 도전 과제를 해결하기 위해 기업들에게 점점 더 사용되고 있습니다. 이러한 플랫폼들은 데이터 입력을 준비하고 솔버 출력을 실행 가능한 응용 프로그램으로 변환하는 데 도움을 줍니다. 이 블로그에서는 Gurobi와 Databricks가 어떻게 함께 작동하여 간단한 최적화 문제를 해결할 수 있는지 보여드리며, 팀들이 자신들의 조직에서 유사한 도전 과제를 해결하는 데 시작점을 제공합니다.
Gurobi와 Databricks가 최적화 문제를 해결하는 데 어떻게 사용될 수 있는지 탐색하는 데 도움이 되기 위해, 우리는 간단하고 설명적인 시나리오로 시작하겠습니다. 당신이 어린이(또는 성인)이고 다음 네 가지 스타워즈 LEGO® 세트를 소유하고 있다고 상상해보세요:
많은 사람들처럼, 당신은 각 세트를 설명서에 따라 만들고, 그것이 끝나면 각각을 분해하여 벽돌을 하나의 큰 양동이에 합칩니다(그림 1).
이제 궁금한 점은, 이 벽돌 양동이에서 어떤 다른 공식 세트를 만들 수 있을까요? 이에 대한 답을 얻기 위해서는, 최적화 문제의 네 가지 요소를 명확히 해야 합니다:
이러한 요소들이 정의되면, 이제 우리는 가능한 해결책을 정렬하기 시작할 수 있습니다. 우리의 버킷에는 730개의 개별 브릭이 있으므로, 1075 개 이상의 가능한 조합에 직면할 수 있습니다. 각 세트 내에 많은 동일한 벽돌이 있고 이 세트들 사이에 더 많은 벽돌이 있어 이 숫자가 줄어들지만, 결과적으로 가능한 조합의 수는 여전히 압도적입니다. 우리는 문제 공간을 탐색하는 데 지능적인 방법이 필요합니다. 여기서 솔버가 등장합니다.
솔버 뒤의 마법은 입력 파라미터, 결정 변수, 등으로 정의된 문제를 검토하고 수학적으로 문제 공간을 탐색하여 비즈니스 규칙을 만족시키고 결과를 개선하는 해결책만 집중할 수 있다는 것입니다. 이를 설명하기 위해, 우리의 양동이에 있는 730개의 개별 벽돌을 고려해 보세요. 1, 2, 3개의 벽돌로만 구성된 세트는 고려할 필요가 없으므로, 이러한 조합을 탐색할 수 있는 반복은 고려 대상에서 제외할 수 있습니다.
문제 정의를 자세히 살펴보면, 해결사는 탐색해야 할 문제 공간을 엄격하게 제한할 수 있습니다. 이제 가능한 조합의 압도적인 수가 훨씬 더 관리 가능해지고, 고도로 최적화된 솔루션 엔진을 통해 남은 결과를 빠르게 평가하여 정확한 답변을 빠르게 제공할 수 있습니다.
점점 더 많은 조직들이 Databricks에 데이터 자산을 통합함에 따라, 그 데이터의 최대 잠재력을 활용하여 다양한 비즈니스 요구를 해결할 수 있도록 하는 것이 중요합니다. Gurobi와 Databricks 데이터 인텔리전스 플랫폼의 원활한 통합은 조직이 최적화 도전 과제에 직면할 때, 그들이 데이터 자산을 다른 플랫폼으로 복제할 필요 없이 현장에서 준비할 수 있음을 의미합니다. 최적화에 익숙한 운영 팀은 그런 다음 Databricks 환경의 리소스를 활용하여 문제를 확장 가능하고 시간 및 자원 효율적인 방식으로 해결할 수 있습니다.
솔버의 출력이 Databricks 내에 캡처되면, 조직은 솔버의 결과를 환경 내에서 조정된 다양한 운영 워크플로우에 통합할 수 있습니다. 그리고 Databricks의 통합 모델 관리 기능에 접근할 수 있으므로, 이들 팀은 그들의 작업을 플랫폼을 중심으로 한 기업 표준 모델 관리 및 거버넌스 관행에 펼칠 수 있습니다.
조직이 Databricks에서 Gurobi 솔버를 사용하는 것을 탐색하기 시작하는 데 도움이 되도록, 다음의 샘플 노트북을 살펴보시기 바랍니다. 이는 우리의 장난감 벽돌 예제 뒤에 있는 단계별 코드에 접근할 수 있게 해줍니다. 첫 두 개의 노트북은 Gurobi가 Python API 라이브러리 설치와 함께 제공하는 무료 체험 라이선스를 사용하여 해결할 수 있는 소규모 예제의 해결에 의존하고 있음을 유의하십시 오. 세 번째 노트북은 더 큰 규모의 모델을 사용합니다: 세 번째 노트북에서 모델을 실행하기 위한 적절한 라이선스를 얻으려면 Gurobi 에 연락하십시오.
Gurobi를 Databricks와 함께 확장 사용하는 방법을 이해하기 위해, 우리는 또한 데이터와 분석 기술을 통해 가장 복잡한 비즈니스 및 경제 문제를 해결하는 선두주자인 Aimpoint Digital 에서 제공하는 다음 웹세미나 를 시청하시기 바랍니다. 이 비디오에서는 Aimpoint Digital의 사람들이 Databricks와 Gurobi 사이의 기술 통합을 더 자세히 살펴보고, 이러한 기술을 결합하여 다양한 비즈니스 문제를 해결할 수 있는 다양한 방법을 탐색합니다.
마지막으로, 우리는 여러분이 Databricks 블로그 사이트로 돌아와서 우리의 다가오는 Assortment Optimization에 대한 블로그를 검토하도록 권장합니다. 이것은 많은 소매 및 소비재 조직에 관심이 있는 더 복잡한 실제 시나리오를 다루기 위해 여기에서 설명된 개념을 확장할 것입니다.
(이 글은 AI의 도움을 받아 번역되었습니다. 원문이 궁금하시다면 여기를 클릭해 주세요)