1. A computer-implemented method comprising: collecting data regarding a plurality of requests for resources available from a service provider; sampling from the plurality of requests to simulate random input of the requests; applying an online resource allocation algorithm with the sampled requests as stochastic input, the online resource allocation algorithm configured to, for each request, match the request to resources by evaluating a difference between a profit value and cost computed for different allocation options using an objective function that accounts for shadow costs assigned to the resources corresponding to each of the different allocation options; and determining whether a feasible solution to match the requests to the resources exists.