El semestre pasado me encargaron un proyecto en la material de Investigación de Operaciones:
Era buscar un problema de optimización de la vida real, entenderlo, codificarlo de manera que el usuario metiera ciertos parámetros a la aplicación y esta le arrojara el resultado óptimo. Y para terminar construirle una interfaz amigable a la aplicación.
Decidí usar una librería llamada GLPK que contiene una gran cantidad de métodos de optimización. En ese tiempo no encontré mucha información acerca de cómo implementar esa librería; es por eso que hago este pequeño tutorial de cómo “instalar” GLPK en Visual Studio 2008.
Pasos
1) Entrar a http://www.gnu.org/software/glpk/ para descargar la librería. La pueden bajar ya sea por FTP, HTTP. Si es por FTP entren aquí: http://ftp.gnu.org/gnu/glpk/ . Escogen la versión más reciente y bajan el archivo .tar.gz.
2) Extraigan la carpeta de la librería (puede ser con WINRAR).
3) Dentro de la carpeta hay dos subcarpetas (W32, W64), dependiendo de su sistema operativo (32 o 64 bits) abran la carpeta deseada.
4) Si tienen el Visual Studio 2008 el archivo que van a buscar es el “Build_GLPK_with_VC9”. Localícenlo hagan clic derecho y denle edit. Si tienen Visual Studio 2010, la terminación es VC10.
5) En el archivo busquen la línea que dice “set HOME =…” verifiquen que la dirección de su compilador este correcta. Para verifican abran la carpeta donde tienen instalado el Visual Studio, por ejemplo: “C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC”. Y verifiquen que sea igual a la de la variable HOME. Si no está bien modificarla, si está bien dejarla así. Guardar y cerrar archivo.

6) Repetir el paso anterior pero ahora para la línea de código: “call %HOME%\bin\vcvars…”. Verifiquen que este bien direccionado el archivo y se llame igual.
7) Ahora dar doble clic sobre el archivo del paso anterior. Al final del proceso deben de poder ver “OPTIMAL SOLUTION FOUND”. Eso significa que se crearon correctamente los archivos.
8) Ahora, de esta ultima carpeta (w32 o w64), copiaremos un archivo:
a) glpk.lib
9) Después regresamos a la carpeta inicial (glpk-versión). Abrimos la carpeta include y copiamos y pegamos el archivo glpk.h.
10) Ahora vamos a la siguiente carpeta “C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC”. En la carpeta “lib” pegan el archivo “glpk.lib”. En la carpeta “include” pegan el archivo “glpk.h”.
Listo ya tienen configurado glpk en su Visual Studio.
Haremos una prueba ahora.
1) Abran Visual Studio y creen un nuevo proyecto. Proyecto Visual C++, aplicación para consola W32, vacio.

2) Hacemos clic en Proyecto/Agregar Nuevo Elemento/C++ File (.cpp).
3) En la carpeta de la librería, hay una subcarpeta llamada “Examples”. Ahí dentro busquen el archivo “Sample.c”, clic derecho, editar, copiar todo el código.
4) En el archivo .cpp en el Visual Studio peguen el código.
5) Si intentan compilar así les va a marcar una serie de errores, esto porque la librería .lib todavía no esta linkeada. Esto es muy importante.
6) En la parte de Explorador de Soluciones, hagan clic derecho en el proyecto, y hagan clic en properties.
7) Abran el apartado de Linker y posiciónense en Entrada (Input en ingles). Donde dice Dependencias Adicionales (Additional Dependencies) escriban “glpk.lib”.
Listo ahora si den Ctrl + F5 y verán que ya compila y corre el archivo de prueba.
Más adelante escribiré y subiré una pequeña guía acerca de cómo resolver un problema de programación lineal con GLPK y como construirle una interfaz grafica.
¡Por favor comenten!