(I changed the details of this question to avoid problems with the NDA. I know that literally, there are better ways to run this theoretical company.)
There is a group of warehouses, each of which is capable of storing and distributing 200 different products from the 1000 possible products that company A produces. Each warehouse is equipped with 200 products and assigns orders, which they must then fill out of their stocks.
The problem is that each warehouse must be self-sufficient. There will be an order for an arbitrary number of products (usually 5-10), which is assigned to the warehouse. Then the warehouse packs the necessary products for the order and sends them together. For any item that is not available at the warehouse, the goods must be delivered separately to the warehouse before the order is sent.
Thus, the problem is to determine the best storage / product configurations so that you can pack the maximum possible number of orders without having to order and wait for individual items.
For example (using products, each of which is represented by a letter, and warehouses that can store 5 product lines):
Warehouse 1: [A, B, C, D, E]
Warehouse 2: [A, D, F, G, H]
Order: [A, C, D] -> Warehouse 1
Order: [A, D, H] -> Warehouse 2
Order: [A, B, E, F] -> Warehouse 1 (+1 separately ordered)
Order: [A, D, E, F] -> Warehouse 2 (+1 separately ordered)
, . , , .
. NP-Complete, , , .
, ?