martes, 24 de mayo de 2011

Web Interesante sobre Optimización

http://plato.asu.edu/guide.html

jueves, 19 de mayo de 2011

GAMS: Running out of Memory

Para obligar a cplex que guarde los nodos de BB en el discoduro, evitando el molesto Running out of memory:

Creamos un fichero: cplex.opt


$onecho > cplex.opt

nodefileind = 2

$offecho


donde nodefileind = 2 guarda temporalmente los nodos por explorar en el discoduro.
porteriormente escribimos anter de invocar al solver

modelo.optfile=1


Suerte

GAMS: Decimales en los displays y put

Para conseguir que gams muestre todos los decimales usando el comando display:

option nombre_param:x:y:z

x el número de decimales que quieres que muestre, en y columnas, en z filas.

Para que te escriba los decimales en un fichero con todas las cifras:

put nombre_param:x:y;

x el número de decimales.


Suerte.

miércoles, 18 de mayo de 2011

GAMS: Cargar set y parámetros desde Excel

Muchas veces resulta bastante molesto tener que cambiar el fichero gms para hacer probar el programa con otros páramtros: Una manera para evitar esto, o por lo menos cambiar menos el fichero gms. Es utilizar cargar los parámetros y los set's directamente del Excel.

Los set's se tiene que declarar de esta manera:

SOL(*) solutions

los parámetros se dejan igual.


Con gdxxrw.exe gams genera un gdx a partir de un fichero excel, donde por cada set o cada párametro que gueramos guardar en el gdx escribimos esto:

set(o par)="nombre_set" rng(rango)=sheet!F1:F3 Rdim=1(numero de filas que ocupa la etiqueta, normalmente 1) Cdim=1(numero de columnas que ocupa la etiqueta, normalmete 1)


Ejemplo:

$call gdxxrw.exe ORed_v3.xls set=itt rng=simple!A2:A669 Rdim=1 set=sol rng=simple!A2:A669 Rdim=1 set=ob rng=simple!B1:M1 Cdim=1 par=impsol rng=simple!A1:M669 Rdim=1 Cdim=1

Posteriormente para cargar los valores se hace así:


$gdxin ORed_v3.gdx
$load ITT, SOL, OB
$gdxin


Importante, antes de cargar los valores de un paremetro se tienen que haber cargado sus sets.

Buena suerte