1. A method for dynamically allocating system resources, comprising the operations of: identifying an objective associated with a corresponding partition of a resource being configured according to a first configuration; implementing the objective as a series of independent mathematical functions, such that each mathematical function contributes to a value associated with the objective; detecting a violation of the objective due to a changing workload, wherein the method operation of detecting a violation of the objective due to a changing workload includes triggering a reconfiguration examination; generating alternative configurations base upon constraints; evaluating the alternative configurations to meet the objective under the changing workload; eliminating alternative configurations from consideration based on a decision history, the decision history tracking alternative configurations which have failed to meet the objective under the changing workload; ranking the alternative configurations; selecting a highest ranked one of the alternative configurations; and substituting the first configuration with the highest ranked one of the alternative configurations.