N 個の仕事と、それらの仕事をする K 人の労働者が与えられたとしましょう。ただし、2 人の従業員が必要な仕事もあれば、1 人で済む仕事もあります。また、従業員はすべての仕事を行うことはできません。たとえば、労働者 1 は仕事 1、2、および 5 を実行できますが、仕事 3 および 4 は実行できません。また、仕事 1 を実行するために労働者 1 を雇う場合、すでに支払いを済ませているため、仕事 2 および 5 を実行してもらいます。
たとえば、5 つのジョブと 6 つのワーカーがあるとします。ジョブ 1、2、および 4 では 2 人の男性が必要ですが、ジョブ 3 および 5 では 1 人で十分です。そして、これがすべての労働者ができる仕事と彼が必要とする賃金のリストです.
Worker 1 can do jobs 1,3,5 and he requires 1000 dollars.
Worker 2 can do jobs 1,5 and he requires 2000 dollars.
Worker 3 can do jobs 1,2 and he requires 1500 dollars.
Worker 4 can do jobs 2,4 and he requires 2500 dollars.
Worker 5 can do jobs 4,5 and he requires 1500 dollars.
Worker 6 can do jobs 3,5 and he requires 1000 dollars.
少しの計算と論理的思考の後で、労働者 1、3、4、5 を雇う必要があると結論付けることができます。つまり、支払う必要のある最低賃金は、1000 + 1500 + 2500 + 1500 = 5500 ドルです。
しかし、その量を出力する効率的なアルゴリズムをどのように見つけることができるのでしょうか? これはどういうわけかハンガリーのアルゴリズムを思い出させますが、これらの追加の制約により、私はそれを適用することができません.