python-库存分配-PULP求解

#问题/背景:
有一个供应商A有5个仓库,分别为W1,W2,W3,等等,该供应商有13个固定的客户,分别为C1,2,3,等等,该供应商有2000多个产品,每个产品号码分别为P1,2,3,etc. 每个客户的需求各不相同。
客户受到某些政策的影响,针对同一个产品,只能从某几个仓库拿货,不同客户受到的不同政策的影响,数据库里用0/1表示针对某一产品可以从哪个仓库拿货。比如{['C1','P1']:[0,1,0,1,0]},{['C1','P2']:[0,0,0,0,1]}, 表示客户C1 可以从W2,W4购买P1, 客户C1可以从W5购买P2,但是在下订单时,一个客户针对一个产品,只能从一个仓库拿货,一个客户针对不同的产品,可以从不同/相同的仓库拿货。 每个客户都有类似的约束。
每个仓库下的每个产品的库存量不一样,P1可能在W1下为0,在W2下不为0。
每个客户的需求也可以各不相同,比如客户C1一共需要500个P1, 可以从W2,W4拿货。 现在客户的需求分为2种,一种是紧急需求,一种是常规需求。针对紧急需求,供应商需要尽最大程度满足客户的需求,并且对比常规需求的客户需求来说,有紧急需求的客户可以拥有优先级拿货。当两个客户都有紧急需求时,则按需求比例尽最大可能分配现有库存。(也就是如果用pulp线性规划求解的话,这里需要找到最大化解决方案。)在分配完紧急需求的库存后,再考虑常规需求的客户。针对常规需求的客户,供应商希望在遵守仓库政策的前提下,优先清掉最小库存仓库下的货物,同样,一个客户的一个产品只能从一个仓库拿货,在遵守仓库政策的前提下,又尽量满足客户的需求,又能清掉最小库存的仓库下的货。又能合理的分配每个客户到底拿多少货,从哪个仓库拿。(如果用pulp线性规划求解的话,我理解-可能不对,这里需求找到最小化解决方案。)

#我的初步解答思路是: 针对紧急需求,按最大化-线性规划求解;针对常规需求,在运行完紧急需求后,重新整理库存量,然后再用线性规划最小化求解。这是我的初步思路,可能不对,也不知道具体的python代码怎么写。
#如果你有解题思路的话,请随时联系。万分感激。