|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Nov 2001
Messaggi: 206
|
Reti Neurali. La migliore per il mio problema!
Ho un problema e vorrei risolverlo con le reti neurali.
Il problema è il seguente. Ho un elaboratore a cui dare in pasto dei lavori (Job) Ogni lavoro ha un costo di tempo.Inoltre il lavoro deve essere processato nel minor tempo possibile. L'elaboratore deve elaborare il maggior numero di lavoro nel minor tempo possibile. Quindi devo creare uno scheduler. Esistono vari algoritmi, ma vorrei farlo con una rete neurale. Tra le molte reti neurali, qual'è quella più adatta a risolvere il mio problema? |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
MMhhh.
Puoi spiegare meglio il problema? Fin'ora ho capito che hai un lavoro fatto da tanti job. Ogni job ha un tempo (costo). E basta? Tutto qui? Cosa vuoi dalla rete neurale? (o da qualunque soluzione si riesca ad ottenere) Che ti dica qual e' il prossimo lavoro da eseguire? Detta cosi' la riposta potrebbe essere: Eseguili tutti insieme, cosi' minimizzi il tempo.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
|
|
|
|
|
#3 | |
|
Member
Iscritto dal: Nov 2001
Messaggi: 206
|
Quote:
Ho tanti lavori da far fare. Ogni lavoro ha un costo (in tempo). I lavori li può fare soltanto uno. Quindi deve scegliere quali lavori fare per prima per massimizzare la produzione. Credo cmq di aver trovato la soluzione. Il mio problema è molto simile al Knapsack Problem risolvibile con un algoritmo genetico. Qualcuno ha già un listato del Knapsack Problem? |
|
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Quote:
Non l'ho mai risolto in programmazione, ma solo in teoria, in ottimizzazione e ricerca operativa.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
|
|
|
|
|
|
#5 | |
|
Member
Iscritto dal: Nov 2001
Messaggi: 206
|
Quote:
adesso lo studio e lo adatto al mio problema. Ps. Per me la scelta dell'algoritmo genetico è obbligatoria. I miei input sono soggetti a errori molto alti |
|
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Quote:
Non ricordo assolutamente nulla, ricordo solo che avevamo sempre le carote, le mele, le banane, etc. ciascuna con costi e benefici. Avevamo tot lire (Allora quelle c'erano), e dovevamo massimizzare i benefici, stando dentro le lire che avevamo. Sembra tutte le volte di andare dal verduriere, altro che ricerca operativa. Mi ricordo che c'era un algoritmo deterministico. In teoria' gli errori non dovrebbero imporare molto e dovrebbe funzionare lo stesso.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Non mi torna...ogni lavoro ha un costo fisso, ma che vuol dire che ogni lavoro deve essere processato nel minor tempo possibile ?
Spiegati con un esempio. Hai inoltre delle precedenze e delle deadline sui lavori ? |
|
|
|
|
|
#8 | |
|
Member
Iscritto dal: Nov 2001
Messaggi: 206
|
Quote:
Le precedenze sono solo l'ordine d'arrivo. Non so come spiegarlo meglio. Immagina come se fosse una pizzeria. Arrivano i clienti, ti chiedo di fare un certo numero di pizze e ti danno un'orario di preferenza. Il compito del pizzaiolo, è quello di gestire nel miglior modo le situazioni. Ogni infornata ha un tempo per essere completata è può contenere solo un certo numero di pizze. Es. Ho 3 clienti cliente 1: ha 3 pizze per le 8:00 cliente 2: ha 2 pizze per le 8:00 cliente 3: ha 6 pizze per le 8:00 Il forno ha una campienza massima di 6 pizze per volta. Cosa fare? Se metto prima cliente 1 e 2, avranno le pizze in orario. Soltanto 1 avrà un leggero ritardo Se metto il cliente 3, avrò il forno pieno, ma in questo caso, un cliente avrà le pizze in orario, due invece in ritardo. Naturalmente la scelta migliore è la prima, in ottica futura, perchè ho soddfisfatto due clienti invece di uno. Credo quindi che il problema dello zaino, può essere modificato per risolvere questo. |
|
|
|
|
|
|
#9 | |
|
Junior Member
Iscritto dal: Apr 2008
Messaggi: 3
|
Quote:
si identifica bene con il knapsack problem. Ci sono cmq diversi modi per affrontarne la risoluzioni, oltre a quella che ho mostrato basata sugli algoritmi genetici, puoi adottare un approccio risolutivo classico basato sull' utilizzo di tecniche di programmazione dinamica |
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
L'esempio non torna, ed e' anche sbagliato. Potrei mettere le pizze di 1 e di 2 insieme nel forno.
Puoi dirci veramente a cosa ti serve? Cosi' magari riusciamo anche a tirare fuori un modello dati. Per il knapsack problem ti serve una variabile limite, e tu ne hai messe 2 per ora, il tempo e il volume del forno
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. Ultima modifica di gugoXX : 04-04-2008 alle 01:31. |
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Se hai delle deadline ci sono sicuramente algoritmi di schedulazione per sistemi realtime già pronti
|
|
|
|
|
|
#12 | |
|
Bannato
Iscritto dal: Nov 2000
Città: mi
Messaggi: 18791
|
Quote:
X orario e X data hai sempre la soluzione migliore... ma io sono uno che trova soluzioni veloci , quindi non conto |
|
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Feb 2007
Messaggi: 1020
|
Ma che mole di dati hai? Nel senso che sarebbe fattibile analizzare TUTTE le possibili combinazioni in un tempo ragionevole? Altrimenti potresti buttarci giù un algoritmo genetico che minimizzi sia il tempo di attesa totale dei clienti sia il numero di clienti che eventualmente sforino dal tempo desiderato di attesa (in modo da creare meno clienti scontenti a parità di ritardo totale). Però lavorarci tanto è giustificato solo se non è possibile valutare in maniera analitica tutte le possibili combinazioni numero clienti/numero pizze/tempo desiderato di attesa. Poi dovresti anche dirci quante sono eventualmente le variabili del problema che vorresti minimizzare nel tuo caso reale.
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:05.












X orario e X data hai sempre la soluzione migliore... ma io sono uno che trova soluzioni veloci , quindi non conto








