I'll give it some thought and when I get a good idea I'll post it, this is going to be a tough one.
EDIT:: Here's one possible solution
Given:
300 applicants
only 10-15 get accepted per day
Solution:
- You make a 3 day window in which applicants apply, eg: monday to wednseday, thursday to saturday etc
- Record and archive all IP's that apply
- First day 10-15 applicants are accepted at random
- Their IP's are removed from the list
- Second day - If there are any duplicate IP's from the day before they get priority in selection eg: the same person applies again the next day.
- IP's chosen are removed from list, also IP's that weren't duplicated from previous day are removed leaving only todays applicants and duplicated IP's
- Third day - If there are any triplicates from previous days they get priority, then duplicates, then singles
- All single IP's from day before are removed aswell as duplicate IP's from the second day are removed if they don't apply a third time, leaving only single IP's from today
-Repeat 3 day cycle
NOTES:
- you set up a calendar function
- IP's are valid for as long as they apply continously
- If an IP is recorded twice then stops you wipe it
-This allows for people who are consitent to have more of a chance to get accepted
-duplicated, tripled IP means, person applied again the next day