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;
$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;
}
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}
\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
martes, 24 de mayo de 2011
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
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.
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
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.
\usepackage[breaklinks=true,colorlinks=true]{hyperref}
breaklinks: rompe los links.
colorlinks: colorea el texto.
Suscribirse a:
Entradas (Atom)