我想知道是否有任何算法可以帮助我解决以下问题:
将人员(n)分配到特定的活动(m),每个m只能与一个人相关联,且每次必须随机分配(如果只有一种选项可用,则允许相同的人(n))。n具有可用时间和可用日期等属性。为了将n匹配到m,n和m的可用时间和日期必须匹配。可能会有多个n与m的时间匹配,但必须是最佳匹配,以便分配其余的m。下面的图表很可能会更好地解释它(抱歉)。n可以分配给多个m,但应该公平地进行,以防止一个n获得所有可用的m。
如您所见,Person A可以附加到Event A,但由于需要使它们全部匹配(尽力匹配),因此将其附加到Event B,以允许将Person C分配到Event A,将Person B分配到Event C。
我只是想知道这种类型的问题的名称以及我如何解决它,我正在使用Java编写程序。
将人员(n)分配到特定的活动(m),每个m只能与一个人相关联,且每次必须随机分配(如果只有一种选项可用,则允许相同的人(n))。n具有可用时间和可用日期等属性。为了将n匹配到m,n和m的可用时间和日期必须匹配。可能会有多个n与m的时间匹配,但必须是最佳匹配,以便分配其余的m。下面的图表很可能会更好地解释它(抱歉)。n可以分配给多个m,但应该公平地进行,以防止一个n获得所有可用的m。
如您所见,Person A可以附加到Event A,但由于需要使它们全部匹配(尽力匹配),因此将其附加到Event B,以允许将Person C分配到Event A,将Person B分配到Event C。
我只是想知道这种类型的问题的名称以及我如何解决它,我正在使用Java编写程序。