Passa ai contenuti principali

Feasibility pump

Voglio segnalarvi una tesi di laurea interessante dal punto di vista tecnologico.
di Davide Baracco, relatore Matteo Fischetti.

Dico interessante dal punto di vista tecnologico, perché in un unico testo possiamo imparare come funziona una delle più famose euristiche per trovare soluzioni a problemi lineari a variabili intere; come funziona CPLEX; come funziona Xpres-MP e come funziona GLPK.

Per meglio specificare i contenuti della tesi ne riporto l'indice:
1 The Feasibility Pump
1.1 Introduction
1.2 Computational experiments
1.3 FP variants
1.3.1 Reducing the computing time
1.3.2 Improving the solution quality
1.3.3 Computational results
2 ILOG CPLEX
2.1 Introduction
2.2 ILOG CPLEX Technologies
2.3 CPLEX Algorithms
2.3.1 CPLEX Simplex Optimizers
2.3.2 CPLEX Barrier Optimizers
2.3.3 CPLEX Mixed Integer Optimizer
3 Xpress-MP by Dash Optimization
3.1 Xpress-MP overview
4 GLPK by Andrew Makhorin
4.1 GLPK overview
4.2 Problem (LP-MIP) formulation
4.3 API Routines
4.4 LPX: The Problem Object
5 The interfaces
5.1 Description of the interfaces
5.2 Step-by-step interfaces development
5.3 The functions
5.3.1 Creating problems
5.3.2 Optimizing problems
5.3.3 Accessing LP/MIP results
5.3.4 Problem modi¯cation
5.3.5 Accessing problem data
5.3.6 File reading/writing
5.3.7 Parameters setting and querying routines
5.3.8 General utilities
6 Test
6.1 Testbed
6.2 Test description
6.3 Computational Results
7 Conclusions
A Interface for GLPK (code)
A.1 interface.h
A.2 ifc imp.c
B Interface for Xpress (code)
B.1 interface.h
B.2 ifc imp.c
Bibliography 

Commenti

Post popolari in questo blog

PuLP – Un valido strumento per la didattica

L'insegnamento dei concetti di base della ricerca operativa, ovvero la programmazione lineare, ha trovato nel corso degli ultimi anni diversi strumenti di supporto. Sono ormai parecchi i software gratuiti e open source che permettono agli studenti e agli insegnanti di toccare con mano le nozioni e i concetti spiegati e studiati sui banchi. Ricordiamo, ad esempio, glpk che con il suoi linguaggio di modellazione MathProg permettete di scrivere e risolvere anche complessi modelli di programmazione lineare intera. Oppure citiamo anche lp_solve che con il suo ambiente impropriamente chiamato lp_solve IDE permette di scrivere e risolvere modelli di programmazione lineare direttamente nella formulazione matematica. A mio avviso però le proposte appena citate sono limitate nella potenza espressiva e nelle capacità di integrarsi con altri software o moduli esterni. Queste limitazioni sono egregiamente risolte da PuLP : un modellatore di problemi di programmazione lineare intera basato ...

Ci arricchiremo con la ricerca operativa?

A questa domanda forse possiamo rispondere sì :-) , rimandando al lavoro molto fresco ed interessante di Giancarlo Volpe dal titolo " Scommesse sportive: un modello di Ricerca Operativa che descrive la “vincita perfetta” " E' possibile scaricare il documento da scribd.com . Dall'apprezzabile contenuto didattico la parte entrale, dove si illustra passo passo come è possibile usare il risolutore di excel per applicarlo al modello descritto. Buona lettura e giocate con moderazione. Un Modello di Ricerca Operativa per Scommesse Sportive

Che cos'è la riottimizzazione

Che cos'è la riottimizzazione Quando si parla di processi di ottimizzazione, la riottimizzazione copre un ruolo particolare. Scopriamo insieme cosa vuol dire. Introduzione Partiamo dalle basi e diciamo che risolvere un  problema di ottimizzazione  è la migliore risposta ad un problema del tipo:  “Qual è il modo migliore per fare una certa cosa? Facciamo un esempio.  Qual è il modo migliore per andare da Palermo a Bolzano, nel più breve tempo possibile, passando da 100 diverse località sparse per l’Italia?  Forse in tanti hanno riconosciuto il problema del  cammino di costo minimo : come visitare un grafo partendo da un nodo origine per arrivare ad un nodo destinazione minimizzando la somma dei costi, che vengono pagati ad ogni arco attraversato. A parte la difficoltà di descrivere in termini matematici il problema da risolvere e trascrivere tutto in un software funzionante, ci sono due aspetti specifici da tenere in considerazione: il...