El documento describe un programa BASH llamado ultimo.sh que extrae información clave de archivos LST generados por el programa GAMS. El programa solicita al usuario el número de unidades básicas y luego usa awk y sed para extraer el estado del solver, estado del modelo, valor objetivo, mejor valor y gaps absoluto y relativo de los archivos LST y redireccionarlos a archivos de salida.
Ésta fue la aventura que viví en Hallowen gracias a mi desdoblamiento de personalidad en "Paka de la Jungla". Disfrútalo que nos lo hemos currao un barbaridad.
Ésta fue la aventura que viví en Hallowen gracias a mi desdoblamiento de personalidad en "Paka de la Jungla". Disfrútalo que nos lo hemos currao un barbaridad.
Presentació utilitzada en la sessió presencial "Projecte Roma" del curs: "Metodologies educatives/pedagògiques basades en l'alumnat. Aplicació del “Projecte Roma” i de les “Comunitats d'Aprenentatge”
De toda la documentación de WordPress hay una página muy importante que vela por la seguridad de nuestra salud mental: “PHP Coding Standards”, una guía con 19 consejos muy simples sobre cómo escribir código PHP bonito, del bueno, ese del cual podemos jactarnos de “Code is Poetry”.
Veremos en esta charla los puntos más importantes de la guía aplicados a casos reales de proyectos heredados y sus posibles resoluciones.
PHP, una introducción a modo de presentación como tutorial básico llegando hasta clases y pasando por la conexión con una oferta de servicios web mediante protocolo SOAP con WSDL.
Anna Lucia Alfaro Dardón, Harvard MPA/ID. The international successful Case Study of Banco de Desarrollo Rural S.A. in Guatemala - a mixed capital bank with a multicultural and multisectoral governance structure, and one of the largest and most profitable banks in the Central American region.
INCAE Business Review, 2010.
Anna Lucía Alfaro Dardón
Dr. Ivan Alfaro
Dr. Luis Noel Alfaro Gramajo
Anna Lucia Alfaro Dardón, Harvard MPA/ID.
Opportunities, constraints and challenges for the development of the small and medium enterprise (SME) sector in Central America, with an analytical study of the SME sector in Nicaragua. - focused on the current supply and demand gap for credit and financial services.
Anna Lucía Alfaro Dardón
Dr. Ivan Alfaro
2. Objetivo del programa
ultimo.sh
Se desea extraer información de un archivo tipo LST
que se genera al correr el programa GAMS, y
contiene demasiada información.
Lo que se desea obtener son los siguientes
resultados:
Status del solver
Status del modelo
Valor de la función objetivo
Mejor valor obtenido
Gaps absoluto y relativo:
3. Parámetros necesarios
El programa necesita saber el nombre del archivo
que utilizara, como son 5 instancias parecidas de un
total de 4 tipos, esto se automatizara con la ayuda del
uso de BASH.
El resultado obtenido se re direcciona a los archivos
que llevaran el prefijo
res_nombre_de_la_instancia.txt
El nombre del archivo BASH creado es ultimo.sh
No olvides dar permiso de escritura antes de
ejecutarlo.
4. Antes de ejecutar ultimo.sh
El programa pedirá el numero de unidades básicas y
con eso genera el nombre de la instancoa y ejecuta el
for dentro del bash.
6. Programa ultimo.sh
#!/bin/bash
read
v=$REPLY
echo "numero de unidades basicas: "
for i in 1 2 3 4 5; do
if [ $v -eq "20" ]
then
for j in 2 3; do
awk 'BEGIN {print "R E S U L T A D O S n"} $1 == "****" && $3 == "STATUS" {print $2,$3,":",$5,$6,$7} $2
== "OBJECTIVE" {print $2,$3,$4} $1 == "MIP" && $2 == "status" {print $0} $1 == "Best" {print $0, "nLos
GAP absolutos y relativos son:"} $2 ~ /gap:$/ {print $0} END {print "--------------fin----------------"}'
$"weee_"$v"_"$j"_"$i"_cplex_opt.lst" > "res_weee_"$v"_"$j"_"$i"_cplex_opt.txt"
done
elif [ $v -eq "40" ];
then
for j in 3 4; do
awk 'BEGIN {print "R E S U L T A D O S n"} $1 == "****" && $3 == "STATUS" {print $2,$3,":",$5,$6,$7} $2
== "OBJECTIVE" {print $2,$3,$4} $1 == "MIP" && $2 == "status" {print $0} $1 == "Best" {print $0, "nLos
GAP absolutos y relativos son:"} $2 ~ /gap:$/ {print $0} END {print "--------------fin----------------"}'
$"weee_"$v"_"$j"_"$i"_cplex_opt.lst" > "res_weee_"$v"_"$j"_"$i"_cplex_opt.txt"
done
else
echo "Solo hay instancias con 20 y 40 nodos"
break
fi
echo "Finalizado con $v unidades basicas"
done
7. Archivo de salida
El formato del archivo de salida es el siguinete:
Emacs res_weee_40_3_2_cplex_opt:
RESULTADOS
SOLVER STATUS : RESOURCE INTERRUPT
MODEL STATUS : INTEGER SOLUTION
OBJECTIVE VALUE 0.8000
Best possible: 9.400000
Los GAP absolutos y relativos son:
Absolute gap: 8.600000
Relative gap: 10.750000
--------------fin----------------
8. Objetivo del programa
intento_sed.sh
Se desea obtener la siguiente información de un
archivo tipo LST
Estatus del solver
Estatus del modelo
Valor del gap (fijado por usuario en GAMS)
Gap Absoluto
Gap Relativo
9. Parámetros necesarios
El programa pide al usuario la cantidad de unidades
básicas (solo hay instancias de 20 y 40 nodos). Se
ayudara con una automatización hecha con BASH.
El resultado obtenido se re direcciona a los archivos
que llevaran el nombre:
obtenido_NumNodos_Param_instancia
El nombre del archivo BASH creado es
intento_sed.sh
No olvides dar permiso de escritura antes de
ejecutarlo.
11. Programa intento_sed.sh
#!/bin/bash
echo "numero de unidades basicas: "
read
v=$REPLY
for i in 1 2 3 4 5; do
if [ $v -eq "20" ];
then
for j in 2 3; do
sed -n -e '/STATUS/p' -e '/gap/p' "weee_"$v"_"$j"_"$i"_cplex_opt.lst" > "obtenido_"$v"_"$j"_"$i
done
elif [ $v -eq "40" ];
then
for j in 3 4; do
sed -n -e '/STATUS/p' -e '/gap/p' "weee_"$v"_"$j"_"$i"_cplex_opt.lst" > "obtenido_"$v"_"$j"_"$i
done
else
echo "Solo hay instancias con 20 y 40 nodos"
break
fi
echo "Finalizado con $v unidades basicas"
done
12. Archivo de salida
El formato del archivo d¿es el siguinete:
Emacs obtenido_20_3_5:
**** SOLVER STATUS 1 NORMAL COMPLETION
**** MODEL STATUS 1 OPTIMAL
>> epgap 0.0001
Absolute gap: 0.000000
Relative gap: 0.000000