El problema, tal y como lo planteas en el post, es encontrar el máximo beneficio. No se trata de problema de decisión por lo que no puede ser NP-completo por definición.
Así pues, consideremos un problema de decisión estrechamente relacionado: dejemos que AA sea un conjunto de tareas, cada tarea aa con un tiempo de ejecución asociado t(a)t(a) Beneficio p(a)p(a) y plazo d(a)d(a) y que BB sea un número entero positivo. ¿Existe una secuencia de tareas distintas a1,a2,…,ana1,a2,…,an en AA tal que ∑1≤i≤kt(ai)≤d(ak)∑1≤i≤kt(ai)≤d(ak) (es decir, cada tarea se completa dentro de su plazo) y ∑1≤i≤np(ai)≥B∑1≤i≤np(ai)≥B (es decir, el beneficio total de las tareas es de al menos BB )?
Este problema está claramente en NP (es fácil comprobar en tiempo polinómico que un horario dado cumple las condiciones) y se puede demostrar que es NP-duro, por una reducción de SUBSET SUM :
-
Supongamos que tenemos una instancia de SUBSET SUM, en forma de conjunto finito AA un tamaño s(a)∈Z+s(a)∈Z+ para cada a∈Aa∈A y un número entero positivo BB el problema es determinar si hay un subconjunto A′⊆A tal que ∑a∈A′s(a)=B .
-
Entonces el problema de secuenciación correspondiente tiene t(a)=p(a)=s(a) y d(a)=B .
Un argumento estándar para reducir un problema de optimización al correspondiente problema de decisión muestra que su problema original (encontrar el máximo beneficio) está en la clase FP NP .
La versión de decisión de su problema es [SS3] SEQUENCING TO MINIMIZE TARDY TASK WEIGHT en Garey & Johnson, Ordenadores e intratabilidad donde los autores añaden:
Puede resolverse en tiempo pseudopolinómico (tiempo polinómico en |A| , ∑t(a) y log∑p(a) ) [Lawler & Moore (1969), "A functional equation and its applications to resource allocation and sequencing problems," Ciencias de la gestión 16 pp. 77-84.]