Discussione:
problema di calcolo
(troppo vecchio per rispondere)
urantia
2020-05-29 09:52:15 UTC
Permalink
ciao s tutti
chiedo a voi che sicuramente saprete come risolvere il mio problema
immagino che possa essere risolto facilmente con un foglio di calcolo
elettronico, ma io non ci capisco nulla
allora:
ho 42 pile litio con le quali mi appresto ad assemblare un pacco
batterie da 24V, con 7 celle collegate in serie , ciascuna delle quali
dovrà essere composta da 6 pile collegate in parallelo, per un totale,
appunto, di 42 pile.
il valore della capacità in mAh delle 42 pile varia da 2079 a 1542 mAh
il problema consiste nel scegliere 7 gruppi di 6 pile, in modo che la
somma delle loro capacitò sia il più possibile vicino al valore di
10531mAh.
questo valore è ottenuto sommando i 42 valori di capacità in mAh delle
42 pile e dividendolo poi per 7.
la somma totale delle capacità è di 73723 mAh, diviso 7, mi da un
valore, arrotondato, di 10531 mAh, che sarà il valore in mAh per cella
al quale devo avvicinarmi il più possibile nella composizione delle 6
pile per cella (perchè le celle devono avere una capacità il più simile
possibile).
per ora ho proceduto un po'a caso, sottraendo da 10531 la capacità
della cella più alta, 2079, poi della più bassa, 1542, sottraendo poi
il valore di altre 2 pile scelte a caso, fino ad ottenere il valore in
mAh che dovrebbero avere le ultime 2 pile per completare la cella. a
questo punto questo valore l'ho diviso per 2 è ho poi scelto le due
pile che si avvicinassero di più .
in questo modo ho composto così la prima cella:
pila 1 2079+
pila 2 1542+
pila 3 1600+
pila 4 1707+
pila 5 1670+
pila 6 1937=
capacità totale cella 1 10535 mAh, quindi superiore al valore di
riferimento di soli 4 mAh
ora, un foglio elettronico dovrebbe scegliere tra i 42 valori, quelli
che più si avvicinano al valore richiesto di 10531 mAh
a farlo a mano c'è da impazzire, perchè, le combinazioni per ottenere
il valore più vicino sono un sacco e ovviamente ogni pila che viene
assegnata ad una cella, non è più disponibile per altre celle...
ecco qui, spero di essere stato abbastanza chiaro nell'esporre il
problema e spero che qualcuno di voi esperti mi possa dare qualche
dritta per risolverlo
come ho detto, di fogli elettronici di calcolo ci capisco praticamente
nulla, ma se esiste una formula per effettuare questo calcolo, mi
impegnerò ad implementarla nel programma per risolvere il dilemma
se volete, vi posto i 42 valori in mAh delle 42 pile.
grazie in anticipo :)
Karma Explorer
2020-05-29 10:35:04 UTC
Permalink
Post by urantia
ciao s tutti
chiedo a voi che sicuramente saprete come risolvere il mio problema
immagino che possa essere risolto facilmente con un foglio di calcolo
elettronico, ma io non ci capisco nulla
ho 42 pile litio [...]
Direi che il tuo è una versione più o meno "rilassata" (*) del problema
dello zaino:

https://en.wikipedia.org/wiki/Knapsack_problem

Non l'ho guardato (e si riferisce a una versione particolare di questo
problema) ma forse potresti partire da qui:

https://www.jonaslindstrom.dk/?p=280





(*) nel senso che mi sembra di capire che hai un minimo di margine di
tolleranza
frengo
2020-05-29 11:32:21 UTC
Permalink
Post by Karma Explorer
Post by urantia
ciao s tutti
chiedo a voi che sicuramente saprete come risolvere il mio problema
immagino che possa essere risolto facilmente con un foglio di calcolo
elettronico, ma io non ci capisco nulla
ho 42 pile litio [...]
Direi che il tuo è una versione più o meno "rilassata" (*) del problema
https://en.wikipedia.org/wiki/Knapsack_problem
Non l'ho guardato (e si riferisce a una versione particolare di questo
https://www.jonaslindstrom.dk/?p=280
(*) nel senso che mi sembra di capire che hai un minimo di margine di
tolleranza
Secondo me pero' i problemi non sono gli stessi.

frengo
p***@gmail.com
2020-05-29 13:59:25 UTC
Permalink
Post by urantia
uno di voi esperti mi possa dare qualche
dritta per risolverlo
come ho detto, di fogli elettronici di calcolo ci capisco praticamente
nulla, ma se esiste una formula per effettuare questo calcolo, mi
impegnerò ad implementarla nel programma per risolvere il dilemma
se volete, vi posto i 42 valori in mAh delle 42 pile.
grazie in anticipo :)
Una prima approssimazione dell`ordinamento cercato potrebbe essere questa:

1) si ordinano tutte le pile per il valore di mAh
2) si prendono le prime 7 e si forma una riga e le seconde 7 si incolonnano sotto; si procede cosi` fino alla 6 riga
3) si ribaltano (in senso orizzontale) le ultime tre righe (3 perche` meta` di 6)

fatto cio`, si dovrebbe essere a un buon punto di approssimazione (da correggere con altri spostamenti).

Questa e` una simulazione in APL, con valori casuali ogni volta diversi:

https://tio.run/##SyzI0U2pTMzJT9dNzkksLs5M/v8/5VHbBCMDc0tdQ1MTI65MIM/***@rZD5TWPLz9UeciIKOWqwAorpGpnaaQosmVCGSbKZgDDdiiUBD9qHdSQSwXV2K0iYKpgpl1LFDyUc9eOJfr/38Nbf1ow1iFRE2Q3UArFAq4AA

i primi 7 valori indicano il valore medio delle 6 pile in ciascun gruppo, l`ultimo in basso e` il valore medio di tutte le pile.
El Filibustero
2020-05-29 14:01:23 UTC
Permalink
Post by urantia
come ho detto, di fogli elettronici di calcolo ci capisco praticamente
nulla, ma se esiste una formula per effettuare questo calcolo, mi
impegnerò ad implementarla nel programma per risolvere il dilemma
se volete, vi posto i 42 valori in mAh delle 42 pile.
Forse potrebbe funzionare approssimativamente (ma molto rapidamente)
un algoritmo di erosione geologica. Se posti i 42 valori lo testo.
Ciao
El Filibustero
2020-05-30 12:19:52 UTC
Permalink
Post by El Filibustero
Forse potrebbe funzionare approssimativamente (ma molto rapidamente)
un algoritmo di erosione geologica. Se posti i 42 valori lo testo.
Comunque, anche senza provare i 42 valori specifici, l'algoritmo di
erosione applicato a 42 interi casuali con distribuzione uniforme tra
1542 e 2079 li raggruppa in 7 gruppi da 6 con uno scarto quadratico
medio che in media e' (empiricamente) inferiore a 7 unita'. Forse e'
sufficiente. Ciao
Elio Fabri
2020-05-29 15:12:53 UTC
Permalink
...
Il valore della capacità in mAh delle 42 pile varia da 2079 a 1542
mAh il problema consiste nel scegliere 7 gruppi di 6 pile, in modo
che la somma delle loro capacità sia il più possibile vicino al
valore di 10531mAh.
Un contributo da fisico :)
Le capacità delle 42 pile suppongo le avrai misurate, e dubito assai
che le misure ti possano dare le capacita con incertezza inferiore al
+/-1%.
Assumiamo per semplicità che le incertezze assolute siano +/-20 mAh.

Questo modifica il problema matematico, nel senso che una soluzione
sarà soddisfacente se le capacità dei 7 gruppi non differiscono più di
120 mAh dalla media.
Stando così le cose, mi sembra inutile cercare soluzioni sofisticate:
probab. ci puoi arrivare per tentativi.
--
Elio Fabri
urantia
2020-05-30 12:20:54 UTC
Permalink
Post by Elio Fabri
Questo modifica il problema matematico, nel senso che una soluzione
sarà soddisfacente se le capacità dei 7 gruppi non differiscono più di
120 mAh dalla media.
probab. ci puoi arrivare per tentativi.
ovviamente so che tutto il calcolo è matematico e che il risultato
matematico non sarà esattamente come nella realtà finale.
alla fine sono arrivato ad ottenere una differenza tra la capacità
della cella maggiore con la cella minore di soli 96mAh, ma mi sa che il
mio metodo lo brevetto....:)
El Filibustero
2020-05-30 12:41:19 UTC
Permalink
Post by urantia
alla fine sono arrivato ad ottenere una differenza tra la capacità
della cella maggiore con la cella minore di soli 96mAh, ma mi sa che il
mio metodo lo brevetto....:)
con l'algoritmo di erosione siamo -- molto probabilmente -- a un
ordine di grandezza in meno. Ciao
urantia
2020-05-30 16:10:06 UTC
Permalink
Post by El Filibustero
Post by urantia
alla fine sono arrivato ad ottenere una differenza tra la capacità
della cella maggiore con la cella minore di soli 96mAh, ma mi sa che il
mio metodo lo brevetto....:)
con l'algoritmo di erosione siamo -- molto probabilmente -- a un
ordine di grandezza in meno. Ciao
ecco l'elenco delle capacità delle 42 pile litio 18650, recuperate da
pacchi batteria di portatili, che devo aggregare in gruppi di 6
parallele per formare le 7 celle da mettere in serie per raggiungere i
24V nominali, il tutto per formare un nuovo pacco batterie per la mia
bici elettrica a 24V
il secondo numero indica la resistenza interna di ogni pila, ma nel
calcolo non serve, se non a me per distinguere pile di valore uguale.
la somma di tutte le capacita (se tutte le pile fossero collegate in
parallelo) è di 73628 mAh
divido questo valore per 7 e ho l'ipotetico valore per ogni cella a cui
mirare nell'operazione di aggregamento delle pile, cioè 10518 mAh

2079-51
2075-52
2055-130
2045-67
2036-49
2029-57
2027-91
2023-92
2016-48
2016-110
2006-76
2006-93
2000-103
1993-90
1978-88
1967-94
1937-95
1926-105
1911-297
1741-179
1740-237
1735-139
1734-152
1724-117
1707-232
1694-175
1670-274
1669-210
1635-151
1628-228
1621-170
1600-163
1590-195
1583-172
1576-173
1571-197
1556-154
1553-133
1550-201
1545-151
1545-207
1542-189
El Filibustero
2020-05-30 20:46:41 UTC
Permalink
Post by urantia
ecco l'elenco delle capacità delle 42 pile litio 18650, recuperate da
pacchi batteria di portatili, che devo aggregare in gruppi di 6
parallele per formare le 7 celle da mettere in serie per raggiungere i
24V nominali, il tutto per formare un nuovo pacco batterie per la mia
bici elettrica a 24V
il secondo numero indica la resistenza interna di ogni pila, ma nel
calcolo non serve, se non a me per distinguere pile di valore uguale.
la somma di tutte le capacita (se tutte le pile fossero collegate in
parallelo) è di 73628 mAh
A me risulta 75634
Post by urantia
divido questo valore per 7 e ho l'ipotetico valore per ogni cella a cui
mirare nell'operazione di aggregamento delle pile, cioè 10518 mAh
10804.86
Post by urantia
2079-51
2075-52
2055-130
2045-67
2036-49
2029-57
2027-91
2023-92
2016-48
2016-110
2006-76
2006-93
2000-103
1993-90
1978-88
1967-94
1937-95
1926-105
1911-297
1741-179
1740-237
1735-139
1734-152
1724-117
1707-232
1694-175
1670-274
1669-210
1635-151
1628-228
1621-170
1600-163
1590-195
1583-172
1576-173
1571-197
1556-154
1553-133
1550-201
1545-151
1545-207
1542-189
Ecco una combinazione con uno scarto di 7 tra min e max:

totale

1993 1740 1550 2006 1590 1926 10805
1937 2000 1553 2006 1735 1571 10802
1576 1545 2029 2079 1542 2036 10807
1628 2023 1707 1669 1724 2055 10806
2016 1741 1545 1734 1694 2075 10805
1621 1556 2016 1978 1967 1670 10808
1911 1635 1600 1583 2045 2027 10801

Ciao
El Filibustero
2020-05-30 20:57:20 UTC
Permalink
On Sat, 30 May 2020 22:46:41 +0200, El Filibustero wrote:

scarto 5:
totale

1978 2016 1694 1628 1553 1937 10806
2036 1550 2045 2029 1576 1571 10807
2023 1993 1707 1669 1670 1740 10802
1583 1545 1967 1911 2075 1724 10805
1542 2027 2006 1556 2055 1621 10807
1600 1545 1635 2016 2006 2000 10802
1926 1741 1734 1735 1590 2079 10805
p***@gmail.com
2020-05-30 21:12:54 UTC
Permalink
Post by urantia
totale
1978 2016 1694 1628 1553 1937 10806
2036 1550 2045 2029 1576 1571 10807
2023 1993 1707 1669 1670 1740 10802
1583 1545 1967 1911 2075 1724 10805
1542 2027 2006 1556 2055 1621 10807
1600 1545 1635 2016 2006 2000 10802
1926 1741 1734 1735 1590 2079 10805
scarto 2 (10 cicli dalla configurazione ordinata):

[[2029 2023 2027 2016 2000 2075 2079]
[1993 2055 2006 2006 2016 2036 2045]
[1978 1741 1911 1926 1937 1967 1740]
[1669 1670 1694 1707 1724 1542 1735]
[1590 1583 1621 1600 1576 1628 1635]
[1545 1734 1545 1550 1553 1556 1571]]

[10804 10806 10804 10805 10806 10804 10805]
El Filibustero
2020-05-30 21:23:36 UTC
Permalink
Post by p***@gmail.com
[[2029 2023 2027 2016 2000 2075 2079]
[1993 2055 2006 2006 2016 2036 2045]
[1978 1741 1911 1926 1937 1967 1740]
[1669 1670 1694 1707 1724 1542 1735]
[1590 1583 1621 1600 1576 1628 1635]
[1545 1734 1545 1550 1553 1556 1571]]
[10804 10806 10804 10805 10806 10804 10805]
1571 1707 2000 2036 1937 1553 10804
2006 1978 1694 2006 1545 1576 10805
2075 1556 1583 2045 1911 1635 10805
2016 1621 1545 2027 1670 1926 10805
2016 1590 1741 1734 1669 2055 10805
1542 2029 1993 1967 1550 1724 10805
1628 1600 1735 1740 2079 2023 10805

Scarto 1, direi basta. Ciao
urantia
2020-05-31 11:05:54 UTC
Permalink
Post by El Filibustero
Post by p***@gmail.com
[[2029 2023 2027 2016 2000 2075 2079]
[1993 2055 2006 2006 2016 2036 2045]
[1978 1741 1911 1926 1937 1967 1740]
[1669 1670 1694 1707 1724 1542 1735]
[1590 1583 1621 1600 1576 1628 1635]
[1545 1734 1545 1550 1553 1556 1571]]
[10804 10806 10804 10805 10806 10804 10805]
1571 1707 2000 2036 1937 1553 10804
2006 1978 1694 2006 1545 1576 10805
2075 1556 1583 2045 1911 1635 10805
2016 1621 1545 2027 1670 1926 10805
2016 1590 1741 1734 1669 2055 10805
1542 2029 1993 1967 1550 1724 10805
1628 1600 1735 1740 2079 2023 10805
Scarto 1, direi basta. Ciao
Fantastico, grazie, si hai ragione, ho sbagliato la somma delle
capacità.
ma che metodo hai usato?
El Filibustero
2020-05-31 20:16:22 UTC
Permalink
Post by urantia
ma che metodo hai usato?
Non saprei se c'e' un nome "ufficiale" per quello che ho chiamato
algoritmo di erosione geologica: mi pare lo stesso algoritmo che ha
usato pauperino.

L'erosione pialla i rilievi e colma le vallate, tanto piu' quanto le
cime sono alte e le valli profonde.

1) formare casualmente i gruppi.
2) individuare il monte piu' alto (gruppo a somma massima Max) e la
valle piu' profonda (gruppo a somma minima Min)
3) cercare di pareggiarli, individuando la coppia di elementi -- M del
monte, V della valle -- tali che la differenza M-V sia la piu'
prossima possibile a (Max-Min)/2; trasferire M a valle e V a monte.
4) goto 2) finche' non ci sara' nessun progresso nel livellamento.
Magari, terminando cosi', il livellamento non e' soddisfacente. Non
dimentichiamoci allora che esistono i terremoti: goto 1) ad libitum.

Ciao
p***@gmail.com
2020-05-31 20:45:26 UTC
Permalink
Post by El Filibustero
Post by urantia
ma che metodo hai usato?
Non saprei se c'e' un nome "ufficiale" per quello che ho chiamato
algoritmo di erosione geologica: mi pare lo stesso algoritmo che ha
usato pauperino.
L'erosione pialla i rilievi e colma le vallate, tanto piu' quanto le
cime sono alte e le valli profonde.
1) formare casualmente i gruppi.
2) individuare il monte piu' alto (gruppo a somma massima Max) e la
valle piu' profonda (gruppo a somma minima Min)
3) cercare di pareggiarli, individuando la coppia di elementi -- M del
monte, V della valle -- tali che la differenza M-V sia la piu'
prossima possibile a (Max-Min)/2; trasferire M a valle e V a monte.
4) goto 2) finche' non ci sara' nessun progresso nel livellamento.
Magari, terminando cosi', il livellamento non e' soddisfacente. Non
dimentichiamoci allora che esistono i terremoti: goto 1) ad libitum.
Ciao
E` lo stesso algoritmo, e anche io ero riuscito a ottenere lo scarto minimo con la forza bruta (vale a dire mescolare casualmente le batterie all`inizio). Non ho inviato il risultato perche` mi sembrava un procedimento poco matematico (ma tu ne hai spiegato bene la fisicita`).

In Apl, senza mescolamento:

https://tio.run/##***@CLhT1DUzfOf/8djj79cJfWVX12cJ9XKd11T9b0Pt09WORX2H4pTlwsMYAQzQWYBloCdIAO0HZEekCqd5xng5oB1QCZgC2ittJsNQJ/***@W5ANesjDe5YI43jLMCBMaIMuIZSfHnEUy0wHrTKOzfbazC9vV4qkQTLeFfkywf9p/U4YwmYffjY1oP3ktH1Gixged1TA2PRdh9o6YadVc0ukxALlHfv/***@IjjQpclUStPttDU8qBwjzbDuFbLQBrFv8fD5FHA21DY3uEPN9T30eQEkxR2kj2jpaiDR38
ansiagorod@pirlmail.com
2020-05-31 21:05:05 UTC
Permalink
Ha tutta l'aria di essere una variante dell'algoritmo di
annealing...........................
urantia
2020-06-01 15:36:11 UTC
Permalink
Post by El Filibustero
L'erosione pialla i rilievi e colma le vallate, tanto piu' quanto le
cime sono alte e le valli profonde.
1) formare casualmente i gruppi.
2) individuare il monte piu' alto (gruppo a somma massima Max) e la
valle piu' profonda (gruppo a somma minima Min)
3) cercare di pareggiarli, individuando la coppia di elementi -- M del
monte, V della valle -- tali che la differenza M-V sia la piu'
prossima possibile a (Max-Min)/2; trasferire M a valle e V a monte.
4) goto 2) finche' non ci sara' nessun progresso nel livellamento.
Magari, terminando cosi', il livellamento non e' soddisfacente. Non
dimentichiamoci allora che esistono i terremoti: goto 1) ad libitum.
Ciao
molto interessante! ma tutto questo lo fai con un foglio di calcolo o
con qualche programma apposito? perchè ho un altra 70ina di pile che
potrei assemblare prossimamente per fare altri pacchi batteria da
24volt, visto che ho pure uno scooter elettrico di quelli cinesi...
El Filibustero
2020-06-01 16:42:09 UTC
Permalink
Post by urantia
molto interessante! ma tutto questo lo fai con un foglio di calcolo o
con qualche programma apposito?
Programma apposito, che pauperino ha gia' approntato in APL. Forse
puo' essere usato online, uploadando un foglio di calcolo con i dati.
Sentiamo pauperino. Ciao
urantia
2020-05-31 11:08:06 UTC
Permalink
Post by El Filibustero
Post by p***@gmail.com
[[2029 2023 2027 2016 2000 2075 2079]
[1993 2055 2006 2006 2016 2036 2045]
[1978 1741 1911 1926 1937 1967 1740]
[1669 1670 1694 1707 1724 1542 1735]
[1590 1583 1621 1600 1576 1628 1635]
[1545 1734 1545 1550 1553 1556 1571]]
[10804 10806 10804 10805 10806 10804 10805]
1571 1707 2000 2036 1937 1553 10804
2006 1978 1694 2006 1545 1576 10805
2075 1556 1583 2045 1911 1635 10805
2016 1621 1545 2027 1670 1926 10805
2016 1590 1741 1734 1669 2055 10805
1542 2029 1993 1967 1550 1724 10805
1628 1600 1735 1740 2079 2023 10805
Scarto 1, direi basta. Ciao
darò il tuo nome alla batteria!
urantia
2020-06-02 04:05:10 UTC
Permalink
Post by El Filibustero
Post by p***@gmail.com
[[2029 2023 2027 2016 2000 2075 2079]
[1993 2055 2006 2006 2016 2036 2045]
[1978 1741 1911 1926 1937 1967 1740]
[1669 1670 1694 1707 1724 1542 1735]
[1590 1583 1621 1600 1576 1628 1635]
[1545 1734 1545 1550 1553 1556 1571]]
[10804 10806 10804 10805 10806 10804 10805]
1571 1707 2000 2036 1937 1553 10804
2006 1978 1694 2006 1545 1576 10805
2075 1556 1583 2045 1911 1635 10805
2016 1621 1545 2027 1670 1926 10805
2016 1590 1741 1734 1669 2055 10805
1542 2029 1993 1967 1550 1724 10805
1628 1600 1735 1740 2079 2023 10805
Scarto 1, direi basta. Ciao
perdonami, ma me lo puoi rifare? la pila da 1911 non è più disponibile,
per rientrare nelle 42 aggiungo un a da 1532
El Filibustero
2020-06-02 07:24:06 UTC
Permalink
Post by urantia
la pila da 1911 non è più disponibile,
per rientrare nelle 42 aggiungo un a da 1532
totale

1621 1583 1926 2029 1576 2016 10751
2006 1532 1635 1556 2016 2006 10751
1993 1937 2036 1571 1545 1669 10751
1670 1694 2079 1707 2055 1545 10750
1967 2075 1600 1628 1741 1740 10751
1553 1734 1724 2027 1978 1735 10751
2023 2000 1542 1590 2045 1550 10750

Ciao
Franco
2020-06-02 15:17:46 UTC
Permalink
Post by urantia
ecco l'elenco delle capacità delle 42 pile litio 18650, recuperate da
pacchi batteria di portatili, che devo aggregare in gruppi di 6
parallele per formare le 7 celle da mettere in serie per raggiungere i
24V nominali, il tutto per formare un nuovo pacco batterie per la mia
bici elettrica a 24V
Una osservazione non matematica, ma che serve per le batterie. Per
mettere in parallelo le batterie non basta guardare la capacita`, ma
tutti gli elementi devono essere identici. In caso contrario, se va
bene, puo` capitare che la capacita` totale sia abbastanza minore della
somma delle capacita` degli elementi, nel caso peggiore puo` capitare
che alcune celle si rovinino.

Questo e` dovuto alla resistenza interna delle celle: prendi ad esempio
il primo gruppo dove ci sono la cella da 1571mAh e da 2036mAh. Per usare
tutta la capacita` delle due celle si dovrebbe assorbire una corrente
proporzionale alla capacita`, sempre ammettendo che la curva carica
residua-tensione sia la stessa. La cosa non e` possibile perche' ci sono
le resistenze serie molto diverse.
--
This email has been checked for viruses by AVG.
https://www.avg.com
urantia
2020-06-02 17:53:30 UTC
Permalink
Una osservazione non matematica, ma che serve per le batterie. Per mettere in
parallelo le batterie non basta guardare la capacita`, ma tutti gli elementi
devono essere identici. In caso contrario, se va bene, puo` capitare che la
capacita` totale sia abbastanza minore della somma delle capacita` degli
elementi, nel caso peggiore puo` capitare che alcune celle si rovinino.
Questo e` dovuto alla resistenza interna delle celle: prendi ad esempio il
primo gruppo dove ci sono la cella da 1571mAh e da 2036mAh. Per usare tutta
la capacita` delle due celle si dovrebbe assorbire una corrente proporzionale
alla capacita`, sempre ammettendo che la curva carica residua-tensione sia la
stessa. La cosa non e` possibile perche' ci sono le resistenze serie molto
diverse.
ti ringrazio della precisazione che mi da modo di riportare la mia
esperienza decennale con le pile litio recuperate, anche se l'argomento
non è strettamente matematico.
quello che dici è vero, ma la realtà è sempre più complessa della
teoria.
1) la chimica e la fisica delle pile litio 18650 è molto variabile.
se caricate al massimo e lasciate lì per una decina di mesi, aumentano
la loro resistenza interna e perdono in capacità, ma non sempre è così.
ho delle 18650 che, dopo piu di un anno conservate a carica massima,
4,2 volt, quando prima avevano una capacità di 1500 mAh, dopo l'hanno
aumentata a 1600 mAh, altre che sono effettivamente calate in capacità
2) la resistenza interna, se le pile sono collegate in parallelo, non
si somma, ma diminuisce.
3) nel mio pacco batterie litio 24V, che sto usando ora sulla mia bici
elettrica, assemblato da me con gli stessi componenti di recupero e
allo stesso modo, c'è un BMS, battery mamagement system, che in fase di
carica livella le varie celle in modo che alla fine abbiano tutte lo
stesso voltaggio. inoltre, se una cella si scarica più di un'altra, il
pacco, 29,4 volt a piena carica, si stacca se la tensione erogata
scende sotto i 20,5 volt circa, per evitare di superare il livello
minimo di carica
4) in tutti i pacchi batterie, litio (o anche altre chimiche), se la
carica massima è 4,2 volt, la minima è 3 o 2,9 volt, quindi il
voltaggio che viene efffettivamente utilizzato è 1,20-1,30 volt (il
grande handicapp delle batterie a confronto con un serbatoio pieno di
benzina, che un veicolo a motore a scoppio utilizza fino all'ultima
goccia
5)tutte queste pile sono per me a costo zero, sono pile destinate alla
discarica, quindi se le sfrutto ancora un po' va bene, se poi il pacco
non dura come uno assemblato con pile nuove, beh, mi rimane la goduria
di averlo assemblato io a costo praticamente nullo e di aver sfruttato
fino alla fine la meteria di cui è fatto
(aggiungo che questo pacco che sto assemblando ora è il terzo da 24V
che assemblo, e dentro ci sono ancora alcune pile che provengono dal
primo, che quando non ha retto più è stato disassemblato, le pile sono
state analizzate e scelte, e alcune avevano ancora una buona capacità,
mentre le altre sono state riciclate, insomma, è è una soddisfazione :)
p***@gmail.com
2020-05-30 19:04:25 UTC
Permalink
Post by urantia
Post by Elio Fabri
Questo modifica il problema matematico, nel senso che una soluzione
sarà soddisfacente se le capacità dei 7 gruppi non differiscono più di
120 mAh dalla media.
probab. ci puoi arrivare per tentativi.
ovviamente so che tutto il calcolo è matematico e che il risultato
matematico non sarà esattamente come nella realtà finale.
alla fine sono arrivato ad ottenere una differenza tra la capacità
della cella maggiore con la cella minore di soli 96mAh, ma mi sa che il
mio metodo lo brevetto....:)
Col mio algoritmo modificato, dopo dieci passaggi differenza di 8mAh:

https://tio.run/##bZLPbuMgEMbvPAXqCSrsNTjGcSROPfUZIh9Y20nJ2o4FRI2fPjuDm1YrLYcfwzcw/***@jkftqQPPXcWTQ9yHa7g9G0xA@***@IU4Vh9j1Vr4ra4d6c31knRPVf6Id78DJMOopNtlnrVAuFA8/Bp7y60hATzooq6oYAKUCF2iFIDFCZUjSgBUj9R/***@s4ko50STm4lJ8P6XyrrO/***@A77f@30/HoMklBYsIvCP8gfj78

Ho aggiunto uno scambio di pile, scelte tra le due colonne che ogni volta hanno i valori piu` distanziati; la differenza delle due pile selezionate e` quella piu` vicina alla meta` del valore complessivo della differenza tra le due colonne.
urantia
2020-06-02 04:03:25 UTC
Permalink
Post by p***@gmail.com
Ho aggiunto uno scambio di pile, scelte tra le due colonne che ogni volta
hanno i valori piu` distanziati; la differenza delle due pile selezionate e`
quella piu` vicina alla meta` del valore complessivo della differenza tra le
due colonne.
ma non ho capito, clicco su execute, in alto nella pagina, ma dove vedo
i risultati? cioè in basso vedo solo i totali per singole celle, ma
come devo posizionare le varie pile in ogni cella per avere quei
totali??
devo rifare il calcolo, perchè la pila da 1911 mAh non è più
disponibile, per arrivare a 42 tolgo quella e metto una da 1543 mAh
(non ne ho altre di valore superiore...
p***@gmail.com
2020-06-02 10:10:13 UTC
Permalink
Post by urantia
Post by p***@gmail.com
Ho aggiunto uno scambio di pile, scelte tra le due colonne che ogni volta
hanno i valori piu` distanziati; la differenza delle due pile selezionate e`
quella piu` vicina alla meta` del valore complessivo della differenza tra le
due colonne.
ma non ho capito, clicco su execute, in alto nella pagina, ma dove vedo
i risultati? cioè in basso vedo solo i totali per singole celle, ma
come devo posizionare le varie pile in ogni cella per avere quei
totali??
devo rifare il calcolo, perchè la pila da 1911 mAh non è più
disponibile, per arrivare a 42 tolgo quella e metto una da 1543 mAh
(non ne ho altre di valore superiore...
https://tio.run/##***@gz0B6IJAaCI0GejHGq1ZtE/XkA/gGajwZD77Jvgj9B0O8fPz//***@SXTVRe5c3FeVQ0eddVRd8v/O3TNPD7dxsqv309nirRRCvUr6kF/f6TOjwnfvfT0nqovHRElYYMgOd1SBWPxu@@4amE77JKLyOQl/D3b3yqWiQFojY7QyYLI5FoqGXw9mGRyRBc6BEmKIsoKH@/OAyPOFwS1bKzzjTaeVA4SJthXq1lIo3ir8bD6FGgtiG/***@J/xEqnaQK4OWAdkAjYAlor7WYD0OcSI5gBLIjRZ1Mo65BamwLSYnkuwDEr400qmGOHcVaAwBhRRmpGUtx5BBMFkxN8KJWHowpWMPg1Bw

Nella casella "Input" puoi cambiare i valori di:

1) "p" (numero pile per gruppo)
2) "g" (numero di gruppi)
3) "a" (valori delle pile)

Se vedi che si blocca (il risultato dovrebbe essere immediato), in "Code" puoi aumentare il valore della variabile "d" (il minimo scarto, ora e` 4). Si potrebbe modificare per farlo uscire automaticamente quando non trova il risultato minimo cercato, ma ora non ho tempo di farlo.

Naturalmente il risultato si legge in "Output", seconda riga di numeri.
p***@gmail.com
2020-06-02 10:13:34 UTC
Permalink
Post by p***@gmail.com
Post by urantia
Post by p***@gmail.com
Ho aggiunto uno scambio di pile, scelte tra le due colonne che ogni volta
hanno i valori piu` distanziati; la differenza delle due pile selezionate e`
quella piu` vicina alla meta` del valore complessivo della differenza tra le
due colonne.
ma non ho capito, clicco su execute, in alto nella pagina, ma dove vedo
i risultati? cioè in basso vedo solo i totali per singole celle, ma
come devo posizionare le varie pile in ogni cella per avere quei
totali??
devo rifare il calcolo, perchè la pila da 1911 mAh non è più
disponibile, per arrivare a 42 tolgo quella e metto una da 1543 mAh
(non ne ho altre di valore superiore...
1) "p" (numero pile per gruppo)
2) "g" (numero di gruppi)
3) "a" (valori delle pile)
Se vedi che si blocca (il risultato dovrebbe essere immediato), in "Code" puoi aumentare il valore della variabile "d" (il minimo scarto, ora e` 4). Si potrebbe modificare per farlo uscire automaticamente quando non trova il risultato minimo cercato, ma ora non ho tempo di farlo.
Naturalmente il risultato si legge in "Output", seconda riga di numeri.
Questo e` il collegamento per il programma aggiornato:

https://tio.run/##TZFBTsMwEEX3cwovE9pA7MR2AyfoGaIuokStEqWiSrpBiG0p0EqFFQfgBhSxQiy4iS8S/qSKYPP8Z/***@g6ZYx57bv0u3eXb7Y@MLt309H4t/LWoxNHK774aW/baXlqiEe/B4ZOlTqYbC7b5QU4G6TUs5C0A1Q/***@KBk4Oq0mv4PFBAUsMVBy8fZymHIL7PKHwijzwip9P5ftnyp8RVXxmlUqMq15hI637vEpyIg3i1FN99CDQW5Pb3uMSd9R1K9SGFqAlyrCo0CYC0IBmxIzIAIoNZRkRIM2A8A@***@qyVWOBnHkWW4sdleDDKiEYXeEUxF5BEvw

il risultato e` la tabella 6x7, sotto c`e` la somma dei valori.
p***@gmail.com
2020-06-02 13:56:43 UTC
Permalink
Post by p***@gmail.com
1) "p" (numero pile per gruppo)
2) "g" (numero di gruppi)
3) "a" (valori delle pile)
Se vedi che si blocca (il risultato dovrebbe essere immediato), in "Code" puoi aumentare il valore della variabile "d" (il minimo scarto, ora e` 4). Si potrebbe modificare per farlo uscire automaticamente quando non trova il risultato minimo cercato, ma ora non ho tempo di farlo.
Naturalmente il risultato si legge in "Output", seconda riga di numeri.
https://tio.run/##TZFPTsJAFMb37xSzbIUqM2VmKMYDcIaGxYQGAoFIWjbGuEVAmqAbPYA3EGNiYlxwk7kIfq/YaBe/eX@/***@Ox6Ff7m4pB335Tj2czcCXb9IvH325z0PhVy/nTfEvRAWKGn77ndOsansqiMbI7gIumYU0VrXjt1/***@xKdkVO5MtPv37NuiLBh0n3IvgdWu5hrja@XCsRBPPD8yg8fKhTAvGcRQdQzdNLyPKOEZvQnvBOq00v5fmQe4ATZIMoyFggPFNhn2jC605SiXJVWWikRaU3kaxItXGKqUq6NhBbUMb75nR3PM7hGxqBlsjhUC2bCEADmtFmxAZQnFCWEQPS1Gj9oSVkksSA7QDGAjFDGSF1rIS0bclAnY01ow0oRgt1JoFlLLLGJACXGNVhoM2wvE4YHczQlkUtElqzpTmmOYuda6jTb83FqLp/***@LNXb@KVQ83FI4cNS5wn8L9AA

Versione con mescolamento non casuale (si ferma quando arriva allo scarto 1):

https://tio.run/##TZFPTsJAFMb37xSzbIUqM2VmKMYDcIaGxYQGAoFIWjbGuEVAmqAbPYA3EGNiYlxwk7kIfq/YaBe/eX@/***@Ox6Ff7m4pB335Tj2czcCXb9IvH325z0PhVy/nTfEvRAWKGn77ndOsansqiMbI7gIumYU0VrXjt1/***@xKdkVO5MtPv37NuiLBh0n3IvgdWu5hrja@XCsRBPPD8yg8fKhTAvGcRQdQzdNLyPKOEZvQnvBOq00v5fmQe4ATZIMoyFggPFNhn2jC605SiXJVWWikRaU3kaxItXGKqUq6NhBbUMb75nR3PM7hGxqBlsjhUC2bCEADmtFmxAZQnFCWEQPS1Gj9oSVkksSA7QDGAjFDGSF1rIS0bclAnY01ow0oRgt1JoFlLLLGJACXGNVhoM2wvE4YHczQlkUtElqzpTmmOYuda6jTb83FqLp/***@LNXb@KVQ83FI4cNS5wn8L9AA

quando si arriva a un punto morto (la differenza non tende al minimo prefissato), si mescola il risultato ottenuto in quel momento e si riparte; il metodo di mescolamento e` come quello delle carte: le due meta` del mazzo alternate.
urantia
2020-06-02 17:20:08 UTC
Permalink
Post by p***@gmail.com
Post by p***@gmail.com
1) "p" (numero pile per gruppo)
2) "g" (numero di gruppi)
3) "a" (valori delle pile)
Se vedi che si blocca (il risultato dovrebbe essere immediato), in "Code"
puoi aumentare il valore della variabile "d" (il minimo scarto, ora e` 4).
Si potrebbe modificare per farlo uscire automaticamente quando non trova il
risultato minimo cercato, ma ora non ho tempo di farlo.
Naturalmente il risultato si legge in "Output", seconda riga di numeri.
quando si arriva a un punto morto (la differenza non tende al minimo
prefissato), si mescola il risultato ottenuto in quel momento e si riparte;
il metodo di mescolamento e` come quello delle carte: le due meta` del mazzo
alternate.
grazie a tutti, per capire qualcosa ci metterò dei giorni, ma è che
sono un po' tardo...
p***@gmail.com
2020-06-07 08:10:24 UTC
Permalink
Post by p***@gmail.com
1) "p" (numero pile per gruppo)
2) "g" (numero di gruppi)
3) "a" (valori delle pile)
Se vedi che si blocca (il risultato dovrebbe essere immediato), in "Code" puoi aumentare il valore della variabile "d" (il minimo scarto, ora e` 4). Si potrebbe modificare per farlo uscire automaticamente quando non trova il risultato minimo cercato, ma ora non ho tempo di farlo.
Naturalmente il risultato si legge in "Output", seconda riga di numeri.
Ho riscritto la funzione in maniera piu' sintetica:

f←{
r←⍵

s←+⌿r
i←(⍒s)[1 g]

d←s[1⌷i]-s[2⌷i]
d=1: r

⍺≤d: 9999 ∇ (⍴r) ⍴ (∊⍉2 ((p×g)÷2) ⍴ ∊r)

dc←r[;1⌷i]∘.-r[;2⌷i]
j←∊(,⍳p,p)[1↑(⍋∊(dc-(d÷2))*2)]

k←⍉2 2 ⍴ j,i

r[,/k]←r[⌽,/k]

d ∇r
}

s: vettore capacita` di ciascun gruppo
i: indice gruppo con maggiore e minore capacita`
d: differenza tra gruppo min e max
dc: vettore diff, cartesiana tra il gruppo min e max
j: indice pila con maggiore e minore capacita` rel. al gruppo di appartenenza
k: matrice indici pile da scambiare

https://tio.run/##RZFBTsMwEEX3cwovE9rQ2qntpoiTRFlYjRqlrUSUrBBiW9rSSMAGDsANAFVCQiy4iS9S/qRUZPHyM9/@***@fmjCVosiIchSaVPrdvsyiJlWdoPxSTkRN5NtPv3nNJyLBI/z6TmDzex0KEHK99e1GiSCofp6L8GevjgbqdYjoKbLr9OIY7tcv5xG@/jrMebb1Nuj79q3qVxjHrx4Rfs/FfBoFOceFZyrEkIvuIOikuvx5vySq0/5gkXUd/***@QR1PFYliu6XuBSX6rKu1t3VTDhy1BukMhPuFw
p***@gmail.com
2020-06-09 19:59:59 UTC
Permalink
...
la funzione principale in una linea:

f←{⍵⌊d⊣a[⌽k]←a[k←↓⍉i,[0.5]⍨∊(,⍳2/≢a)[⊃⍋∊|(∘.-/↓⍉a[;i])+-d←-/s[i←2↑¯1⌽⍋s←+⌿a]÷2]]}

comunque non e` proprio sinteticissimo, tenuto conto che occorrono 7 operazioni:

1) somma capacita` per colonna (s)
2) indici colonna max e min (i)
3) differenza complessiva col. max e min (d)
4) differenza per pila col. max e min
5) ordinamento differenze per pila
6) indici pile con differenza min. cercata d/2 (k)
7) scambio

(ci sono linguaggi molto piu` sintetici)

https://tio.run/##Rc8/S8NAGAbwPZ8iY0ubJrnL3eUQP0nIcDRUQgsVMok6CaGNOVAcdLaLuDioOIlgv8n7ReLzKsUMvxzP@@***@DAtqb87Jv1PfVdTtXEH957JE6IolpPaO/LaeFslMleSfaNONpuRfRUzbRzcuqLsif430YkSbh1kU/***@bdQJMYyCigmY6QGggvCMBKk@kDyTxKm1kpgcqANkIzQYaqkCFOTpQz6jFRMBgSToE9bnLRBVWsLuEWLnMGY5vXKMjnuUIaXGhSU4pPiTHEV33xABIHY3y/I744tnsCRf/***@x8

per aggiungere il mescolamento non pseudocasuale -e ottenere cosi` un risultato meno approssimativo- sostituire nella casella input:

2×f⍣=9999

[esegue 'f' finche` non raggiunge un punto morto: vale a dire quando restituisce due volte di seguito lo stesso risultato]

con:

2 {(2×f⍣=9999)≤⍺: ⍵ ⍺⋄a[;]←(⍴a) ⍴ (∊⍉2 (2÷⍨≢∊a) ⍴ a)⋄⍺ ∇ ⍵+1} 0

il valore iniziale e` lo scarto minimo (2); quello finale serve per contare quanti mescolamenti occorrono (parte da 0 e aumenta a ogni chiamata).
urantia
2020-06-10 14:24:32 UTC
Permalink
Post by p***@gmail.com
2 {(2×f⍣=9999)≤⍺: ⍵ ⍺⋄a[;]←(⍴a) ⍴ (∊⍉2 (2÷⍨≢∊a) ⍴ a)⋄⍺ ∇ ⍵+1} 0
il valore iniziale e` lo scarto minimo (2); quello finale serve per contare
quanti mescolamenti occorrono (parte da 0 e aumenta a ogni chiamata).
grazie ancora, adesso selezionerò altre 42 pile, che sono un po meno
performanti, per fare un nuovo pacco da tenere di scorta.
quindi, per capire bene, io sostituisco tutti i 42 valori nella pagina
che mi hai linkato e poi clicco sull'icona execute che c'è in alto?
p***@gmail.com
2020-06-10 15:37:31 UTC
Permalink
Post by urantia
grazie ancora, adesso selezionerò altre 42 pile, che sono un po meno
performanti, per fare un nuovo pacco da tenere di scorta.
quindi, per capire bene, io sostituisco tutti i 42 valori nella pagina
che mi hai linkato e poi clicco sull'icona execute che c'è in alto?
Aggiornato con funzione principale ancora piu` sintetica (73 caratteri):

https://tio.run/##***@YpZJpTYZNKZaRS/JHQxtFRCCxWyktqVpTZpRxQRXdsuxI0bS6Eggv2T9yPxvmIxMCfDfe@@zNzYy2HYu7LD0UXYHdqiyLt13afZ/ZjchpZVj6qVzWj5NehAtNkApNkjBHIlzR5y35dNKl9tQNWaqhtyC5pX1z7NX07CJne60mZneScIe7CGzSLL8Zaw/***@2s9/KoDOpawtFCyPIfQoZmZShAMVoMRINSC5Iw0iAWB8R/***@ju6d8hCtGnhRjX@6f@@***@KH9F/***@yNj7BQ

Cambia i valori nella casella "Input", e poi puoi fare partire il programma (io vedo una freccia cerchiata).

Attenzione: per salvare i cambiamenti devi cliccare il pulsante con la catena/collegamento: si dovrebbe aprire una pagina dove puoi copiare il nuovo indirizzo che punta al programma modificato.

Ecco la funzione resa meno criptica:

s←+⌿a ⍝ somma per colonna
i←2↑¯1⌽⍋s ⍝ indice colonna max e min
d←-/s[i]÷2 ⍝ differenza colonna max e min /2
dC←(∘.-/↓⍉a[;i]) ⍝ differenza tra ciascuna pila nelle colonne max e min
j←(2/≢a)⊤⊃⍋∊|dC-d ⍝ si ricava l`indice di colonna delle due pile da scambiare mettendo in base 6 (6 pile per colonna) la posizione assoluta dello scarto piu` vicino a quello ricercato all`interno della matrice differenza dC
k←↓⍉↑j i ⍝ indice delle due pile (Y1,X1;Y2,X2)
a[⌽k]←a[k] ⍝ scambio tra le due pile
⍵⌊d ⍝ restituisce il minimo tra d e d precedente

f⍣=9999 ⍝ esegue f finche` l`argomento (si parte da 9999) e` maggiore del risultato (la differenza tra le colonne max e min); a ogni ciclo, il risultato diventa il nuovo argomento.

Nota: la funziona scambia sempre due pile, anche quando sarebbe sfavorevole (vale a dire: lo scarto aumenta invece di diminuire); in quest`ultimo caso, al ciclo successivo si ferma.

Uno schema per capire la logica di funzionamento:

1) cambio favorevole
2) cambio favorevole
3) cambio sfavorevole
4) cambio favorevole

il ciclo 4) riporta la situazione al ciclo 2) e si ferma: infatti nei cicli 2,3,4 si scambiano sempre le stesse pile.
urantia
2020-06-11 15:40:37 UTC
Permalink
Post by p***@gmail.com
Post by urantia
grazie ancora, adesso selezionerò altre 42 pile, che sono un po meno
performanti, per fare un nuovo pacco da tenere di scorta.
quindi, per capire bene, io sostituisco tutti i 42 valori nella pagina
che mi hai linkato e poi clicco sull'icona execute che c'è in alto?
Cambia i valori nella casella "Input", e poi puoi fare partire il programma
(io vedo una freccia cerchiata).
Attenzione: per salvare i cambiamenti devi cliccare il pulsante con la
catena/collegamento: si dovrebbe aprire una pagina dove puoi copiare il nuovo
indirizzo che punta al programma modificato.
s←+⌿a ⍝ somma per colonna
i←2↑¯1⌽⍋s ⍝ indice colonna max e min
d←-/s[i]÷2 ⍝ differenza colonna max e min /2
dC←(∘.-/↓⍉a[;i]) ⍝ differenza tra ciascuna pila nelle colonne max e min
j←(2/≢a)⊤⊃⍋∊|dC-d ⍝ si ricava l`indice di colonna delle due pile da scambiare
mettendo in base 6 (6 pile per colonna) la posizione assoluta dello scarto
piu` vicino a quello ricercato all`interno della matrice differenza dC k←↓⍉↑j
i ⍝ indice delle due pile (Y1,X1;Y2,X2) a[⌽k]←a[k] ⍝ scambio tra le due pile
⍵⌊d ⍝ restituisce il minimo tra d e d precedente
f⍣=9999 ⍝ esegue f finche` l`argomento (si parte da 9999) e` maggiore del
risultato (la differenza tra le colonne max e min); a ogni ciclo, il
risultato diventa il nuovo argomento.
Nota: la funziona scambia sempre due pile, anche quando sarebbe sfavorevole
(vale a dire: lo scarto aumenta invece di diminuire); in quest`ultimo caso,
al ciclo successivo si ferma.
1) cambio favorevole
2) cambio favorevole
3) cambio sfavorevole
4) cambio favorevole
il ciclo 4) riporta la situazione al ciclo 2) e si ferma: infatti nei cicli
2,3,4 si scambiano sempre le stesse pile.
grazie! metto assieme le nuove 42 pile e poi provo
p***@gmail.com
2020-06-17 14:57:02 UTC
Permalink
Post by urantia
grazie! metto assieme le nuove 42 pile e poi provo
In realta` ci sono due errori: uno nella funzione principale e uno in quella secondaria); non li ho corretti perche` /mediamente/ la procedura funziona (il primo viene corretto dalla seconda funzione, il secondo si presenta raramente).

Ecco la funzione principale corretta (83 caratteri):

f←{⍵⌊d⊣a[⌽k]←a[k←↓⍉↑i((2/≢⍉a)⊤⊃⍋∊|q+0(+×>)q←(∘.-/↓a[i;])-2÷⍨d←-/s[i←2↑¯1⌽⍋s←+/a])]}

collegamento al programma completo:

https://tio.run/##***@dM/aqG7aubbd3GTa7djAomvt9myYPQ3IbWpQtKpc2o8VXJ0fQZh2QJk/***@ZXdy0XQR75P09fTsIoymxWNPAjl7pPcewtSWB1kBVaJbt8fMeagwQCBStXmQT7a7y0PdDMtjCC3FjIyKUMBilFjJBqQLEjDSIBYHxH9IxJxmiaAqQPaAAlDahGrRIrY1GIG8kyiGDVAMiLk6RQ7baBqnQKcomWdgTLN7VXKqGOGMtzUQFCKd4pjilX88xHS8@***@uejhlJEXi6HfJrc8T/EENFuR257h2Bu8W5qPbdbID366tQ0OdsDaEu5I4f96ypcxLf9E3Ml8jEpB0zvuUolHIhKePYG53g8

Per curiosita` ho provato anche a scrivere un programma che provasse tutte le combinazioni possibili: per limiti di memoria mi sono dovuto fermare a 3 gruppi di 6 pile (13 milioni di combinazioni).

https://tio.run/##bZLNcpswEMfvegpmfJES2ZWEJUwmOiTP0BvDQXaUmglfXvC05uXdXVrstJPLD2m/94/6y3jsWnO9vkPXJNUYYey6ekiqpu9gTPoIzXkMY9W1A/***@AdO/***@9K7DW0ghRPEldFvpprUuplWAkt/@sOZ/FCe2PyElBCYKFu2B1NYycwoVgezIP54a/bN7rMI6x5aIIWFawD0@/YnGLbwfBJr9ff7CTD/***@sVOOQkApBrwGzsnv9tABX/qMWrU9Bu2VPDPf/qTP3p8FyD664rYE58/***@NYsXxLlbQGt/***@b5cA96u198
p***@gmail.com
2020-06-21 14:02:12 UTC
Permalink
Post by p***@gmail.com
Per curiosita` ho provato anche a scrivere un programma che provasse tutte le combinazioni possibili: per limiti di memoria mi sono dovuto fermare a 3 gruppi di 6 pile (13 milioni di combinazioni).
In effetti le combinazioni (considerando solo quelle composte da elementi non ripetuti) sono molte di meno.

La fomula per calcolarne il numero e`: n_elementi!/elementi_gruppo!/(n_elementi-elementi_gruppo).

Con un programma in C sono riuscito ad arrivare a calcolare tutte le combinazioni di 24 pile divise in 4 gruppi.

Con questi dati, le combinazioni sono: 24!/6!/(24-6)! = 134596; di queste, quelle che sommate si discostano di meno di due unita` dal valore globale medio sono 466 (trovato empiricamente).

Le combinazioni di queste 466 combinazioni speciali (prese a gruppi di 4) sono: 466!/4!/(466-4)! = 1939664420.

Ecco il programma completo che calcola, di queste ulteriori combinazioni, quelle composte da elementi unici (si ferma immediatamente dopo aver trovato la prima combinazione utile):

https://tio.run/##***@M4EH5O/***@4F3VMvOgXXLW5SF9z27nYRf3t3ZuyElEWAxNSZfPPr88xEJCshjsfflBbtYSHZdLdfqO3vDzP/***@7c6o/QKdb4/HjN9xsbMoAh0YsIzll2fjYuzcZafscmoYAXKpPD33x/lQi4ZmB/Env0jtpt7/9n3lN6zUV363kHv1ErLBWu3esVQ3Q61qBBvFUulZem/MHSmdP1DbfHZ93sXy3q/ZwGe6pgUOsSg/XvDM/C53BoLUrwu1bSOdKmiKPQ9z3AzUoAwcn8wmhkI5vvDaGxEwa25tDFEzE4hj0ZtXPwniu97pwCxued//***@TuvVJiTy3HIoIskomIRTi2T3CCtMCx3i@D84E39Qf7svhbn8dtSB6WLHiapVhLy59QU/***@eqaAuJLjA6KZIZXy3lG9o79HrSRG/H4Pajjr6RKZvXcHdqRO4gqHtYnbIJGyqAzCV0uvvcaLy0pN2oUjt3m97EiHde/***@2DZDYzNKySRLihnANkkuHKspcXVQa0ol6AYAZD6CFIEkXs@***@odkfsFpzvDA6trztjgK57YcKVDRWWN2mVtrNq1nhHD3UBmbBrP6dVzQ5p3NTu6l5ozZFp7d3eTvPLyr@nKdZEbM8TYcyjVl2czNBeXWNsrhCOSGZAya7nOQgry4ykoi/***@TzOKsoICXN@lLaXMzvN5vVUAlZlXotGKgzXuthG1ku7LmWHEgYwNdmYbdrjDpvLi8nBRV5zxV1NP2qXHnN3MquzlteBPdzlVFIHgYi/***@uv7XbBLmnCa29lP51BFFMHyGJMjaC8P0@oWpZm8t9DAhpIM3ysBXnY1f5CqZybzdWTdVJyyXUeQjqqsqiNdO1oXWyICmo/***@xGdz68fyWmAJIH6wGGbif3wV2cnoxbfkFL7PAu6@***@yWfht5JGBpfWYwswscc8xKa/***@zN37gPH1N4qMyXJofFeIg/***@46TiEWARvdYuT/***@F2D9uY4L/***@PxWBwvfgI
urantia
2021-01-19 12:10:16 UTC
Permalink
Post by p***@gmail.com
Ecco il programma completo che calcola, di queste ulteriori combinazioni,
quelle composte da elementi unici (si ferma immediatamente dopo aver trovato
ANCORA GRAZIE!!!
tra un po' dovrò preparare un altro pacco da 24 Volt perchè l'attuale
pacco, quello che hai calcolato, sta perdendo i colpi, niente di
strano, visto che erano pile recuperate.

Continua a leggere su narkive:
Risultati di ricerca per 'problema di calcolo' (newsgroup and mailinglist)
10
risposte
[Talk-it] Problema di calcolo dei dislivelli su itinerari che attraversano gallerie
iniziato 2017-05-21 10:11:30 UTC
talk-it@openstreetmap.org
11
risposte
TMR0 problema di calcolo
iniziato 2006-07-03 17:48:39 UTC
it.hobby.elettronica.digitale
7
risposte
Problema di calcolo combinatorio
iniziato 2006-03-05 12:45:02 UTC
it.scienza.matematica
15
risposte
Problema di calcolo combinatorio
iniziato 2008-12-02 19:43:58 UTC
it.scienza.matematica
12
risposte
problema di calcolo con combo
iniziato 2011-01-11 21:12:06 UTC
it.comp.appl.access
Risultati di ricerca per 'problema di calcolo' (Domande e Risposte)
6
risposte
Capacità di calcolo fino al 2000 e oltre
iniziato 2018-07-12 07:54:43 UTC
scacchi
6
risposte
Ho notato un "bug" di calcolo GPA nella nostra Università, cosa devo fare?
iniziato 2014-07-16 01:46:22 UTC
università
1
rispondi
Come sono state derivate per la prima volta le identità di calcolo vettoriale nabla ∇?
iniziato 2015-02-08 11:31:58 UTC
storia della scienza e matematica
4
risposte
Confronta fogli di calcolo Excel
iniziato 2011-09-17 14:26:31 UTC
apple
2
risposte
Numbers v3.1: collegare automaticamente gli URL nel foglio di calcolo?
iniziato 2014-02-14 06:26:41 UTC
apple
Discussioni interessanti ma non correlate
4
risposte
Se una massa si muove vicino alla velocità della luce, si trasforma in un buco nero?
iniziato 2011-01-20 19:59:51 UTC
11
risposte
Gli oggetti più pesanti non cadono effettivamente più velocemente perché esercitano la propria gravità?
iniziato 2011-01-21 20:10:16 UTC
13
risposte
Le equazioni di Maxwell possono essere derivate dalla legge di Coulomb e dalla relatività speciale?
iniziato 2011-01-22 17:33:05 UTC
13
risposte
Perché la fusione fredda è considerata fasulla?
iniziato 2011-01-24 21:33:19 UTC
5
risposte
Cosa significa per un hamiltoniano o un sistema essere gapped o gapless?
iniziato 2011-02-10 14:54:04 UTC
Loading...