1. A method for periodic or aperiodic software application resource allocation under one or more load-dependent resource constraints by dynamically reconfiguring assignment of one or more client organizations and their associated applications and userships as distinct combinations or client-sets, to servers in a manner whereby merits of each such combination are mathematically evaluated and ranked in advance of undertaking selection of optimal assignments or allocations, the method comprising: describing a plurality of servers and a plurality of userships and applications as abstract sets of elements corresponding to the plurality of servers and a plurality of clients, users, and applications, respectively; defining a set of possible distinct client-sets and their resource loads and a set of possible distinct configurations of resources as resource-sets having known capacities; determining a feasibility for a given assignment of client-sets to resource-sets; determining a feasibility for distributing the users and resource load between servers in each resource-set; and dynamically reconfiguring allocations of clients to client-sets, resources to resource-sets, and client-sets to resource-sets based on an objective function to optimize the cost-efficiency of the allocations simultaneously with insuring SLA compliance of the allocations.