25 resultados para programmazione genetica, algoritmi genetici, trading system
Resumo:
Descrizione di un software di simulazione, realizzato attraverso la programmazione in Labview, che estrapola i dati immagazzinati nei file RINEX di navigazione e di osservazione della missione GRACE e li invia con le stesse modalità con cui lo farebbe il ricevitore OEM615 della NovAtel. L'obiettivo è creare un software che permetta di testare, nell'ambito della missione ESEO dell'ESA, il ricevitore GPS che farà parte del payoload della stessa missione, costituita da un micro-satellite che orbiterà in orbita bassa LEO, e che sarà composto da un ricevitore OEM615, da un'antenna GPS e da un processore di navigazione.
Resumo:
I sistemi di navigazione inerziale, denominati INS, e quelli di navigazione inerziale assistita, ovvero che sfruttano anche sensori di tipo non inerziale come ad esempio il GPS, denominati in questo caso INS/GPS, hanno visto un forte incremento del loro utilizzo soprattutto negli ultimi anni. I filtri complementari sfruttano segnali in ingresso che presentano caratteristiche complementari in termine di banda. Con questo lavoro di tesi mi sono inserito nel contesto del progetto SHERPA (Smart collaboration between Humans and ground-aErial Robots for imProving rescuing activities in Alpine environments), un progetto europeo, coordinato dall'Università di Bologna, che prevede di mettere a punto una piattaforma robotica in grado di aiutare i soccorritori che operano in ambienti ostili, come quelli del soccorso alpino, le guardie forestali, la protezione civile. In particolare è prevista la possibilità di lanciare i droni direttamente da un elicottero di supporto, per cui potrebbe essere necessario effettuare l'avvio del sistema in volo. Ciò comporta che il sistema di navigazione dovrà essere in grado di convergere allo stato reale del sistema partendo da un grande errore iniziale, dal momento che la fase di inizializzazione funziona bene solo in condizioni di velivolo fermo. Si sono quindi ricercati, in special modo, schemi che garantissero la convergenza globale. Gli algoritmi implementati sono alla base della navigazione inerziale, assistita da GPS ed Optical Flow, della prima piattaforma aerea sviluppata per il progetto SHERPA, soprannominata DreamDroneOne, che include una grande varietà di hardware appositamente studiati per il progetto, come il laser scanner, la camera termica, ecc. Dopo una panoramica dell'architettura del sistema di Guida, Navigazione e Controllo (GNC) in cui mi sono inserito, si danno alcuni cenni sulle diverse terne di riferimento e trasformazioni, si descrivono i diversi sensori utilizzati per la navigazione, si introducono gli AHRS (Attitude Heading Rference System), per la determinazione del solo assetto sfruttando la IMU ed i magnetometri, si analizza l'AHRS basato su Extended Kalman Filter. Si analizzano, di seguito, un algoritmo non lineare per la stima dell'assetto molto recente, e il sistema INS/GPS basato su EKF, si presenta un filtro complementare molto recente per la stima di posizione ed assetto, si presenta un filtro complementare per la stima di posizione e velocità, si analizza inoltre l'uso di un predittore GPS. Infine viene presentata la piattaforma hardware utilizzata per l'implementazione e la validazione, si descrive il processo di prototipazione software nelle sue fasi e si mostrano i risultati sperimentali.
Resumo:
Questo studio si propone di realizzare un’applicazione per dispositivi Android che permetta, per mezzo di un gioco di ruolo strutturato come caccia al tesoro, di visitare in prima persona città d’arte e luoghi turistici. Gli utenti finali, grazie alle funzionalità dell’app stessa, potranno giocare, creare e condividere cacce al tesoro basate sulla ricerca di edifici, monumenti, luoghi di rilevanza artistico-storica o turistica; in particolare al fine di completare ciascuna tappa di una caccia al tesoro il giocatore dovrà scattare una fotografia al monumento o edificio descritto nell’obiettivo della caccia stessa. Il software grazie ai dati rilevati tramite GPS e giroscopio (qualora il dispositivo ne sia dotato) e per mezzo di un algoritmo di instance recognition sarà in grado di affermare se la foto scattata rappresenta la risposta corretta al quesito della tappa. L’applicazione GeoPhotoHunt rappresenta non solo uno strumento ludico per la visita di città turistiche o più in generale luoghi di interesse, lo studio propone, infatti come suo contributo originale, l’implementazione su piattaforma mobile di un Content Based Image Retrieval System (CBIR) del tutto indipendente da un supporto server. Nello specifico il server dell’applicazione non sarà altro che uno strumento di appoggio con il quale i membri della “community” di GeoPhotoHunt potranno pubblicare le cacce al tesoro da loro create e condividere i punteggi che hanno totalizzato partecipando a una caccia al tesoro. In questo modo quando un utente ha scaricato sul proprio smartphone i dati di una caccia al tesoro potrà iniziare l’avventura anche in assenza di una connessione internet. L’intero studio è stato suddiviso in più fasi, ognuna di queste corrisponde ad una specifica sezione dell’elaborato che segue. In primo luogo si sono effettuate delle ricerche, soprattutto nel web, con lo scopo di individuare altre applicazioni che implementano l’idea della caccia al tesoro su piattaforma mobile o applicazioni che implementassero algoritmi di instance recognition direttamente su smartphone. In secondo luogo si è ricercato in letteratura quali fossero gli algoritmi di riconoscimento di immagini più largamente diffusi e studiati in modo da avere una panoramica dei metodi da testare per poi fare la scelta dell’algoritmo più adatto al caso di studio. Quindi si è proceduto con lo sviluppo dell’applicazione GeoPhotoHunt stessa, sia per quanto riguarda l’app front-end per dispositivi Android sia la parte back-end server. Infine si è passati ad una fase di test di algoritmi di riconoscimento di immagini in modo di avere una sufficiente quantità di dati sperimentali da permettere di effettuare una scelta dell’algoritmo più adatto al caso di studio. Al termine della fase di testing si è deciso di implementare su Android un algoritmo basato sulla distanza tra istogrammi di colore costruiti sulla scala cromatica HSV, questo metodo pur non essendo robusto in presenza di variazioni di luminosità e contrasto, rappresenta un buon compromesso tra prestazioni, complessità computazionale in modo da rendere la user experience quanto più coinvolgente.
Resumo:
Negli ultimi anni le tecnologie informatiche sono state al centro di uno sviluppo esponenziale. Fra le incalcolabili innovazioni presentate, ha preso sempre più campo il paradigma per la programmazione ad agenti, che permette la realizzazione di sistemi software complessi, i quali, nell'informatica moderna, ricoprono un ruolo di fondamentale importanza. Questi sistemi, denominati autonomi, mostrano caratteristiche interessanti per scenari dinamici; essi infatti devono essere robusti e resistenti, in grado di adattarsi al contesto ambientale e quindi reagire a determinate modifiche che si verificano nell'ambiente, comportandosi di conseguenza. Indicano perciò la pro-attività dell'entità presa in considerazione. In questa tesi saranno spiegate queste tipologie di sistemi, introdotte le loro caratteristiche e mostrate le loro potenzialità. Tali caratteristiche permettono di responsabilizzare i soggetti, rendendo il sistema auto-organizzato, con una migliore scalabilità e modularità, riducendo quindi le elevate esigenze di calcolo. L'organizzazione di questo documento prevede i primi capitoli atti a introdurre il mondo dei sistemi autonomi, partendo dalle definizioni di autonomia e di agenti software, concludendo con i sistemi multi-agenti, allo scopo di permettere al lettore una comprensione adatta ed esaustiva. I successivi capitoli riguardano le fasi di progettazione delle entità prese in esame, le loro forme di standardizzazione e i modelli che possono adottare, tra i quali il più conosciuto, il modello BDI. Ne seguono due diverse metodologie per l'ingegneria del software orientata agli agenti. Si conclude con la presentazione dello stato dell'arte degli ambienti di sviluppo conosciuti, contenente un'esauriente introduzione ad ognuno di essi ed una visione nel mondo del lavoro del loro apporto negli applicativi in commercio. Infine la tesi terminerà con un capitolo di conclusioni e di riflessioni sui possibili aspetti futuri.
Resumo:
Questa tesi riguarda il problema della schedulazione degli interventi nel blocco operatorio di un presidio ospedaliero, noto anche come Operating Theatre Planning & Scheduling. Il blocco operatorio è la struttura che eroga servizi a più alto impatto sui costi di un presidio ospedaliero ed è legato ad attività ad alto rischio. E' quindi fondamentale gestire in modo ottimale questa risorsa. In questa tesi, si considera come caso studio l'applicazione reale di un presidio ospedaliero dell'Emilia Romagna con un orizzonte temporale di una settimana, ovvero la cosiddetta programmazione operativa. L'obiettivo è quello di ottenere un utilizzo efficiente del blocco operatorio, garantendo al contempo la priorità agli interventi più urgenti. Data la complessità del problema, vengono proposti algoritmi euristici che permettano di ottenere buone soluzioni in tempi di calcolo ridotti. Studi precedenti hanno infatti evidenziato la difficoltà di trovare soluzioni ottime al problema, mediante l'utilizzo di solver commerciali per modelli di Programmazione Lineare Intera, senza introdurre ipotesi semplificative. Sono stati elaborati tre algoritmi euristici costruttivi di tipo multi-start che permettono di generare soluzioni ammissibili con diverse caratteristiche. Gli algoritmi si differenziano principalmente per le modalità con cui collocano gli interventi nel tempo disponibile delle risorse (induction room, operating room, recovery room), cercando di migliorarne l’utilizzazione e dando priorità ai pazienti più urgenti. Gli algoritmi sono stati implementati utilizzando il linguaggio JAVA e sono stati testati su istanze realistiche fornite dal presidio ospedaliero. I risultati hanno evidenziato un alto grado di utilizzazione delle sale operatorie, un fattore molto rilevante per una ottimale gestione del blocco operatorio. E' stata, infine, svolta un'analisi di sensitività alla variabilità delle durate.
Resumo:
L’elaborato si apre presentando il concetto di Pavement Managemet System (PMS), un modello di gestione degli interventi di manutenzione che le pavimentazioni di una rete stradale dovranno subire nel corso del tempo. Uno dei punti di forza del Pavement Management System, è costituito dalla diretta comparazione tra i costi delle strategie programmate e i relativi benefici, che consente di scegliere l’alternativa più efficace. Nel secondo capitolo viene descritto il catasto stradale, strumento di fondamentale importanza per la gestione del patrimonio stradale e per il funzionamento del Pavement Management System. Esso infatti è l’elemento di collegamento tra la sicurezza e la programmazione della manutenzione. Il terzo capitolo espone il caso di studio del quartiere di Campo di Marte del Comune di Firenze. L’elemento di partenza di questo capitolo è il database dei sinistri stradali, il quale aiuta ad individuare alcune carenze della sovrastruttura che potrebbero essere causa di disagi o addirittura di incidenti. Dall’analisi si possono quindi dedurre utili indicazioni sul tipo di interventi che si rendono necessari per garantire la sicurezza e sulle priorità degli interventi stessi. Successivamente vengono descritte le modalità di rilievo per il quartiere oggetto del caso di studio ed esposti i risultati. Questi, uniti a quelli degli indici di stato prestazionali, danno vita alla pianificazione degli interventi di manutenzione necessari. Il quarto ed ultimo capitolo contiene i piani di manutenzione, con la relativa catalogazione degli interventi di manutenzione e riabilitazione. Questi vengono pianificati con l’ausilio dei risultati provenienti dai rilievi e dagli indici di stato prestazionali. Infine vengono presentati a titolo di esempio, tre casi reali di piano operativo degli interventi sulle pavimentazioni di strade appartenenti al quartiere di Campo di Marte.
Resumo:
L'obiettivo principale di molti problemi industriali è tipicamente massimizzare i profitti o minimizzare costi o tempi di produzione. Questi problemi sono detti "di ottimizzazione" poiché bisogna ottimizzare determinati processi o attività attraverso decisioni che portino alla soluzione ottima del problema. Il giusto utilizzo di modelli matematici può condurre, tramite l'utilizzo di algoritmi esatti, alla soluzione ottima di un problema di questo tipo. Queste tecniche sono spesso basate su l'enumerazione completa di tutte le possibili soluzioni e ciò potrebbe pertanto richiedere una quantità di calcoli talmente elevata da renderle di fatto inutilizzabili. Per risolvere problemi di grandi dimensioni vengono quindi utilizzati i cosiddetti algoritmi euristici, i quali non assicurano di trovare la soluzione ottima del problema, ma promettono di trovarne una di buona qualità. In questa tesi vengono analizzati, sviluppati e confrontati entrambi gli approcci, attraverso l'analisi di un problema reale che richiede la pianificazione delle attività di un satellite.
Resumo:
In questa tesi viene trattata la problematica di determinare le migliori K soluzioni per due problemi di ottimizzazione, il Knapsack Problem 0-1 e lo Shortest Path Problem. Tali soluzioni possono essere impiegate all'interno di metodi di column generation per la risoluzione di problemi reali, ad esempio Bin Packing Problems e problemi di scheduling di veicoli ed equipaggi. Sono stati implementati, per verificarne sperimentalmente le prestazioni, nuovi algoritmi di programmazione dinamica, sviluppati nell’ambito di un programma di ricerca. Inizialmente, per entrambi i problemi, è stato descritto un algoritmo che determinasse le migliori K soluzioni per ogni possibile sottoproblema; partendo da uno zaino con capacità nulla, nel caso del Knapsack Problem 0-1, e dalla determinazione di un cammino dal vertice sorgente in se stesso per lo Shortest Path Problem, l’algoritmo determina le migliori soluzioni di sottoproblemi via via sempre più grandi, utilizzando le soluzioni costruite per gli stati precedenti, fino a ottenere le migliori soluzioni del problema globale. Successivamente, è stato definito un algoritmo basato su un approccio di ricorsione backward; in questo caso si utilizza una funzione ricorsiva che, chiamata a partire dallo stato corrispondente al problema globale, viene richiamata solo sugli stati intermedi strettamente necessari, e per ognuno di essi non vengono determinate soluzioni superflue.
Resumo:
L'obiettivo principale di questo lavoro di tesi è quello di migliorare gli algoritmi di morphing generation in termini di qualità visiva e di potenzialità di attacco dei sistemi automatici di riconoscimento facciale.
Resumo:
Obiettivo dello studio condotto è l’implementazione di cicli di operazioni per l’assemblaggio automatizzato di componenti che costituiscono un sistema di trasporto a catena presente in alcune macchine automatiche. L’automazione del processo, fino ad oggi svolto manualmente, prevede l’utilizzo di un robot e, per il controllo di quest’ultimo, di un sistema di visione artificiale. L’attività di tirocinio associata alla tesi di laurea, che ha incluso una parte sperimentale oltre alla scrittura degli algoritmi di controllo del robot, è stata svolta all’interno del laboratorio TAILOR (Technology and Automation for Industry LabORatory) presso Siropack Italia S.r.l dove è presente una cella dotata di robot antropomorfo (Mitsubishi Electric) e di sistema di visione artificiale con camere 2D (Omron). La presenza di quest’ultimo è risultata strategica in termini di possibilità di adattare il montaggio anche a diversi posizionamenti degli oggetti all’interno dello spazio di lavoro, fermo restando che gli stessi risultassero appoggiati su una superficie piana. In primo luogo, affinché fosse garantita la ripetibilità del processo, sono state testate le prestazioni del sistema di visione tramite opportuna calibrazione della camera e del sistema di illuminazione ad esso collegata, al fine di ottenere un’acquisizione delle immagini che fosse sufficientemente robusta e risoluta mediante lo sfruttamento del software di elaborazione Omron FH Vision System. Un’opportuna programmazione della traiettoria del robot in ambiente di simulazione RT Toolbox 3, software integrato nel sistema di controllo del robot Mitsubishi Electric, ha infine consentito le regolari operazioni di assemblaggio, garantendo un processo affidabile ed, allo stesso tempo, adattabile ad ambienti eventualmente non strutturati in cui esso si trova ad operare.