Risultati da 1 a 8 di 8

Discussione: Ottimizza lunghezze: problema logico/matematico



  1. #1
    L'avatar di aldomattana
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Modena
    Età
    46
    Messaggi
    184
    Versione Office
    Office 2007
    Likes ricevuti
    9
    Likes dati
    33

    Ottimizza lunghezze: problema logico/matematico

    Salve a tutti ragazzi!
    Oggi mi presento con una domanda un pò anomala, infatti, prima di tradurre il problema in "excelese" è necessario impostare un "algoritmo" che non mi riesce di mettere in piedi ... :92:

    Il punto di partenza sono i numeri che posso scrivere nella colonna "A" a partire da A10 in giù e sino all'infinito (in realtà solitamente non sono più di 10/20 numeri),
    in quelle celle posso scrivere numeri a 1 decimale che partono da 0,9mt sino a 50mt a passo di 0,1mt (es. 11,5mt - 22,0mt - 0,9mt SI / 11,54mt - 22,01mt - 0,99mt NO)

    Il numero in colonna "A", dovrà essere composto da tanti componenti di lunghezza finita: sono sempre numeri a 1 decimale che partono da 0,9mt sino a 3mt a passo di 0,1mt (es. 1,5mt - 2,0mt - 0,7mt SI / 1,54mt - 2,01mt - 0,69mt NO)

    Scopo della missione è trovare:
    - Per ogni riga, quanti e quali sono i componenti utilizzabili considerando che:
    - la quantità di componenti usati dovrà essere la più bassa possibile (es. 8mt=3mt+3mt+2mt OK / 8mt=1+1+1+1+1+1+1+1 NO!!)
    - le lunghezze utilizzate dovranno essere il più possibile le stesse (es. 12mt=2mt+2mt+2mt+2mt+2mt+2mt OK / 3+3+3+2+1 NO!!)

    - Considerando TUTTE le lunghezze di componenti calcolati, essi dovranno essere:
    - la quantità di componenti usati dovrà essere la più bassa possibile
    - le lunghezze utilizzate dovranno essere il più possibile le stesse

    In sostanza, in generale, l'esigenza è quella di usare meno componenti possibili, usare i componenti più lunghi possibile, usare meno lunghezze diverse possibili.

    Sareste in grado di aiutarmi? Voi come lo affrontereste?

    (file di prova http://1drv.ms/1PCa5yx)
    Grazie, Aldo.
    PS: Se la "cosa" ti ha aiutato, mi piace se mi dai un "mi piace" - Se mi hai aiutato tu, ti ringrazio 2 volte ;-)

  2. #2
    L'avatar di ninai
    Clicca e Apri
    Data Registrazione
    Jul 2015
    Località
    Barcellona P.G.
    Età
    55
    Messaggi
    1668
    Versione Office
    2010 PC
    Likes ricevuti
    892
    Likes dati
    184
    ciao
    bel quesito

    un primo approccio, da verificare, mi ha portato alla formula in D10:
    =MIN($A10-SOMMA($C10:C10);MAX($B$3:$RY$3))
    da trascinare in basso ed a destra
    questa però ha delle disformità con i tuoi risultati ma mi sembra conforme ai tuoi obiettivi:

    10= 3 3 3 1
    7= 3 3 1


    per gli zeri a fine calcolo, eventualmente li nascondiamo poi.

  3. #3
    L'avatar di aldomattana
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Modena
    Età
    46
    Messaggi
    184
    Versione Office
    Office 2007
    Likes ricevuti
    9
    Likes dati
    33
    Ciao e grazie! :)
    Prima di dire che non funziona come vorrei, ti chiedo se in C:C ci và qualcosa: nella tua formula è menzionato ma io ho le celle vuote ... :110:
    In attesa, ho aggiornato il file con la tua formula e un esempio a fianco di come, manualmente, io avrei preferito il risultato.

    Grazie ancora, attendo un tuo commento, a presto!
    Grazie, Aldo.
    PS: Se la "cosa" ti ha aiutato, mi piace se mi dai un "mi piace" - Se mi hai aiutato tu, ti ringrazio 2 volte ;-)

  4. #4
    L'avatar di ninai
    Clicca e Apri
    Data Registrazione
    Jul 2015
    Località
    Barcellona P.G.
    Età
    55
    Messaggi
    1668
    Versione Office
    2010 PC
    Likes ricevuti
    892
    Likes dati
    184
    in C , non deve esserci niente è solo un modo per non sommare niente e man mano che la formula si copia a destra include la somma fino alla cella precedente.

    Per quanto riguarda renderla conforme alle tue attese, non riesco a capire la logica per la quale scegliere 3+3+2+2 invece che 3+3+3+1 o meglio ancora
    perchè scegliere 2+2+2+2+2+2 invece che 3+3+3+3, se le condizioni sono:
    "meno componenti possibili, usare i componenti più lunghi possibile, usare meno lunghezze diverse possibili."
    credo che la mia proposta le rispetti anche meglio.
    Ci sarà qualche altro criterio di scelta che mi sfugge o che tu non hai detto.

  5. #5
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    3218
    Versione Office
    Excel2010
    Likes ricevuti
    625
    Likes dati
    155
    Ciao Aldo
    mi unisco a Ninai (un affettuoso saluto) e mi chiedo perché non sia preferibile 4 volte 2,5 ad un 3 volte 3 più 1 per ottenere un 10?

    Ciao,
    Mario

  6. #6
    L'avatar di aldomattana
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Modena
    Età
    46
    Messaggi
    184
    Versione Office
    Office 2007
    Likes ricevuti
    9
    Likes dati
    33
    ...ciao, come temevo, le regole che ho indicato sono tra loro in alcuni casi contraddittorie, è questa la parte più difficile, rendere analitica la scelta che ora faccio a mano e rivedo a mano sino a trovare la soluzione che mi sembra più corretta ... ma proviamo a vedere se riesco a fissare qualche paletto in più ..

    Citazione Originariamente Scritto da ninai Visualizza Messaggio
    in C , non deve esserci niente è solo un modo per non sommare niente e man mano che la formula si copia a destra include la somma fino alla cella precedente.
    Ok, capito, ti chiedo allora come debbo fare per impedire che calcoli pezzi più corti di 0,9mt ? "..numeri a 1 decimale che partono da 0,9mt sino a 3mt a passo di 0,1mt":

    3,2=3+0,2 è sbagliato (non esiste un modulo inferiore a 0,9 o maggiore di 3), preferisco 1,6+1,6 - lo preferisco anche a 2,3+0,9 - in questo caso, delle 3 regole vincerebbe "usare meno lunghezze diverse possibili" a meno chè in un altra riga non si renda "indispensabile" ancora la misura 2,3 o 0,9 allora in quel caso potrei accettarlo ... facciamo un esempio

    se ho una singola riga
    3,2=1,6+1,6 ok

    se ho 2 righe potrebbe andare bene
    3,2=2,3+0,9 ok
    4,6=2,3+2,3 ok

    o anche
    3,2=1,6+1,6 ok
    4,6=3+1,6 ok

    se poi ci fosse un caso simile la scelta sarebbe:
    3,2=2,3+0,9
    4,6=2,3+2,3
    6,9=2,3+2,3+2,3

    invece con:
    3,2=1,6+1,6
    4,6=3+1,6
    6,4=1,6+1,6+1,6+1,6 .. oppure 3+1,8+1,6

    ... opsss ... no mi sà che non c'è UNA soluzione ... uhmmm ..

    forse trovando le 3 soluzioni basate ognuna su un unica regola e poi confrontando nuovamente queste soluzioni e scegliere quella "più simpatica"?

    "meno componenti possibili, usare i componenti più lunghi possibile, usare meno lunghezze diverse possibili"

    in realtà a pensarci bene
    "meno componenti possibili" e "usare i componenti più lunghi possibile" sono in realtà la stessa cosa ...
    quindi trovando e confrontando (a mano per ora) le due soluzioni due soluzioni possibili
    "meno componenti possibili, usare meno lunghezze diverse possibili"
    potrebbe essere la strada giusta !!!!!

    Ok, ma ora come sistemo e creo le formule?
    Grazie, Aldo.
    PS: Se la "cosa" ti ha aiutato, mi piace se mi dai un "mi piace" - Se mi hai aiutato tu, ti ringrazio 2 volte ;-)

  7. #7
    L'avatar di ninai
    Clicca e Apri
    Data Registrazione
    Jul 2015
    Località
    Barcellona P.G.
    Età
    55
    Messaggi
    1668
    Versione Office
    2010 PC
    Likes ricevuti
    892
    Likes dati
    184
    ciao
    avevo già rimosso il quesito.
    Sul primo problema, di non prevedere misure inferiori a 0,9, ti posso aiutare, la formula diventa in D10:
    =MIN($A10-MAX(SOMMA($C10:C10);$B$3);MAX($B$3:$RY$3))
    e trascini
    per il resto, al momento non so come fare, comunque, in linea di massima le priorità dovrebbero essere invertite:

    1)
    usare meno lunghezze diverse possibili
    2) meno componenti possibili,

  8. #8
    L'avatar di ninai
    Clicca e Apri
    Data Registrazione
    Jul 2015
    Località
    Barcellona P.G.
    Età
    55
    Messaggi
    1668
    Versione Office
    2010 PC
    Likes ricevuti
    892
    Likes dati
    184
    Un'altra ipotesi (tutta da verificare) che punta sui multipli, pertanto tende ad usare meno misure, potrebbe essere, sempre in D10:
    =(SOMMA($C10:C10)<$A10)*SE(MAX((ARROTONDA(RESTO($A10-SOMMA($C10:C10);$B$3:$W$3);4)=$B$3:$W$3)*$B$3:$W$3)>1;MAX((ARROTONDA(RESTO($A10-SOMMA($C10:C10);$B$3:$W$3);4)=$B$3:$W$3)*$B$3:$W$3);MIN($A10-MAX(SOMMA($C10:C10);$B$3);MAX($B$3:$RY$3)))

    da confermare come matriciale (CTRL+MAIUSCOLO+INVIO)

    ma temo che sia solo un obbrobrio

    allego file di prova con le due ipotesi ed il conteggio delle lunghezze e dei pezzi usati
    https://www.dropbox.com/s/7hvpjiyo6v...inai.xlsx?dl=0

  9. I seguenti utenti hanno dato un "Like"


Discussioni Simili

  1. [Risolto] Selezionare valori da una tabella seguendo un percorso logico
    Di Maurantz nel forum Domande su Excel in generale
    Risposte: 4
    Ultimo Messaggio: 16/02/17, 20:14
  2. Convertitore Bit-Byte e lunghezze
    Di Ste nel forum Domande su Excel in generale
    Risposte: 10
    Ultimo Messaggio: 21/10/15, 16:42

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •