TdP-prove-finali / Introduzione

Istruzioni e documentazione per la proposta e lo svolgimento delle prove finali relative al corso di Tecniche di Programmazione.
http://bit.ly/tecn-progr
Apache License 2.0
4 stars 13 forks source link

Proposta di tesi 283738 #102

Closed MichiDM closed 1 year ago

MichiDM commented 1 year ago

Studente proponente

s283738 Della Mura Michele

Titolo della proposta

PropertiSmart

Descrizione del problema proposto

Questo programma offre la possibilità di generare un piano di investimento valido per quanto riguarda il mercato immobiliare, fornendo anche all'utente una serie di filtri per selezionare le abitazioni che più si avvicinano ai suoi requisiti. Successivamente il software calcola anche il percorso minimo che esiste tra le strutture selezionate, fornendo un itinerario ottimizzato per visitare le proprietà nel modo più efficiente possibile. L’ applicazione è valida sia per le agenzie immobiliari che per gli investitori privati, aiutandoli a prendere decisioni migliori.

Descrizione della rilevanza gestionale del problema

Dal punto di vista gestionale, risolvere questo problema è di grande importanza per i privati e le agenzie immobiliari. Trovare un modo efficiente per soddisfare i vincoli dell'acquirente e minimizzare i costi di acquisto può portare a risparmi significativi e migliorare la futura redditività degli investimenti immobiliari. Inoltre, identificare il cammino minimo per visitare tutte le strutture acquistate consente di ottimizzare le visite agli immobili, massimizzando il numero di strutture che possono essere viste nel minor tempo possibile da possibili acquirenti.

Descrizione dei data-set per la valutazione

Il data-set utilizzato per risolvere il problema si trova all'indirizzo https://www.kaggle.com/datasets/ruiqurm/lianjia. Verranno utilizzate le seguenti colonne: longitude, latitude; id (per riconoscere univocamente una struttura); the total price (il prezzo della singola casa); square, livingRoom, kitchen, bathroom, constructionTime.

Descrizione preliminare degli algoritmi coinvolti

Il problema proposto richiede l'applicazione di diversi algoritmi. Inizialmente, si utilizza un algoritmo ricorsivo per identificare l'insieme di strutture che rispettano i vincoli dell'acquirente e che hanno il costo complessivo più basso possibile. Successivamente, verrà creato un grafo utilizzando i dati delle strutture trovate al passo precedente e si applicherà l'algoritmo del cammino minimo (come l'algoritmo di Dijkstra) per trovare il percorso ottimale per visitare tutte le strutture acquistate nel minor tempo possibile. I nodi del grafo saranno rappresentati dalle strutture mentre gli archi saranno le distanze che ci sono tra una casa e l’altra, calcolate sfruttando le coordinate geografiche presenti nel data-set.

Descrizione preliminare delle funzionalità previste per l'applicazione software

L'applicazione avrà diverse funzionalità per agevolare l'acquisto di case. Gli utenti potranno inserire i propri vincoli e preferenze per l'acquisto degli edifici, come il budget massimo, le caratteristiche desiderate, ecc. L'applicazione utilizza l'algoritmo dello zaino per dare in output una lista di strutture che soddisfano tali vincoli e che abbiano un costo totale minimizzato. Inoltre, l'applicazione mostrerà un percorso ottimale per visitare tutte le strutture acquistate, attraverso un’altra lista dove però, questa volta, le strutture saranno in ordine di visita (il primo edificio è il primo da visitare, ecc.)

fulcorno commented 1 year ago

Ci sono 2 problemi in questa proposta:

  1. nella prima parte, non è molto chiaro quali siano i vincoli da rispettare nella ricerca ricorsiva. Se ho ben capito, l'utente specifica dei "filtri", ed un budget massimo, e l'algoritmo deve trovare la combinazione di immobili che soddisfano rimanendo sotto il budget? in questo caso quale è la quantità che viene ottimizzata? il numero di immobili (mi sembra poco rilevante)? il costo totale (cioè mi avvicino il più possibile al budget - a che serve)? La tua frase "il costo complessivo più basso possibile" si soddisfa facilmente non comprando nulla...
  2. la seconda parte (il percorso minimo) mi pare che non c'entri nulla con la prima parte (se ragiono sulla rendita immobiliare, cosa c'entra il percorso di visita più breve)? Inoltre, il cammino minimo non si può calcolare con algoritmi tipo Dijstra, che calcolano solo percorsi punto-punto e non garantiscono di passare da tutti i vertici.

La scelta dell'argomento (mercato immobiliare) e del data-set sono validi. Ti chiederei però di elaborare diversamente la proposta dal punto di vista del problema che vuoi risolvere (e gli algoritmi relativi).

Per il momento considero rifiutata quella proposta, mi aspetto che me ne mandi una nuova che tenga conto di questi commenti.