I modelli e gli algoritmi matematici devono essere tradotti in software in grado di produrre risultati. QuanTek ha sviluppato Ipazia, un particolare framework software proprietario fatto di moduli componibili con alcuni meta engine. Ipazia consente di realizzare rapidamente prototipi o soluzioni complete su misura per le vere esigenze del cliente

La flessibilità di una soluzione su misura

Le soluzioni software di QuanTek si basano sull’ampia conoscenza dei suoi software engineer e su una precisa scelta strategica: quella di non sviluppare prodotti preconfezionati.
Ogni problema quantitativo è diverso dagli altri, inoltre ci possono essere diverse varianti di modello e di algoritmo risolutivo. Tutto questo richiede software in grado di essere specializzato sulle specifiche necessità. Il vantaggio competitivo reale deriva solo da soluzioni quantitative di alta qualità disegnate su misura.  Per questo QuanTek ha sviluppato Ipazia, una particolare tecnologia software proprietaria fatta di moduli generici componibili con alcuni meta-engine. Il nome di Ipazia è in onore della omonima matematica e filosofa greca paladina della libertà di pensiero.
I moduli software di Ipazia possono rappresentare ad esempio vincoli di un problema di ottimizzazione, una certa funzione obiettivo di costo, un algoritmo di previsione o un blocco che simula la risoluzione del mercato del giorno prima.
Gli engine di composizione sono in grado di comporre a run time la soluzione su misura e consentire allo stesso tempo veloci modifiche.
Il framework Ipazia ci consente di rispondere a diverse esigenze con una rapidità maggiore di quella dei vendor di prodotto ma anche, e soprattutto, di disegnare soluzioni su misura. Infatti la cosiddetta “customizzazione di prodotto” è inclusa nell’analisi. Al contempo siamo in grado di assemblare i moduli più utili alla soluzione richiesta con la massima flessibilità.
Ipazia è un framework già molto ricco di moduli ed è in continua evoluzione, è tuttavia possibile che la soluzione migliore richieda qualche modulo aggiuntivo, una variante  modellistica o un algoritmo specializzato: in situazioni come queste il team di sviluppo di QuanTek può sviluppare i moduli ad hoc avvantaggiandosi di tutto il framework esistente nel quale integrarli facilmente.
In QuanTek crediamo che un vantaggio competitivo reale derivi solo da soluzioni quantitative di alta qualità disegnate su misura.

Integrazione e gestione dei dati

La gestione dei dati è un problema centrale. Essere conformi a standard aperti è importante per interfacciarsi con qualunque prodotto dei clienti: l’expertise di QuanTek copre le principali tecnologie dai formati quali XML alle tecnologie quali SQL sui più diffusi DBMS. Siamo altresì in grado di gestire l’importazione da sistemi di Office Automation o sistemi Web customizzabili secondo le specifiche necessità.
Integrarsi con prodotti preesistenti è altrettanto importante, interagendo con l’ecosistema informativo dei clienti. Questo è realizzabile mediante tecnologie consolidate (Web Services, CORBA, DBMS, data transfer and import) e, grazie ad un’attenta analisi d’integrazione, in QuanTek troviamo soluzioni architetturali adeguate al contesto per un risultato efficace e di minimo impatto.

I linguaggi e gli ambienti

Il framework software Ipazia utilizza linguaggi Object Oriented, in particolare Python e C++ ma anche Java.  I software engineer di QuanTek hanno considerevole esperienza nell’utilizzo di linguaggi di questi linguaggi e di altri.
In QuanTek, affianco alla nostra tecnologia proprietaria, utilizziamo anche linguaggi orientati alla modellazione di problemi di ottimizzazione come gli ambienti commerciali AMPL®, GAMS®, IBM® OPL® nonché i tool di SAS® analytics (in particolare i moduli di forecast e l’ambiente OPTMODEL di ricerca operativa). Nel settore più orientato al data mining e al forecast, abbiamo anche esperienze con la suite di data mining di ORACLE. Ultimamente abbiamo scelto di orientarci verso la suite di FICO, ed in particolare verso il linguaggio di modellazione BCL e Mosel.

Software veloci: parallelizzazione multi core e gpu

Certe istanze di problemi matematici possono richiedere una settimana di esecuzione: ma, il risultato può essere ottenuto in un paio d’ore? Certe istanze di problemi matematici possono richiedere una settimana di esecuzione, il risultato può essere ottenuto in un paio d’ore? Questa è una domanda che ci poniamo sempre. Progettare modelli ed algoritmi che rispondono alle reali esigenze è importante ma spesso la velocità è un fattore critico.
In QuanTek dedichiamo particolare cura alle prestazioni degli algoritmi e alla loro implementazione. Alcuni degli approcci risolutivi possono essere parallelizzati su hardware multi core o su moderne Graphics Processing Unit (GPU) ottenendo speed up dell’ordine di 10-100 volte rispetto ad implementazioni standard. Il parallel processing è oramai una tecnologia mainstream per le applicazioni matematiche. I software engineer di QuanTek usano tecnologia CUDA di nvidia per parallelizzare particolari algoritmi in alcuni moduli del framework Ipazia.