简体   繁体   中英

Algorithm of resource allocation with disjoint condition

There are n resources to be allocated to m users ( n > m ). The restrictions include:
1. each resource can only be allocated to at most one user.
2. each user requires some resources or other resources to fullfill tasks.

For example, the resources are denoted by a,b,c,d,e and the users are 1,2,3 .
User 1 can use one of: (a,b), (b,c) .
User 2 can use one of: (b), (c), (d), (e) .
User 3 can use one of: (c,d), (e,f) .

A possible assignment may be: (a,b) , (e) and (c,d) for users 1, 2 and 3 respectively.

The objective is to find an allocation plan, that lets as many users as possible have enough resources.

There might be similar problems, but I find no results. Maybe it is an NPC problem, but I also find no related topic in NPC problem list.

So I want a good answer for this problem.

You can look at an article about this problem here .
This is not a trivial question, so I have no further useful ideas...

每个用户只有一个选项的特殊情况是NP硬包装问题 ,这是Karp最初的21个问题 。我会考虑使用现成的约束程序求解器。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM