miércoles, 15 de abril de 2015

¿Cómo colocar las monedas?

La otra vez vi este problema:

donde el objetivo es colocar las 9 monedas (3 de 0.01, 3 de 0.05 y 3 de 0.10) de manera que den las sumas tanto en filas como columnas.

Decidí resolverlo con programación entera.

Y obtuve este resultado:

0.01
0.05
0.05
0.1
0.01
0.01
0.1
0.1
0.05



¿Cuál sería tu enfoque?

¿Cuál es la fecha del cumpleaños?


Recientemente en los diarios apareció la noticia de un problema de lógica de Singapur, considerado como uno de los más difíciles de resolver.

Sin embargo mi interés fue darle un enfoque con diagramas:


Al inicio Albert (que solo sabe el mes) dice que no sabe cuando es el cumpleaños pero que está seguro que el que sabe el día tampoco lo puede deducir, por lo que las fechas con 18 y 19 quedan descartadas (donde está la única opción de con el día saber la fecha completa)


Pero a su vez esto se daría (saber que el que sabe el día podría deducir por si solo la fecha completa) solo si el mes que escuchó fue Mayo o Junio, lo cual también descarta opciones en esos meses.


Luego Bernard (que solo sabe el día) dice que al inicio no sabía cuando era, pero que ahora ya está seguro, lo cual elimina al día 14 que podría estar en dos meses.


Y dado que  el otro dice, entonces yo también estoy seguro, implica que no hay lugar para dos opciones sea que conozcas el día o el mes, lo que descarta a Agosto.

Y así la única opción es 16 de julio.


En Facebook podrá encontrar el problema.




miércoles, 18 de marzo de 2015

¿Un capítulo estudiantil (Student Chapter) de INFORMS en la UNMSM?

Recientemente manifesté mi interés a INFORMS de que al menos un trabajo de los solicitados para un concurso que vienen organizando, salga de la UNMSM.

El concurso es el siguiente:
Undergraduate Operations Research Prize (y los trabajos deben ser presentados hasta el 1º de julio de este año).
Lo interesante es que mi comentario tuvo una respuesta donde me informaron de dos premios adicionales también para estudiantes:
  1. The Doing Good With Good OR Student Paper Competition 
  2. The George Nicholson Student Paper Competition 
(information can be found here: https://www.informs.org/Recognize-Excellence/INFORMS-Prizes-Awards)

Pero adicionalmente me dejó una inquietud y es la de crear un capítulo de estudiantes de IO en la UNMSM. Qué dicen... ¿será viable? Para empezar ¿tendremos participantes de la UNMSM en alguno de las competencias anteriores? ¿cómo vamos con el inglés?


miércoles, 28 de enero de 2015

Gráfico de Cajas con HTML5 (Canvas) y en Excel (Box & Whisker Plot)

Es interesante ver como programas actuales como el Excel no permiten elaborar en forma simple un gráfico de cajas (Box &Whisker Plot) y si bien aún con dificultad es posible graficarlo, se complica más la cosa si se pretende hacer en otra herramienta que no lo tenga dentro de su librería gráfica.


Dado el reto me propuse hacerlo con HTML5, del cual se muy poco o nada y logré hacer una página web, que reciba los 5 parámetros de cada gráfico que se quiere mostrar y que al final lo presente en pantalla.

Comparto mi descubrimiento tanto en Excel donde al final no me salió tan elegante, como en HTML5 donde si se puede ver algo mejor. Al final el resultado fue crear una función, cuyo parámetro sería el único punto a cambiar si se desea copiar el código en una aplicación que pueda generar y mostrar código HTML.


Una vez cargada la página, pueden ver el código fuente y revisar cómo se programó la misma para obtener ese resultado. Se pueden graficar una o más cajas, solo hay que ingresar los cinco puntos (bigotes, cuartiles 1 y 3 así como la mediana) de cada caja deseada separado de comas, ej. para tres cajas: 12,20,35,41,44,18,33,55,69,78, 12,44, 56, 70, 95. El programita calcula el número de cajas de acuerdo a cuantos puntos se ingresen, tampoco importa el orden en que se brindaron los datos de cada caja pues el primer paso que realiza es el de ordenar los datos.

La gráfica poder ser visible en cualquier navegador que soporte HTML5 (Chrome, Internet Explorer), no requiere Java.

Para descargar los documentos: