Los ingenieros, los ordenadores y mil un indios

Los ingenieros, los ordenadores y «mil un indios». Un título algo ambiguo para algo tan sencillo como que es posible que nuestros ingenieros más jóvenes hayan perdido cierta habilidad en la resolución y cálculo de problemas debido al uso masivo de los ordenadores y las nuevas tecnologías. Primero veamos el chiste (que espero que nadie se sienta mal), y luego reflexionemos un poco.

- !Mi General!
- !Sí!
- !Nos atacan mil un indios!
- ... oiga, Toto? Y cómo sabe que son mil uno?
- Porque viene uno adelante... !y cómo mil atrás!

El 23 de febrero de 2012 tuvo lugar un panel-debate en el seno del VI Congreso Nacional de la Ingeniería Civil, celebrado en Valencia. Allí, Gozard Humar, presidente del European Council of Civil Engineers (ECCE), en una de sus intervenciones respondiendo a un debate generado por el público asistente, vino a decir que se debería prohibir en los primeros cursos de ingeniería el uso de ordenadores, pues estas herramientas atrofian la capacidad intuitiva y de cálculo de los futuros profesionales. Algo de razón no le falta a este representante europeo de la ingeniería civil.

«Al hombre instruido le caracteriza el buscar en los problemas aquella precisión que por su naturaleza admiten, por tanto tan necio es aceptar razonamientos imprecisos de un matemático como pedir demostraciones científicas a un retórico«. Aristóteles

El abandono de la regla de cálculo por la calculadora electrónica, luego por la programable y, por último, el uso masivo del ordenador por parte de los alumnos ha traído, por una parte, las ventajas abrumadoras del empleo de las tecnologías de la información y la comunicación en el ámbito de la ingeniería. Pero, por otro lado, hoy resulta complicado encontrar alumnos capaces de hacer a mano una raíz cuadrada o cualquier cálculo simple sin el uso de una calculadora. No es difícil encontrar anécdotas de jóvenes ingenieros que, ante problemas más o menos complicados, se encierran con el ordenador para buscar una solución “con diez decimales” y luego un ingeniero sénior o un catedrático avezado encuentra algún error de bulto en la solución, haciendo un “cálculo de servilleta” y usando lo que viene a ser “números gordos”. A veces un método sencillo, aunque algo impreciso, es suficiente para encuadrar el orden de magnitud de un problema.

Imaginemos que se le pide a uno de nuestros alumnos que calcule el número de latidos del corazón de un hombre a lo largo de su vida. Si acaba de aprobar la asignatura de Estadística, lo que hará será calcular la esperanza de vida media, con una desviación típica determinada. Lo mismo deberá hacer con el número de latidos. Se pondrá nervioso porque no encuentra datos, pero al final, nos dará una cifra (probablemente con varios decimales).

Suponiendo que el año tiene 400 días, un día tiene 25 horas y cada hora tiene 60 minutos, el número aproximado de minutos en un año es de 6 × 10^5.  El número aproximado de minutos en 70 años (suponiendo que es esta la vida media) es de 4 × 10^7 minutos. Si las pulsaciones medias son de 70 al minuto, el resultado será de 10^9.

¿Y si la vida promedio se estimase en 80 años en vez de 70? El número de minutos en 80 años sería de 5 × 10^8, lo que implica que el resultado sigue en el orden de magnitud de 10^9.

Otra idea que ya no se suele utilizar debido al abuso de las calculadoras: el concepto de cifras significativas. Esto está muy relacionado con los «mil un indios».

Supongamos que pedimos a nuestros futuros ingenieros que hallen la superficie de una habitación cuadrada de 10,46 m de lado. Tenemos dos decimales porque la precisión es de 1 cm. Es decir, que realmente el lado podría medir 10,45 m o 10,46 m. El resultado más probable que nos darían sería 109,4116 m², lo cual no es correcto. Deberíamos haber respondido 109,4 m². Nos olvidamos del siguiente hecho: cuando se multiplican cantidades, el número de cifras significativas en la respuesta final es igual al de la cantidad con menos cifras significativas. Dicha regla se aplica también a la división. Otro ejemplo: el área de un círculo de 6,0 cm de radio no debería expresarse como 113 cm², puesto que esta respuesta tiene 3 cifras significativas, mientras que el radio solo tiene 2. El resultado aceptable sería 1,1 × 10^2 cm².

Lo mismo le pasa a la suma y a la resta, aunque aquí la regla es distinta: cuando los números se sumen o se resten, el número de lugares decimales en el resultado debe ser igual al número de lugares decimales más pequeño de cualquier término de la suma. Así, 150 + 12,35 debería ser 162 y no 162,35.

¿Cómo reducimos el número de cifras significativas? Se puede usar el redondeo: si el último dígito eliminado es mayor que 5, se incrementa en 1. Si es menor que 5, se reduce en 1. En el caso de que el último dígito eliminado sea igual a 5, el dígito restante debe redondearse al número par más cercano. Esta regla ayuda a evitar la acumulación de errores en procesos aritméticos largos. Otra técnica para evitar la acumulación de errores es demorar el redondeo en el cálculo hasta obtener la respuesta final de la calculadora, antes de redondear al número correcto de cifras significativas.

Como pasatiempo: ¿cuánto hormigón sería necesario para construir un muro de hormigón armado? Dos formas de abordarlo, mediante el cálculo exhaustivo o bien con un número gordo. Os dejo la solución del número gordo para pasatiempo y, un día de estos, os la cuento. Es muy fácil.

¿Qué es la investigación operativa?

La investigación de operaciones, o investigación operativa, es una rama de las matemáticas que consiste en el uso de modelos matemáticosestadística y algoritmos con objeto de modelar y resolver problemas complejos , determinando la solución óptima y permitiendo, de este modo, tomar decisiones.  Frecuentemente, se trata del estudio de complejos sistemas reales, con la finalidad de mejorar (u optimizar) su funcionamiento. La investigación de operaciones permite el análisis de la toma de decisiones teniendo en cuenta la escasez de recursos, para determinar cómo se puede optimizar un objetivo definido, como la maximización de los beneficios o la minimización de costos.

Aunque su nacimiento como ciencia se establece durante la Segunda Guerra Mundial y debe su nombre a las operaciones militares, los verdaderos orígenes de la Investigación Operativa se remontan mucho más atrás en el tiempo, hasta el siglo XVII. Esta disciplina nació en Inglaterra durante la Segunda Guerra Mundial como estrategia para encontrar soluciones a problemas militares, lo cual requirió crear un Grupo de Investigación de Operaciones Militares compuesto por científicos multidisciplinares. Al terminar la guerra, este método se empleó para resolver problemas generales como el control de inventarios, la asignación de recursos y las líneas de espera, entre otros. Esta técnica cumplió sus objetivos en las décadas de los cincuenta y sesenta, hasta su pleno desarrollo en la actualidad. Sin embargo, su auge se debe en gran medida al desarrollo de la informática, gracias a la cual es posible resolver problemas y obtener soluciones que, de otra forma, conllevarían un enorme tiempo de cálculo. Debido a su éxito, la investigación operativa se extendió a otros campos, como la industria, la física, la informática, la economía, la estadística y la probabilidad, la ecología, la educación, el servicio social, entre otros, y actualmente se utiliza prácticamente en todas las áreas. Algunos de los promotores más importantes de la filosofía y la aplicación de la investigación de operaciones son C.W. Entre ellos se encuentran Churchman, R. L. Ackoff y R. Bellman. Actualmente, la investigación operativa incluye una gran cantidad de ramas, como la programación lineal, la programación no lineal, la programación dinámica, la simulación, la teoría de colas, la teoría de inventarios, la teoría de grafos, etc.

Os presento ahora un vídeo sobre el tema que no llega a 3 minutos de duración. Espero que os guste.

Licencia de Creative Commons
Esta obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-SinObraDerivada 4.0 Internacional.

Automatic design of concrete vaults using iterated local search and extreme value estimation

La optimización de estructuras reales de hormigón armado constituye un campo de gran interés no solo en la investigación, sino también en la aplicación real en obra. Os paso un artículo reciente que explica una forma de optimizar bóvedas de hormigón empleadas habitualmente en pasos inferiores, como falsos túneles. Los ahorros que se pueden conseguir, en este caso, han sido de un 7% respecto a un diseño tradicional. En el caso de obras lineales de gran longitud, los ahorros pueden ser nada despreciables. La revista Latin American Journal of Solids and Structures es en abierto, de donde podéis descargar este y otros artículos de interés.

Pincha aquí para descargar

 

Licencia de Creative Commons
Esta obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-SinObraDerivada 4.0 Internacional.

¿Qué es un algoritmo?

Algoritmo de Euclides
Algoritmo de Euclides

Un algoritmo es un conjunto de reglas o instrucciones bien definidas para resolver un problema. En general, se trata de encontrar el método más “eficiente”, no siendo baladí el modo de medir dicha eficiencia. Para resolver esta circunstancia, en la década de los 70 numerosos científicos se interesaron por la complejidad computacional de los problemas y de los algoritmos. En muchos casos, se asimila el rendimiento algorítmico a la medida del tiempo medio de ejecución de un procedimiento al completar su operación con un conjunto de datos. Además, es posible relacionar el esfuerzo de cálculo con la dimensión del problema a resolver.

Un algoritmo tiene complejidad polinómica si requiere tiempo O(nk), donde n es la dimensión de entrada y k es una constante independiente de n. Si la función que denota la complejidad no está acotada por un polinomio, el algoritmo presenta una complejidad en tiempo exponencial.

Un problema de decisión es aquel que puede ser resuelto con una afirmación o una negación. Llamemos P a la clase de problemas de decisión que pueden ser resueltos en tiempo cálculo que crece de forma polinomial ante incrementos lineales del número de elementos que intervienen, y NP aquellos solubles en un tiempo polinomial indeterminado, es decir, que se puede resolver en tiempo polinomial con una máquina Turing no determinística (ordenador). Un ordenador no determinístico puede considerarse un autómata capaz de ejecutar un número ilimitado (pero finito) de ejecuciones en paralelo. Solo los problemas en P son resolubles eficientemente mediante algoritmos, no conociéndose un procedimiento polinomial de resolución para los NP, siendo obvio que P pertenezca NP. Si lo contrario también ocurriera, P pertenecería a NP, querría decir que para la mayoría de los problemas de interés existen algoritmos eficientes que los resolvieran. Sin embargo, no se conoce la forma de demostrar que la igualdad P=NP sea cierta, ni tampoco que haya problemas en NP que no estén en P, es decir, la existencia de algún problema en NP que no se pueda resolver en tiempo polinómico (ver Díaz et al., 1996).

Se dice que un problema X es NP-completo (NPC) si cualquier problema en NP puede transformarse en X en tiempo polinomial. En este sentido, los NPC son una clase de problemas en NP muy difíciles. Si un solo problema en NPC se resolviera en tiempo polinomial, entonces todos los problemas NP también lo harían, lo cual no está demostrado a fecha de hoy. Sin embargo, no es necesario demostrar que un problema pertenece a NP para ofrecer evidencias de que es imposible resolverlo eficientemente. Sea Y un problema de decisión que no se conoce si es NP. Si un problema en NP-completo puede transformarse en Y, entonces Y no puede resolverse en tiempo polinomial (salvo que se demuestre que P=NP). Este problema Y sería como mínimo tan difícil como los NPC, llamándose NP-hard (NPH). Es decir, pueden existir problemas NPH que no sean NPC. A efectos prácticos, únicamente nos interesa confirmar la NP-dificultad de un problema.

En la vida real existen numerosos problemas prácticos para los cuales se desconocen algoritmos eficientes (Yepes, 2002), pero cuya dificultad intrínseca no ha conseguido demostrar nadie. Es posible que existan realmente algoritmos eficientes, aunque también puede ocurrir que estos problemas sean intrínsecamente difíciles; no obstante, se carece de las técnicas necesarias para demostrarlo. La importancia práctica de estos problemas ha asegurado que cada uno de ellos, por separado, haya sido objeto de esfuerzos sostenidos para hallar un método de solución eficiente. Por este motivo, se cree que no existen tales algoritmos. Como nadie, de momento, ha encontrado algoritmos eficientes para los problemas NP-completos, en cuanto se demuestra que un problema pertenece a esta clase, muchos investigadores tienden a pensar que no merece la pena buscar algoritmos eficientes para ellos. Lamentablemente, muchos de los problemas importantes que surgen en la investigación operativa son NP-completos. En Garey y Johnson (1979) se presenta una visión más completa de la complejidad computacional.

REFERENCIAS

DÍAZ, A.; GLOVER, F.; GHAZIRI, H.M.; GONZÁLEZ, J.L.; LAGUNA, M.; MOSCATO, P.; TSENG, F.T. (1996). Optimización Heurística y Redes Neuronales en Dirección de Operaciones e Ingeniería. Paraninfo, Madrid. 235 pp.

GAREY, M.R.; JOHNSON, D.S. (1979). Computers and Intractability – A Guide to the Theory of NP-Completeness. W. H. Freeman and Company.

YEPES, V. (2002). Optimización heurística económica aplicada a las redes de transporte del tipo VRPTW. Tesis Doctoral. Escuela Técnica Superior de Ingenieros de Caminos, Canales y Puertos. Universitat Politècnica de València. 352 pp. ISBN: 0-493-91360-2. (pdf)

Licencia de Creative Commons
Esta obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-SinObraDerivada 4.0 Internacional.