Resource allocation problems: algorithmic approaches | Synapse