Una dashboard interattiva basata su Python e Streamlit per risolvere e visualizzare problemi di Ottimizzazione Globale Deterministica usando l'algoritmo di Piyavskii-Shubert per funzioni Lipschitziane.
demo.mp4
- Piyavskii-Shubert 1D: Algoritmo globalmente infallibile per minmizzare funzioni black-box a densità multimodale.
- Struttura a O(1) e O(log k): Ottimizzazione della Complessità tramite Coda di Priorità (Min-Heap in CPython).
- Pruning (Branch & Bound): Evita calcoli inutili interrompendo l'esplorazione spaziale quando il lower bound scende sotto l'ottimo già ottenuto.
- Visualizzazione Dinamica: Disegna istantaneamente la Funzione Minorante a Dente di Sega interfacciandosi con Plotly per rappresentare le iterazioni di convergenza.
Clona il repository sul tuo computer e apri un terminale nella cartella del progetto:
# 1. Installa tutte le dipendenze richieste
pip install -r requirements.txt
# 2. Avvia la Dashboard Streamlit
streamlit run app.pyIl sistema avvierà un web server locale. Apri la pagina http://localhost:8501 nel tuo browser.
L'algoritmo crea dinamicamente una funzione minorante
Troverai la documentazione accademica completa per l'esame leggendo il file Relazione_Progetto.md in questo repo!