소매 환경의 가격 결정 엔진에 대한 클라이언트의 요구 사항을 해결하려고합니다. 우리는 가격 결정 엔진을 이미 장바구니에있는 기존 품목을 기반으로 구입 한 품목에 대해 새로운 가격을 설정하는 일련의 가격 규칙에 따라 운영한다고 정의했습니다.사실에 규칙을 적용하기위한 디자인 패턴 및 알고리즘
간단한 가격 규칙은 수 있습니다. 40 % OFF입니다. 좀 더 복잡한 규칙은 일 수 있습니다. 2 개를 구입하고 최소 $ 30을 사용할 때 무료 셔츠를 이용하십시오.
이러한 규칙을 적용하기위한 일반적인 업계 관행은 최종 최적의 가격 인 것처럼 보이지만 순위 지정 옵션과 스태킹 옵션이 필요할 수도 있습니다.
랭킹은 달리 승리하지 못하게하는 규칙을 허용합니다. 스태킹을하면 여러 규칙을 얻을 수 있습니다.
저는 규칙 엔진과 관련하여 여기에서 많은 게시물을 검토했으며 디자인의 일부로 이러한 도구 중 하나를보아야하는지 또는 디자인 패턴과 알고리즘이 적용되지 않을지 판단하는 데 도움이 필요합니다. 디자인.
이것은 잠재적으로 NP 문제이며, 처리 할 항목 수 (사실)가 새 항목을 추가 할 때마다 다시 요구되는 트랜잭션 당 100 개를 초과 할 수 있음이 분명합니다.
궁금한 점은 어떤 방법으로 끝났습니까? 올바른 선택 이었나요? –
우리는 문제를 해결하기 위해 다양한 기법을 사용하여 결국 자체 규칙 엔진을 만들었습니다. 이것이 7 년 전에 해결되고 구현 되었기 때문에 여기에 커프스를 공유 할 정보가 없습니다. 우리는 일종의 지역화 접근법을 사용하고 지역화에 가중치를 적용하는 것으로 끝 맺었습니다. 그런 다음 최소 비용 라우팅 유형의 알고리즘을 사용하여 최상의 가격 조합을 결정했습니다. 완성 된 작업은 제가 가장 좋아하는 프로젝트 중 하나였습니다. 다른 장소에서도 사용할 수있는 독립 모듈로 작성했습니다. 규칙 + 입력 세트 -> 가격 출력 세트. – Bill