Abbiamo una vasta serie di domande sul sondaggio, che distribuiamo agli utenti online. Raccogliamo l'invio dagli utenti e in base alla loro presentazione, decidiamo le risposte per tali domande. Ora, ogni utente riceve una serie di domande, ad esempio N . Per ogni invio dato dall'utente, ottiene alcuni punti (costo c ). Ora, c'è un limite massimo per le domande in modo che se una domanda riceve più di k invii, sarà disabilitata dal prossimo incarico.
Ora il problema è che, a volte, gli utenti fanno domande e non lo inoltrano per molto tempo. Pertanto, assegniamo la stessa domanda a molti utenti (ad esempio m , m > k ) e, dopo qualche tempo, ognuno invia la soluzione, quindi di richieste k , otteniamo l'invio m . Che alla fine aumenta il costo totale collegato al sondaggio. C'è qualche algoritmo per risolvere cose come questa.
Abbiamo pensato di creare un sistema di "prenotazione soft", in cui terremo traccia del conteggio delle assegnazioni di ogni domanda, in modo che se gli utenti k abbiano la stessa domanda, non le daremo ad altri utenti. Ma ha effetti collaterali che includono il controllo del timer per ogni domanda, indipendentemente dal fatto che la presentazione sia arrivata o meno. Che è piuttosto sporco
Altro che sembra strettamente correlato è un problema di assegnazione, un algoritmo ungherese, ma la sua soluzione non è quella che stiamo cercando. Per favore aiuto.
Aggiornamento -
C'è un'altra clausola di selezione casuale delle domande. Vogliamo dare una serie di domande diverse a ciascun utente. Così ora, se ho 50 utenti e 1000 domande e l'invio massimo di una domanda ( k ) è 5, come posso ottenere il risultato nel costo minimo speso.