Hi,
a typical solution technique would be to use linear programming (or mixed integer programming if some of your decision variables are integers). You would model the problem as a linear program and pass this model and the corresponding data to a solver. Depending on the problem size and your run time constraints, a free or a commercial solver would be the right choice.
Regards,
Andreas