2012-07-19 38 views
11

Tôi đang mã hóa CMS thương mại tùy chỉnh trong PHP.
Tôi đã tích hợp API XML của UPS để nhận được mức phí giao hàng và hiện đang hoạt động. Tôi đang sử dụng Đánh dấu sandborn của lớp PHP http://code.google.com/p/ups-php/Xác định kích thước gói cho API vận chuyển UPS

API đòi hỏi đầu vào của gói thức của Chiều dài, Width, Chiều caoTrọng lượng. Cơ sở dữ liệu sản phẩm của tôi có thông tin này cho mỗi sản phẩm tương ứng, do đó, không có vấn đề gì khi ai đó chỉ mua một mặt hàng. Câu chuyện hơi khác khi nhiều sản phẩm được thêm vào giỏ hàng ... Trọng lượng gói vẫn còn dễ dàng vì tôi chỉ có thể lấy tổng của tất cả các trọng số sản phẩm .

Tuy nhiên các phương pháp hay nhất để ước tính độ dài, chiều rộng và chiều cao của gói cuối cùng để chuyển cho UPS khi có nhiều sản phẩm trong giỏ hàng?

Sửa đổi
Dường như với tôi rằng bất kỳ nhà phát triển làm việc với các API UPS trong một môi trường cửa hàng phải đối phó với vấn đề này như vậy. Nhiều hơn là một giải pháp cho vấn đề knapsack Tôi hy vọng tôi hiểu lầm về cách API hoạt động và thực sự có một cách đơn giản để giải quyết vấn đề này hoặc thậm chí là một cách để bàn giao điều này cho UPS để tính toán.

+0

Có thể trùng lặp: http://stackoverflow.com/questions/7648859/given-a-set-of-objects-how-to-calculate-how-many-fit-in-a-given-volume Bạn có kích thước hộp cụ thể mà bạn đang cố gắng để phù hợp với tất cả mọi thứ vào? Điều đó chắc chắn sẽ ảnh hưởng đến kết quả của thuật toán này. –

+0

Hmm vì đây sẽ là một CMS được sử dụng cho nhiều cửa hàng khác nhau, tôi không có thông tin về kích thước hộp cụ thể. Tôi tin rằng các CMS khác như X-Cart, Magento, Zen Cart, vv cũng sử dụng API UPS để tính phí giao hàng, vì vậy tôi hy vọng sẽ có một cách tiếp cận chung để xử lý vấn đề này. – filip

+0

Tôi đã tìm thấy điều này - không chắc chắn nếu nó hoạt động chính xác cho những gì bạn cần: https://github.com/yetzt/boxing –

Trả lời

3

Về cơ bản, bạn đang cố gắng tìm cùng một phần mềm mà doanh nghiệp sử dụng khi thiết kế hình dạng 2D. Đầu tiên họ lấy một bề mặt vật liệu phẳng, và sau đó, với các vật thể mà họ muốn thu được, hãy tối ưu hóa sự sắp xếp sao cho không có vật liệu nào bị lãng phí.

Đây không phải là một nhiệm vụ dễ dàng; Tôi sẽ nói đó là một nhiệm vụ rất lớn ngay cả khi xem xét tất cả các đối tượng của bạn là hộp hoàn hảo.

Ngoài ra tôi nghĩ bạn thực sự có thể viết toàn bộ cuốn sách về điều này như một số người đã làm. Nếu bạn vẫn sẵn sàng làm điều đó tự động thay vì cố gắng theo cách thủ công, hãy đọc this bài viết trên Wikipedia.

here có một cuộc hội thoại diễn đàn cũ nhưng vẫn hữu ích về nó cho PHP. Họ cũng đề nghị thử và xem đó là tối ưu, mà tôi nghĩ đó là lựa chọn tốt nhất của bạn.

Các vấn đề liên quan