A method of determining allocations in a business operation to maximize profit includes: collecting profit data for a plurality of classes in the business operation, where each class includes an allocation having a cost function and each allocation belongs to the group consisting of physical allocations and economic allocations; determining profit functions for the allocations from the profit data; formulating a Multiple Choice Knapsack Problem to maximize profit from the profit functions, the cost functions, and a cost constraint; and solving the Multiple Choice Knapsack Problem to determine values for the allocations.