Employees are willing to push crates for money. They have certain attributes:
Each employee pushes crates at a certain rate. For example, Alice might push crates at 3 feet per dollar, and Bob might push them at 2 feet per dollar
Each employee has a certain set of crate types that they're capable of pushing. For example, Alice might only be able to push crates that are labeled with an A, B, or C, while Bob might only be able to push crates that are labeled with an A or a D
Each employee might have a limit to the total number of crates they're willing to push. For example, even though Alice is capable of pushing crates A, B or C, she might have a policy where she only pushes a maximum of 2 crates per job assignment
Each employee might also have a limit to the number of dollars they're willing to accept. For example, Alice might have a policy where she only accepts up to $35 per job assignment.
I have a certain budget for each crate. For example, let's say I have 5 crates, labeled A through E, and I'm willing to spend $20 on each crate, but my budget for each crate can only be used to push one specific crate.
My goal is to maximize the sum of the distance pushed for all the crates.
User can edit the pay limits and the budget