this is my first post here.
I have a real-life financial Budgeting problem.
Having a total Budget values for BusinessUnit per each of 30 countries in my scope plus 4 quarters, I need to distribute (find) correct values for many (like up to 30) Product lines per BusinessUnit for each country total in each quarter. I also have target values for each country FullYear. Correct values are defined by constrains:
each quarter for each country sums up to total BusinessUnit (columns, simple sum) - constrain
each Product line sums up to FullYear for one Country (rows, simple sum) - constrain
for every Product line total (simple sum) for those 30 countries we calculate seasonality (Quarter[n] / FullYear) which should also be equal to a given constrain.
finally all the values I'm looking for needs to sum up to Ultimate total constrained value (with ~99% of accuracy) = total Budget target for the next year - constrain
please check screenshot of an example structure of the data I have in my excel input file.
For years I have been using excel solver tool, quite successfully. This year complexity grew so significantly excel solver is no longer working - too many variables and constraints. As I use python and pandas on daily basis I decided to lookup for the solution with those tools, but as I have no experience with linear programming / solution finding / decision making etc. I really do not understand much of the documentation. Looking at Gekko package tutorials I think it might be useful to solve the problem, but I don't know how to apply any of the features that Gekko includes.
What I'm also looking for is use of Pandas for this exercise to copy/paste big chunk of data (io excel / jupyter notebook) and easily create matrices / dictionaries (this I'm able to do anyways) to use with proposed solution.
Anyone could help here? Not necessarily with Gekko but in general - could you please advise how to approach the problem using Python? What tool / library I could use to find correct numbers distribution? If possible pls suggest snippets... thank you!
Thank you in advance