Ho lavorato a questa domanda e non riesco a trovare la risposta giusta. Qualcuno può aiutarmi per favore con questo?Miglior lavoro di pianificazione
Ci vengono dati N
lavori [1,..,N]
. Otterremo uno stipendio S(i) >= 0
per ottenere un lavoro i
completato e una detrazione D(i) >= 0
che si somma per ogni giorno che passa.
Avremo bisogno di T(i)
giorni per completare il lavoro i
. Supponiamo che il lavoro i
sia fatto il giorno d
, riceverai S(i) - d.D(i)
in ricompensa. La ricompensa può essere negativa se d
è troppo grande. Siamo in grado di passare i lavori nel processo e lavorare sui lavori in qualsiasi ordine, ovvero se iniziamo il lavoro 1 che richiede 5 giorni al giorno 1, non dobbiamo passare 5 giorni consecutivi sul lavoro 1.
Come possiamo decidere il miglior programma di lavoro, in modo che possiamo completare tutti i lavori e ottenere il massimo dello stipendio?
Sembra un problema nello zaino: _https: //en.wikipedia.org/wiki/Knapsack_problem_ –
@WashingtonGuedes Avete qualche idea su come affrontare questo problema? – CsIsFun
Se ho capito bene, 'S (i)' è fisso - ogni volta che il lavoro è finito, e l'unica cosa che può cambiare è la deduzione per quando è finito. Seguendo queste ipotesi, ordina i lavori in modo che quelli che ti costeranno di più a ritardare vengano eseguiti per primi, e quelli meno costosi durino, riducendo così le deduzioni complessive. –