1.0 PROBLEM
Given packages of two different weights and a set of storage racks — each with its own weight limit and a cost incurred per package placed on it — find the assignment of packages to racks that minimizes total storage cost. Rack configurations are read from a text file, so the same program solves any rack/package instance.
2.0 APPROACH
The solver runs an exhaustive recursive permutation search over package-to-rack assignments. Because the search space is fully enumerated rather than pruned heuristically, the reported answer is the global minimum — not a greedy approximation. The output reports the optimal assignment per rack, the minimum total cost, the number of racks used, and total storage wastage.
The trade-off is complexity: exhaustive search is exponential in the number of packages, which is acceptable at coursework instance sizes but would need branch-and-bound pruning or a dynamic-programming formulation to scale.
3.0 NOTES
Built as a 5-week pair project for the SP Data Structures & Algorithms module. Run Source.cpp from the repository to reproduce the results; the rack configuration is read from Input.txt.