(I am new to stack exchange, so I apologize if this is not the right place to ask this. Would love to be pointed to the right direction on where to ask this)
Context: I am a CS student currently in a non-CS internship (logistics).
My manager wants to leverage my knowledge of programming to build a program to solve the following problem:
As a company, we have different units of product that we have to distribute to our stores. Some stores are good at selling, other not so much. Sometimes, we don't have enough of our product to give every store what they need, therefore, we have to decide where to send product so that it sells as fast as possible / makes the most profit. So the inputs would be the historical and current data of the performance of each store, as well as how many units we want to distribute and the output would be how many units to allocate in each store.
My approach is the following: Use historical data to estimate a distribution (using empirical cumulative distribution or kernel estimation) with sales and level of inventory for a day as the axis for each store. Then, from this function, construct a multi variable global profit function, and then maximize this function with the constraints (how many units we we have to distribute).
So for example, if using historical data we estimate that for store A Profit = x^2 and for Store B Profit = 3y, where x and y is the number of units in each store, then the global profit function would be Profit = x^2 + 3y. If we only have 500 units to allocate for example, then we have to optimize the function x^2 + 3y with the constraint that x + y < 500.
My questions: 1. Does my general approach make sense? Is there a better way to approach this? 2. Would scipy optimize package be a good too to use here? What other technologies can I leverage? 3. Would Machine Learning be of possible use here? My manager is interested in ML and I think it would be cool if I am able to include it in here