PLP 최저가 계산, Pruning으로 70% 절감!

by DD
5개월 전
조회수 16

PLP 최저가 계산 시 모든 객실 가격을 계산하는 비효율성을 발견

Pruning 알고리즘을 도입하여 최저가가 될 수 없는 객실을 사전 필터링

계산량 70% 감소응답 시간 15% 단축 효과를 얻음

Pruning 알고리즘의 핵심 원리

최저가 계산을 위해 모든 객실 가격을 계산하는 대신, 판매원가와 최대 할인액을 활용한다. 구체적으로, Pruning 상한선을 설정하여 최저가가 될 수 없는 객실을 미리 제외한다. 따라서 불필요한 계산을 줄여 성능 향상을 도모한다.

1차 시도와 2차 시도의 차이점

초기에는 단순 배수를 기준으로 객실을 제외했지만, 할인 정책을 고려하지 않아 정확도 문제가 발생했다. Pruning 상한선 설계를 통해, 최대 할인액을 반영하여 정확도를 높였다. 결과적으로, 최저가를 보장하면서 계산량 감소를 달성했다.

실전 적용을 위한 조언

Pruning 알고리즘 적용 시, 할인 정책의 다양한 조건을 정확히 파악해야 한다. 최대 할인액을 계산할 때, 모든 예외 상황을 고려하여 상한선을 보수적으로 설정해야 한다. 따라서, DB 조회 비용을 줄이는 추가적인 최적화도 고려해야 한다.

PLP 최저가 계산 최적화: 정말 모든 객실을 계산해야 할까?