lunes, 26 de septiembre de 2011

Trazar CPLEX

http://yetanothermathprogrammingconsultant.blogspot.com/2008/05/undocumented-gamscplex-options.html

miércoles, 3 de agosto de 2011

Aprovechar multi-core CPLEX

Para que cplex se ejecute en paralelo, añadir la siguiente instrucción en el código de gams:

$onecho > cplex.opt

lpmethod 6
parallelmode 0
threads 0
predual -1

$offecho


model.optfile = 1;

lunes, 11 de julio de 2011

Generar combinaciones(n,k)

int generarComb(int i,int l,int k,int n){

if(i==k){
if(l==0){
for(int r=0;r < k;r++){
cout < < mark[r];
}
cout < < endl;
}
}
else{
if(l > 0){
mark[i]=true;
generarComb(i+1,l-1,k,n);
mark[i]=false;
}
generarComb(i+1,l,k,n);

}

return 0;
}

miércoles, 8 de junio de 2011

Incluir gráficos en MikTex

Hay que incluir el paquete

\usepackage{graphicx}

y no hay que dejar lineas en blanco entre \begin{landscape} y \begin{figure}:

\begin{landscape}
\begin{figure}[ht]
\centering
\includegraphics[scale=0.5]{planning.eps}
\caption{Planning thesis}
\label{fig2}
\end{figure}
\end{landscape}

jueves, 2 de junio de 2011

Ejecutar CPLEX con un valor inicial

putfile opt/
mipstart 1

/





mymodel.optfile = 1 ;

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

sábado, 8 de enero de 2011

Latex referencias bibliograficas largas

Hacer que latex te corte las referencias bibliograficas largas con hyperlinks


\usepackage[breaklinks=true,colorlinks=true]{hyperref}

breaklinks: rompe los links.
colorlinks: colorea el texto.