一批货有多个收货单,然后发现缺货了。而且有多种缺货原因。
缺的是哪个单的货?不太重要,但是尽量多的收货单只要一个原因。所以怎么分配?
比如一批货缺70个,首先是按照升序排列:
三个收货单,p1缺5、p2缺20、p3缺45
这批货给了三个缺货原因,r1包含12、r2包含23、r3包含35
先满足较小的收货单,这样可以尽量多的满足需要(贪婪),再把【能满足整单】的【数量最小】的原因分配给他,这样数量大的原因可以满足大量的收货单。
【能满足整单】的【数量最小】的原因是r1,分配5个给p1
p1分配后:
p2缺20、p3缺45
r1包含7、r2包含23、r3包含35
【能满足整单】的【数量最小】的原因是r2,分配20个给p2
p2分配后:
p3缺45
r1包含7、r2包含3、r3包含35
【能满足整单】的【数量最小】的原因不存在,依次分配给p3
p3缺38
r2包含3、r3包含35
p3缺35
r3包含35