Rogerw06":14ze7tga ha detto:
ciao ragazzi, scusate l'assenza ma sono stato preso! Siete stati molto gentili con te, ma io sono un disegnatore non un programmatore! non ci ho capito un ****Edit da STAFF: alla prossima account sospeso! della tirata della pagina precedente! Comunque ora proverò a scaricare qualche demo dei programmi che mi avete indicato, al massimo vi contatterò in privato per qualche delucidazione in più.
Comunque non è un problemino semplicissimo quello della ripartizione dei pezzi da tagliare dalle barre di acciaio... eheh
grazie ancora
In realtà sì, è un problema semplicissimo quello dei tagli, per il semplice motivo che è un caso di studio che qualsiasi studentello universitario di un certo esame (ricerca operativa) fa e studia.
Quindi, diciamo così, qualcosa di cui si sa già tutto (come si risolve, che metodo usare, etc.etc), è un problema "classico" (derivazione del knapsack), per questo mi ero "illuminato" (nel senso
hahahah finalmente trovo un modo per mettere a frutto la mia laurea in informatica :lol: )
---
Cosa significa? Significa che trovi addirittura dei siti internet gratuiti (come quello che ti ho segnalato) che ti risolvono il problema... aggratis!
---
Il risolutore che ti ha indicato, francamente, non mi sembra adatto alle tue problematiche (anche perchè costa un bel po').
Per un problema "banale" come questo puoi trovare 10.000 soluzioni già confezionate, se invece ne vuoi una "ad hoc", nel senso di programma sviluppato appositamente secondo i tuoi gradimenti, lascerei perdere dei sistemi "generici", che alla fine ti costano in tempo per studiarli 10 volte di più di quanto costi commissionare un programma specifico "chiavi-in-mano".
---
Venendo al merito il problema (dei tagli) è "semplice" se non hai vincoli in ordine alla sequenza dei tagli (diventa un normale problema di ottimizzazione a variabili intere, tipicamente si risolve con tagli di gomory o simili).
Se, invece, vuoi mettere ANCHE dei vincoli sulla SEQUENZA dei tagli (ad es. perchè ti è comodo mantenere sempre le macchine tarate in un certo modo), allora la faccenda diventa realmente di ottimizzazione combinatoria, che si può affrontare in vari modi, i principali 3 sono
- "brute force"
- "brute force furbo"
- euristiche (genetici, annhiling e quant'altro).
Se la cardinalità è piccola allora, paradossalmente, anche il "brute force" (che significa enumerare tutte le possibili combinazioni di tagli, per scegliere quella ottima) non è da scartare a priori: può darsi che con pochi minuti di elaborazione trovi direttamente la soluzione "sicuramente ottima" per le tue esigenze.
Chiaramente se la cardinalità aumenta il problema diventa intrattabile, ma in genere, se lavorate a lotti, non è che ci siano 400 tipi diversi di tagli, ma questo è un dato del problema.
---
Per il "brute force furbo" ci sono numerosi approcci, tra cui uno tipico è il branch and bound (altra metodologia ampiamente studiata all'università) che in pratica partiziona la spazio delle soluzioni per capire quali approfondire (perchè sono promettenti, o comunque lo appaiono) e quali invece sicuramente sono da scartare (in pratica invece di analizzare tutte le possibili soluzioni si tolgono quelle non ottime)
---
Le euristiche consentono di "provare" un certo numero di soluzioni e di trovarne una che non è detto essere un ottimo globale (L'OTTIMO), bensì un "ottimo locale".
In parole povere (sennò sto a scrivere 10 libri interi :asd) ) se supponiamo che per trovare la soluzione ottima ci vogliono 2 settimane mentre per una soluzione "quasi ottima" (nel senso che differisce poco da quella veramente ottima) bastano 2 minuti uno può decidere che gli basta quella "quasi ottima", tanto se butta via un metro di barra non gli cambia la vita.