Condividi:        

[Excel] Combinazioni semplici n=60 k=10

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

[Excel] Combinazioni semplici n=60 k=10

Postdi Goon » 05/08/14 11:11

Ciao a tutti,

Vi seguo da un po' di tempo e ho deciso d'iscrivermi anch'io per condividere ciò che so con tutti voi (ancora poco purtroppo :) ).
Però la mia prima apparizione è una richiesta d'aiuto, e un ringraziamento anticipato all'anima pia che mi aiuterà!

Sto realizzando un programma in excel, che dovrò poi convertire in linguaggio web ( PHP o java o altro) per poterlo mettere a disposizione direttamente sul mio sito web e farlo usare facilmente da lì, senza che l'utente debba scaricarselo :).

Ho bisogno di creare una macro excel (o anche utilizzare delle formule) che dati n elementi e k classi , mi possa calcolare e stampare (vorrei visualizzarli su un altro foglio) tutte le possibili combinazioni semplici (senza ripetizioni).

So che per le n=60 e k=10 che mi servirebbero, ci vorrebbe uno spazio incredibile per contenere tutti i dati, per questo userei un HD esterno da 1.000 Gb o più, oppure un server apposito su cui far girare solo questa cosa.

PS: quindi andrebbe bene anche un algoritmo già scritto per PHP o java :)


Spero di trovare qualcuno che possa aiutarmi, intanto vi ringrazio e vi rinnovo i complimenti per la vostra competenza :)

Grazie!
Goon
Newbie
 
Post: 9
Iscritto il: 05/08/14 10:13

Sponsor
 

Re: [Excel] Combinazioni semplici n=60 k=10

Postdi Goon » 05/08/14 15:40

Scusatemi, volevo condividere un'altro ragionamento:

Dato che combinazioni semplici con n=60 e k=10, sono (se non erro):

75 394 027 566

e io dovrei ripetere questa procedura per 33 volte e poi processare queste combinazioni per trovare la migliore secondo un criterio di somma dei singoli valori degli elementi della combinazione.... forse è impossibile anche se si mette tutto su un HD esterno o su server dedicato.

Mi basterebbe anche una combinazione con ripetizione del tipo n=30 k=10, questa soluzione genera "solo":

635 745 396

Quindi farebbe risparmiare molto più tempo e spazio della prima.

Purtroppo dopo aver processato tutte queste combinazioni dovrei anche scoprire la migliore in base ad alcuni criteri, ma ritengo che si possa aspettare prima di aggiungere altra carne al fuoco :)

Vi ringrazio ancora
Goon
Newbie
 
Post: 9
Iscritto il: 05/08/14 10:13

Re: [Excel] Combinazioni semplici n=60 k=10

Postdi Goon » 05/08/14 16:50

Scusatemi ancora se commento, ho provato ad usare il bottone "edit" ma non me lo fa usare!

Volevo correggermi, e dire che ho riconsiderato la mia situazione, mi servirebbero delle Disposizioni semplici n=30 k=10.

Una cosa del genere mi darebbe: 1.0902735e+14 che non so nemmeno decifrare in ordine di tempo e spazio per poterle visualizzare.

Mi devo arrendere a cambiare strada, per chi fosse interessato a questo punto si tratta di darmi una mano a trovare una via alternativa per fare ciò di cui ho bisogno. Se interessati potrei passarvi il file su cui lavoro e spiegarvi meglio cosa devo riuscire ad ottenere :)

Grazie
Goon
Newbie
 
Post: 9
Iscritto il: 05/08/14 10:13

Re: [Excel] Combinazioni semplici n=60 k=10

Postdi Anthony47 » 06/08/14 02:52

Ciao Goon, benvenuto nel forum.
In questa discussione era stata presentata una macro che calcola le combinazioni di N elementi con classe K: viewtopic.php?p=584179#p584171
Ovviamente qualsiasi elenco di lunghezza superiore a 1.048.546 righe (1,048546 e^+6) e' di difficile rappresentazione in excel.
Visto che parli di 1.0902735e+14 combinazioni, i limiti sono superati di 10^7.

Cosi' come impostato, mi pare irrisolvibile con Excel...

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19221
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Excel] Combinazioni semplici n=60 k=10

Postdi Goon » 06/08/14 13:19

Anthony47 ha scritto:Ciao Goon, benvenuto nel forum.
In questa discussione era stata presentata una macro che calcola le combinazioni di N elementi con classe K: viewtopic.php?p=584179#p584171
Ovviamente qualsiasi elenco di lunghezza superiore a 1.048.546 righe (1,048546 e^+6) e' di difficile rappresentazione in excel.
Visto che parli di 1.0902735e+14 combinazioni, i limiti sono superati di 10^7.

Cosi' come impostato, mi pare irrisolvibile con Excel...

Ciao


Grazie mille Anthony per l'intervento e per il benvenuto,

Ti ringrazio inoltre per avermi segnalato la tua macro, il problema è che utilizzando un n=30 e k=10 si bloccherebbe tutto.

Ho pensato una cosa però:

1) Se il problema di excel sono le righe massime, non si potrebbe creare una macro che arrivata alla riga n° 1.048.546 della colonna A, ricomincia a stampare i risultati nella colonna B e così via?

Comunque immagino che il principale problema sia il tempo necessario per elaborare tutti i risultati, che penso sia quantificabile in mesi di elaborazione dati.

Quindi Excel non può aiutarmi in questo caso, confido che esistano altri metodi più veloci e potenti (algoritmo in PHP magari?).

Tuttavia, vorrei specificare che per adesso ho già realizzato il programma senza usare le disposizioni semplici, ma la soluzione logica che ho adottato mi porta inevitabilmente a dover intervenire manualmente in alcune situazioni.
Sono convinto che sia migliorabile, e vorrei capire fino a che punto :)

Se avete voglia di mettere alla prova il vostro grado di capicità logica fatemelo sapere e vi passerò la parte del file in questione :D
Goon
Newbie
 
Post: 9
Iscritto il: 05/08/14 10:13

Re: [Excel] Combinazioni semplici n=60 k=10

Postdi Anthony47 » 12/08/14 01:07

Si, si potrebbe continuare dalle prossime colonne, ma se i limiti di numero di righe sono superate di un fattore 10^7 allora servirebbero 10^7 colonne, che al momento non ci sono.
Inoltre, se bisogna rappresentare 60 elementi a gruppi di 10 ogni cella dovra' almeno contenere 30 caratteri; quindi serviranno 30 MByte ogni colonna compilata... e' facile prevedere che alla 10° colonna ti troverai il messaggio "Risorse insufficienti"...
Spero che altre piattaforme siano meno esigenti.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19221
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "[Excel] Combinazioni semplici n=60 k=10":


Chi c’è in linea

Visitano il forum: papiriof, raimea e 64 ospiti