TK Solver (originalmente TK! Solver ) [1] es un sistema de software de modelado matemático y resolución de problemas basado en un lenguaje declarativo basado en reglas, comercializado por Universal Technical Systems, Inc. [2]
Desarrollador (es) | Artes del software; Sistemas técnicos universales |
---|---|
Lanzamiento estable | 6.0 |
Sistema operativo | Ventanas |
Tipo | Matemáticas / ingeniería |
Sitio web | www |
Historia
Inventado por Milos Konopasek a finales de 1970 y desarrollado inicialmente en 1982 por Software Arts , la compañía detrás de VisiCalc , [1] TK Solver fue adquirida por Universal Technical Systems en 1984 después de que Software Arts cayera en dificultades financieras y fuera vendido a Lotus Software . [3] El objetivo de Konopasek al inventar el concepto TK Solver era crear un entorno de resolución de problemas en el que un modelo matemático dado construido para resolver un problema específico pudiera usarse para resolver problemas relacionados (con una redistribución de variables de entrada y salida) con un mínimo o no se requiere programación adicional: una vez que un usuario ingresa una ecuación, TK Solver puede evaluar esa ecuación tal cual, sin aislar variables desconocidas en un lado del signo igual.
Software Arts también lanzó una serie de " Solverpacks ", "versiones listas para usar de algunas de las fórmulas más comúnmente utilizadas en áreas específicas de aplicación". [4]
El New York Times describió a TK Solver como "para la ciencia y la ingeniería lo que el procesamiento de textos hizo para las comunicaciones corporativas [sic] y los paquetes de cálculo para las finanzas". [1]
Sistemas técnicos universales
Lotus, que había adquirido Software Gardens, incluido TK Solver, en 1984 [3] vendió su propiedad del software a Universal Technical Systems menos de dos años después. [2] La versión 5 todavía se consideraba "uno de los solucionadores de ecuaciones matemáticas más antiguos del mercado actual" en 2012. [5] [6]
Tecnología del núcleo
Las tecnologías centrales de TK Solver son un lenguaje de programación declarativo , un solucionador de ecuaciones algebraicas, [1] un solucionador de ecuaciones iterativas y una interfaz estructurada basada en objetos, que utiliza una estructura de comandos. [1] [7] La interfaz comprende nueve clases de objetos que se pueden compartir y fusionar en otros archivos TK:
- Reglas: ecuaciones, fórmulas, llamadas a funciones que pueden incluir condiciones lógicas.
- Variables: una lista de las variables que se utilizan en las reglas, junto con los valores (numéricos o no numéricos) que han sido ingresados por el usuario o calculados por el software.
- Unidades: todos los factores de conversión de unidades, en una sola ubicación, para permitir la actualización automática de valores cuando se cambian las unidades
- Listas: rangos de valores numéricos y no numéricos que pueden asociarse con una variable o procesarse directamente [1] mediante funciones de procedimiento
- Tablas: colecciones de listas que se muestran juntas
- Gráficos: gráficos de líneas, diagramas de dispersión, gráficos de barras y gráficos circulares
- Funciones: componentes de programación de procedimientos, búsqueda de tablas y basados en reglas
- Formatos: configuración para mostrar valores numéricos y de cadena
- Comentarios: para explicación y documentación
Cada clase de objeto se enumera y almacena en su propia hoja de trabajo: la hoja de reglas, la hoja de variables, la hoja de unidad, etc. Dentro de cada hoja de trabajo, cada objeto tiene propiedades resumidas en subhojas o visualizadas en una ventana de propiedades. La interfaz utiliza barras de herramientas y una barra de navegación jerárquica que se asemeja al árbol de directorios que se ve en el lado izquierdo del Explorador de Windows .
La estructura de programación declarativa está incorporada en las reglas, funciones y variables que forman el núcleo de un modelo matemático. [8]
Reglas, variables y unidades
Todas las reglas se ingresan en la hoja de reglas o en funciones definidas por el usuario. A diferencia de una hoja de cálculo o un entorno de programación imperativa , las reglas pueden estar en cualquier orden o secuencia y no se expresan como declaraciones de asignación. "A + B = C / D" es una regla válida en TK Solver y se puede resolver para cualquiera de sus cuatro variables. Las reglas se pueden agregar y eliminar según sea necesario en la Hoja de reglas sin tener en cuenta su orden e incorporarse a otros modelos. Un modelo de TK Solver puede incluir hasta 32.000 reglas, y la biblioteca que se envía con la versión actual incluye utilidades para matemáticas superiores, estadísticas, ingeniería y ciencias, finanzas y programación.
Las variables de una regla se publican automáticamente en la Hoja de variables cuando se ingresa la regla y la regla se muestra en formato matemático en la ventana Vista MathLook en la parte inferior de la pantalla. Cualquier variable puede operar como entrada o salida, y el modelo [8] se resolverá para las variables de salida dependiendo de la elección de las entradas.
Una base de datos de factores de conversión de unidades también se envía con TK Solver, y los usuarios pueden agregar, eliminar o importar conversiones de unidades de una manera similar a la de las reglas. Cada variable está asociada con una unidad de "cálculo", pero a las variables también se les pueden asignar unidades de "visualización" y TK convierte automáticamente los valores. Por ejemplo, las reglas pueden basarse en metros y kilogramos, pero se pueden utilizar unidades de pulgadas y libras para la entrada y la salida.
Resolución de problemas
TK Solver tiene tres formas de resolver sistemas de ecuaciones. El "solucionador directo" resuelve un sistema algebraicamente por el principio de sustitución consecutiva. Cuando varias reglas contienen múltiples incógnitas, el programa puede activar un solucionador iterativo que utiliza el algoritmo de Newton-Raphson para aproximar sucesivamente en función de las conjeturas iniciales para una o más de las variables de salida. Las funciones de procedimiento también se pueden utilizar para resolver sistemas de ecuaciones. Las bibliotecas de dichos procedimientos se incluyen con el programa y se pueden combinar en archivos según sea necesario. Una función de resolución de listas permite que las variables se asocien con rangos de datos o distribuciones de probabilidad, resolviendo valores múltiples, lo cual es útil para generar tablas y diagramas y para ejecutar simulaciones de Monte Carlo . La versión premium ahora también incluye un "Optimizador de soluciones" para el establecimiento directo de límites y restricciones en la resolución de modelos [8] para condiciones mínimas, máximas o específicas.
TK Solver incluye aproximadamente 150 funciones integradas : cálculo matemático, trigonométrico , booleano , numérico , operaciones matriciales, acceso a la base de datos y funciones de programación, incluido el manejo de cadenas y llamadas a rutinas compiladas externamente. Los usuarios también pueden definir tres tipos de funciones: funciones de reglas declarativas; funciones de lista, para búsquedas en tablas y otras operaciones que involucran pares de listas; y funciones de procedimiento, para bucles y otras operaciones de procedimiento que también pueden procesar o dar como resultado matrices (listas de listas). Se incluye la base de datos NIST completa de propiedades termodinámicas y de transporte, con funciones integradas para acceder a ella. TK Solver es también la plataforma para aplicaciones de ingeniería comercializadas por UTS, [9] que incluyen diseño avanzado de resortes, software de engranajes integrado, fórmulas interactivas de Roark, transferencia de calor en TK y análisis de dinámica y vibración.
Visualización y uso compartido de datos
Se pueden utilizar tablas, gráficos, comentarios y la herramienta de visualización de notación MathLook para enriquecer los modelos de TK Solver. Los modelos se pueden vincular a otros componentes con las herramientas de Microsoft Visual Basic y .NET , o se pueden habilitar para la web usando el producto RuleMaster o vincularse con hojas de cálculo de Excel usando el producto Excel Toolkit. También hay una opción DesignLink que vincula los modelos de TK Solver con dibujos CAD y modelos sólidos. En la versión premium, los modelos independientes se pueden compartir con otros que no tienen una licencia TK, abriéndolos en Excel o en el TK Player gratuito.
Recepción
BYTE en 1984 declaró que "TK! Solver es excelente para resolver casi cualquier tipo de ecuación", pero que no maneja matrices y que un lenguaje de programación como Fortran o APL era superior para la solución simultánea de ecuaciones lineales . La revista concluyó que a pesar de las limitaciones, era una "herramienta poderosa, útil para científicos e ingenieros. No existe un producto similar". [10] En la versión 5.0, TK Solver agregó la funcionalidad de manejo de Matrix. [6]
Productos competitivos aparecieron a mediados de 1988: Mathsoft de Mathcad y Borland 's Eureka: El Solver . [11] [12] [13]
Dan Bricklin , conocido por VisiCalc y el desarrollo inicial de TK Solver de Software Arts , fue citado diciendo que el mercado "no era tan grande como pensábamos porque no mucha gente piensa en ecuaciones". [13]
Ver también
- Optimización (matemáticas)
- Optimización de diseño multidisciplinar
Referencias
- ↑ a b c d e f Erik Sandberg-Diment (2 de agosto de 1983). "Nuevo software para ciencia e ingeniería" . The New York Times . Consultado el 23 de julio de 2019 . CS1 maint: parámetro desalentado ( enlace )
- ^ a b "Briefs: Lotus vendió su programa de software TKSolver a Universal Technical Systems" . The New York Times . 1 de enero de 1986.
- ^ a b David E. Sanger (9 de abril de 1985). "Lotus Set para adquirir Software Arts" . The New York Times .
- ^ Erik Sandberg-Diment (9 de agosto de 1983). "Fórmulas listas para usar de finanzas a la física" . The New York Times .
- ^ "TK Solver R5" . Resortes . Instituto de Fabricantes de Primavera. Verano de 2012.
- ^ a b "TK Solver 5.0 Premium (independiente) de Universal Technical Systems" . uts.com . Consultado el 20 de abril de 2017 .
- ^ / M para mover, / I para insertar ... "transferido de Visicalc".
- ^ a b c Nirmala Khandan (2001). Herramientas de modelado para ingenieros y científicos ambientales . ISBN 1420003399.
- ^ "TK! Solver Plus de Universal Technical Systems" . Revista de PC . 14 de marzo de 1989. p. 310. ¡
Hay mucho que admirar en TK de $ 395 de Universal Technical Systems! Solver Plus ...
- ^ Miller, Alan R. (diciembre de 1984). "¡TK! Solucionador" . BYTE . págs. 263-272.
- ^ Ronald Shone, "Software para resolver ecuaciones: Eureka: The Solver, TK Solver Plus y Mathcad", Journal of Economic Surveys 3 : 1: 83–95 ‹Ver Tfd› doi : 10.1111 / j.1467-6419.1989.tb00059.x (Marzo de 1989)
- ^ "Mathcad, de Mathsoft Inc. de Cambridge, Mass .; Eureka, de Borland International de Scotts Valley, California.
- ^ a b Andrew Pollack (24 de junio de 1988). "Lo último de un científico superior: software de matemáticas" . The New York Times .