If there are particular combinations of hosts and guest who shouldn't meet, this can block those slots. With the block_guests and block_hosts, it's possible to have a set of them: block_guests = c("Bob, Mary", "Pat") and block_hosts = c("Joe", "Jim, Amy"): so that Bob and Mary won't meet with Joe, and

availability_block(possible_availability, block_guests, block_hosts)

Arguments

possible_availability

3D array with dimensions host, guest, times

block_guests

Vector of guests who shouldn't meet particular hosts.

block_hosts

Vector of hosts who shouldn't meet particular guests.

Value

An array in same format as possible_availability, but with 2 for the assigned slots, 0 for the unavailable slots, and 1 for available but still unfilled.