Practical Algorithms for Resource Allocation and Decision Making