¿qué son los programas optimizadores?
“ejemplos de optimización de código”
La optimización comenzó a perfeccionarse gradualmente a mediados del siglo XIX en inglés, cuando derivó de optimize, una palabra utilizada por primera vez a principios de ese mismo siglo con el significado de “hacer lo mejor o lo más posible”. En sus aplicaciones básicas, la optimización se refiere al acto o proceso de hacer que algo sea lo mejor posible. En el siglo XXI, se ha utilizado mucho en contextos técnicos relacionados con la obtención de la mejor funcionalidad posible, como en la “optimización de redes” y la “optimización de motores de búsqueda” (SEO). Al igual que las palabras óptimo y optimismo (que se refieren, respectivamente, a la cantidad o el grado de algo que es mejor o más eficaz, y a un sentimiento o creencia de que sucederán cosas buenas en el futuro), optimizar y optimización derivan del latín optimus, que significa “mejor”.
Y en una época que fetichiza el minimalismo, el upcycling y la autooptimización constante, la vida del coleccionista es un recordatorio de que, de hecho, no hay ningún imperativo moral para la acumulación o la renuncia de objetos.
Los algoritmos de optimización de rutas están reduciendo el kilometraje y acelerando las tasas de entrega, mientras que la computación cuántica basada en la nube puede calcular las rutas óptimas a partir de millones de datos en tiempo real sobre la congestión del tráfico.
Técnicas de optimización
Este artículo puede contener una investigación original. Por favor, mejórelo verificando las afirmaciones realizadas y añadiendo citas en línea. Las afirmaciones que sólo consisten en una investigación original deben ser eliminadas. (Septiembre de 2016) (Aprende cómo y cuándo eliminar este mensaje de la plantilla)
Esta sección necesita citas adicionales para su verificación. Por favor, ayude a mejorar este artículo añadiendo citas de fuentes fiables. El material sin fuente puede ser cuestionado y eliminado. (Febrero de 2018) (Aprende cómo y cuándo eliminar este mensaje de la plantilla)
En informática, la optimización de programas, la optimización de código o la optimización de software es el proceso de modificación de un sistema de software para hacer que algún aspecto del mismo funcione de manera más eficiente o utilice menos recursos[1]. En general, un programa de ordenador puede ser optimizado para que se ejecute más rápidamente, o para que sea capaz de operar con menos memoria de almacenamiento u otros recursos, o consuma menos energía.
Aunque la palabra “optimización” comparte la misma raíz que “óptimo”, es raro que el proceso de optimización produzca un sistema realmente óptimo. Por lo general, un sistema puede hacerse óptimo no en términos absolutos, sino sólo con respecto a una métrica de calidad determinada, que puede estar en contraste con otras métricas posibles. En consecuencia, el sistema optimizado suele ser óptimo sólo en una aplicación o para un público. Es posible que se reduzca el tiempo que tarda un programa en realizar alguna tarea a costa de que consuma más memoria. En una aplicación en la que el espacio de memoria es escaso, se puede elegir deliberadamente un algoritmo más lento para utilizar menos memoria. A menudo no existe un diseño “único” que funcione bien en todos los casos, por lo que los ingenieros hacen concesiones para optimizar los atributos de mayor interés. Además, el esfuerzo necesario para hacer que un programa sea completamente óptimo -incapaz de mejorar- es casi siempre mayor que el razonable para los beneficios que se obtendrían, por lo que el proceso de optimización puede detenerse antes de llegar a una solución completamente óptima. Afortunadamente, las mejoras más importantes suelen producirse al principio del proceso.
El mejor software de optimización
La optimización matemática, también conocida como programación matemática, es una ayuda para la toma de decisiones que se utiliza a gran escala en todos los sectores. Se utilizan técnicas analíticas avanzadas para encontrar el mejor valor de las entradas a partir de un conjunto determinado, especificado por los límites físicos del problema y las restricciones del usuario. La calidad del resultado se mide por una métrica del usuario proporcionada como una función escalar de las entradas. Los problemas de optimización provienen de una gran variedad de campos e industrias, como la optimización o calibración de carteras en finanzas, la optimización estructural en ingeniería, el ajuste de datos en la predicción meteorológica, la estimación de parámetros en química y muchos más.
En el post anterior hablamos de las formas de proporcionar derivadas y nos centramos en una aproximación por diferencias finitas (FD). Esta vez abordamos, con más detalle, los algoritmos que no requieren derivadas ni las aproximan internamente mediante diferencias finitas. Esta clase de algoritmos de optimización suele denominarse optimización sin derivadas (DFO).
Ejemplos de software de optimización
Este artículo puede contener una investigación original. Por favor, mejórelo verificando las afirmaciones realizadas y añadiendo citas en línea. Las afirmaciones que sólo consisten en investigación original deben ser eliminadas. (Septiembre de 2016) (Aprende cómo y cuándo eliminar este mensaje de la plantilla)
Esta sección necesita citas adicionales para su verificación. Por favor, ayude a mejorar este artículo añadiendo citas de fuentes fiables. El material sin fuente puede ser cuestionado y eliminado. (Febrero de 2018) (Aprende cómo y cuándo eliminar este mensaje de la plantilla)
En informática, la optimización de programas, la optimización de código o la optimización de software es el proceso de modificación de un sistema de software para hacer que algún aspecto del mismo funcione de manera más eficiente o utilice menos recursos[1]. En general, un programa de ordenador puede ser optimizado para que se ejecute más rápidamente, o para que sea capaz de operar con menos memoria de almacenamiento u otros recursos, o consuma menos energía.
Aunque la palabra “optimización” comparte la misma raíz que “óptimo”, es raro que el proceso de optimización produzca un sistema realmente óptimo. Por lo general, un sistema puede hacerse óptimo no en términos absolutos, sino sólo con respecto a una métrica de calidad determinada, que puede estar en contraste con otras métricas posibles. En consecuencia, el sistema optimizado suele ser óptimo sólo en una aplicación o para un público. Es posible que se reduzca el tiempo que tarda un programa en realizar alguna tarea a costa de que consuma más memoria. En una aplicación en la que el espacio de memoria es escaso, se puede elegir deliberadamente un algoritmo más lento para utilizar menos memoria. A menudo no existe un diseño “único” que funcione bien en todos los casos, por lo que los ingenieros hacen concesiones para optimizar los atributos de mayor interés. Además, el esfuerzo necesario para hacer que un programa sea completamente óptimo -incapaz de mejorar- es casi siempre mayor que el razonable para los beneficios que se obtendrían, por lo que el proceso de optimización puede detenerse antes de llegar a una solución completamente óptima. Afortunadamente, las mejoras más importantes suelen producirse al principio del proceso.