TK Solver - TK Solver

TK Solver
Разработчики)Программное обеспечение; Универсальные технические системы
Стабильный выпуск
5.0
Операционная системаWindows
ТипМатематика / инженерия
Интернет сайтwww.uts.com

TK Solver (первоначально TK! Solver)[1] - это программная система для математического моделирования и решения проблем, основанная на декларативном языке, основанном на правилах, коммерциализируемая Universal Technical Systems, Inc.[2]

История

Изобретенный Милош Конопасек в конце 1970-х годов и первоначально разработанная в 1982 году Программное обеспечение, компания, стоящая за VisiCalc,[1] TK Solver была приобретена Universal Technical Systems в 1984 году после того, как Software Arts столкнулась с финансовыми трудностями, и была продана компании Программное обеспечение Lotus.[3] Целью Конопасека при изобретении концепции TK Solver было создание среды решения проблем, в которой заданная математическая модель, построенная для решения конкретной проблемы, могла бы использоваться для решения связанных проблем (с перераспределением входных и выходных переменных) с минимальным дополнительным программированием или без него. требуется: как только пользователь вводит уравнение, TK Solver может оценить это уравнение как есть - без выделения неизвестных переменных по одну сторону от знака равенства.

Software Arts также выпустила серию "Solverpacks«-» готовые версии некоторых формул, наиболее часто используемых в определенных областях применения ».[4]

Нью-Йорк Таймс описал TK Solver как «для науки и техники то же, что обработка текста сделала для корпоративных коммуникаций [sic], а пакеты calc сделали для финансов».[1]

Универсальные технические системы

Lotus, которая приобрела Software Gardens, включая TK Solver, в 1984 г.[3] менее чем два года спустя продала свою собственность на программное обеспечение компании Universal Technical Systems.[2] Версия 5 по-прежнему считалась «одним из самых давних на рынке средств решения математических уравнений» в 2012 году.[5][6]

Основная технология

Основные технологии TK Solver - декларативное программирование язык, решатель алгебраических уравнений,[1] итеративное средство решения уравнений и структурированный объектно-ориентированный интерфейс, использующий структуру команд.[1][7] Интерфейс включает девять классов объектов, которые могут использоваться совместно и объединяться в другие файлы TK:

  • Правила: уравнения, формулы, вызовы функций, которые могут включать логические условия.
  • Переменные: список переменных, используемых в правилах, вместе со значениями (числовыми или нечисловыми), которые были введены пользователем или рассчитаны программным обеспечением.
  • Единицы: все коэффициенты преобразования единиц в одном месте, чтобы обеспечить автоматическое обновление значений при изменении единиц.
  • Списки: диапазоны числовых и нечисловых значений, которые могут быть связаны с переменной или обработаны напрямую.[1] по функциям процедуры
  • Таблицы: совокупность списков, отображаемых вместе
  • Графики: линейные диаграммы, диаграммы рассеяния, гистограммы и круговые диаграммы
  • Функции: основанные на правилах, поиск по таблицам и компоненты процедурного программирования
  • Форматы: настройки для отображения числовых и строковых значений
  • Комментарии: для объяснения и документации

Каждый класс объектов перечислен и хранится на своем собственном рабочем листе - лист правил, переменный лист, единичный лист и т. Д. В каждом рабочем листе каждый объект имеет свойства, обобщенные на подлистах или просматриваемые в окне свойств. В интерфейсе используются панели инструментов и иерархическая панель навигации, напоминающая дерево каталогов в левой части окна. проводник Виндоус.

Структура декларативного программирования воплощена в правилах, функциях и переменных, которые составляют основу математической модели.[8]

Правила, переменные и единицы

Все правила вводятся в таблице правил или в пользовательских функциях. В отличие от электронной таблицы или императивное программирование среды, правила могут быть в любом порядке или последовательности и не выражаются как операторы присваивания. «A + B = C / D» является допустимым правилом в TK Solver и может быть решено для любой из четырех переменных. Правила могут быть добавлены и удалены по мере необходимости в Таблице правил без учета их порядка и включены в другие модели. Модель TK Solver может включать до 32 000 правил, а библиотека, поставляемая с текущей версией, включает утилиты для высшей математики, статистики, инженерии и естественных наук, финансов и программирования.

Переменные в правиле автоматически публикуются в таблице переменных при вводе правила, и правило отображается в математическом формате в окне MathLook View в нижней части экрана. Любая переменная может работать как вход или выход, а модель[8] будет решаться для выходных переменных в зависимости от выбора входов.

База данных коэффициентов преобразования единиц также поставляется с TK Solver, и пользователи могут добавлять, удалять или импортировать преобразования единиц таким же образом, как и для правил. Каждая переменная связана с единицей «вычисления», но переменным также могут быть назначены единицы «отображения», и TK автоматически преобразует значения. Например, правила могут быть основаны на метрах и килограммах, но для ввода и вывода можно использовать единицы измерения в дюймах и фунтах.

Решение проблем

У TK Solver есть три способа решения систем уравнений. «Прямой решатель» решает систему алгебраически по принципу последовательной подстановки. Когда несколько правил содержат несколько неизвестных, программа может запустить итеративный решатель, который использует Ньютон-Рафсон алгоритм последовательного приближения на основе начальных предположений для одной или нескольких выходных переменных. Процедурные функции также могут использоваться для решения систем уравнений. Библиотеки таких процедур включены в программу и могут быть объединены в файлы по мере необходимости. Функция решателя списков позволяет связывать переменные с диапазонами данных или распределениями вероятностей, решая для нескольких значений, что полезно для создания таблиц и графиков и для запуска Моделирование Монте-Карло. Премиум-версия теперь также включает «Оптимизатор решения» для прямой установки границ и ограничений при решении моделей.[8] для минимальных, максимальных или определенных условий.

TK Solver включает около 150 встроенных функции: математический, тригонометрический, Булево, числовое исчисление, матричные операции, база данных доступ и функции программирования, включая обработку строк и вызовы внешне скомпилированных подпрограмм. Пользователи также могут определять три типа функций: функции декларативных правил; функции списков для поиска в таблицах и других операций с парами списков; и процедурные функции, для циклов и других процедурных операций, которые также могут обрабатывать или приводить к массивам (спискам списков). Полный NIST база данных термодинамических и транспортных свойств включена, со встроенными функциями для доступа к ней. TK Solver также является платформой для инженерных приложений, продаваемых UTS,[9] включая Advanced Spring Design, Integrated Gear Software, интерактивные формулы Рорка, теплопередачу на TK, а также анализ динамики и вибрации.

Отображение и обмен данными

Таблицы, графики, комментарии и инструмент отображения нотации MathLook можно использовать для обогащения моделей TK Solver. Модели могут быть связаны с другими компонентами с помощью Microsoft Visual Basic и .СЕТЬ инструменты, или они могут быть включены в Интернет с помощью продукта RuleMaster или связаны с Excel электронные таблицы с использованием продукта Excel Toolkit. Существует также опция DesignLink, связывающая модели TK Solver с чертежами САПР и твердотельными моделями. В премиум-версии автономными моделями можно поделиться с другими пользователями, у которых нет лицензии TK, открыв их в Excel или бесплатном TK Player.

Прием

БАЙТ в 1984 году заявил, что «TK! Solver превосходно подходит для решения практически любых уравнений», но он не справлялся матрицы, и что такой язык программирования, как Фортран или же APL был лучше для совместное решение линейных уравнений. Журнал пришел к выводу, что, несмотря на ограничения, это «мощный инструмент, полезный для ученых и инженеров. Подобного продукта не существует».[10]

Хотя по версии 5.0 TK Solver добавлена ​​функция обработки матриц,[6] к середине 1988 г. другие товары[11][12] вышла на рынок. Дэн Бриклин, известный VisiCalc и его Программное обеспечение При первоначальной разработке TK Solver было сказано, что рынок «не был таким большим, как мы думали, потому что не так много людей думают уравнениями».[12]

Смотрите также

Рекомендации

  1. ^ а б c d е ж Эрик Сандберг-Димент (2 августа 1983 г.). «Новое программное обеспечение для науки и техники». Нью-Йорк Таймс. Получено 23 июля, 2019.
  2. ^ а б «Краткие сведения: Lotus продала свою программу TKSolver компании Universal Technical Systems». Нью-Йорк Таймс. 1 января 1986 г.
  3. ^ а б Дэвид Э. Сэнджер (9 апреля 1985 г.). "Lotus собирается приобрести Software Arts". Нью-Йорк Таймс.
  4. ^ Эрик Сандберг-Димент (9 августа 1983 г.). «Готовые формулы от финансов до физики». Нью-Йорк Таймс.
  5. ^ «ТК Солвер Р5». Спрингс. Институт производителей пружин. Лето 2012 г.
  6. ^ а б «TK Solver 5.0 Premium (автономный) от Universal Technical Systems». uts.com. Получено 20 апреля, 2017.
  7. ^ / M для перемещения, / I для вставки ... "перенесено из Visicalc".
  8. ^ а б c Нирмала Хандан (2001). Инструменты моделирования для инженеров-экологов и ученых. ISBN  1420003399.
  9. ^ "Универсальные Технические Системы" ТК! Солвер Плюс ". Журнал ПК. 14 марта 1989 г. с. 310. В $ 395 TK компании Universal Technical Systems есть чем восхищаться! Solver Plus ...
  10. ^ Миллер, Алан Р. (декабрь 1984 г.). "ТЗ! Решатель". БАЙТ. С. 263–272.
  11. ^ "Mathcad от Mathsoft Inc. из Кембриджа, Массачусетс; Eureka от Borland International из Скоттс-Вэлли, Калифорния.
  12. ^ а б Эндрю Поллак (24 июня 1988 г.). «Последние новости ведущих ученых: математические программы». Нью-Йорк Таймс.