Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

История [ править ]

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

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

New York Times охарактеризовала 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] функциями процедуры.
  • Таблицы: совокупность списков, отображаемых вместе
  • Графики: линейные диаграммы, диаграммы рассеяния, гистограммы и круговые диаграммы.
  • Функции: основанные на правилах, поиск по таблицам и компоненты процедурного программирования.
  • Форматы: настройки отображения числовых и строковых значений
  • Комментарии: для объяснения и документации

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

Структура декларативного программирования воплощена в правилах, функциях и переменных, которые составляют основу математической модели. [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 и .NET , или они могут быть подключены к Интернету с помощью продукта RuleMaster или связаны с электронными таблицами Excel с помощью продукта Excel Toolkit. Существует также опция DesignLink, связывающая модели TK Solver с чертежами САПР и твердотельными моделями. В премиум-версии автономные модели могут быть переданы другим пользователям, у которых нет лицензии TK, открыв их в Excel или бесплатном TK Player.

Прием [ править ]

BYTE в 1984 году заявил, что «TK! Solver превосходно подходит для решения почти любого вида уравнений», но что он не обрабатывает матрицы , и что язык программирования, такой как Fortran или APL, лучше подходит для одновременного решения линейных уравнений . Журнал пришел к выводу, что, несмотря на ограничения, это «мощный инструмент, полезный для ученых и инженеров. Подобного продукта не существует». [10] В версии 5.0 в TK Solver добавлена ​​функция обработки матриц. [6]

Конкурирующие продукты появились в середине 1988 года: MathSoft в Mathcad и Borland «s Eureka: решатель . [11] [12] [13]

Дэн Бриклин , известный благодаря VisiCalc и начальной разработке TK Solver его Software Arts, сказал, что рынок «не был таким большим, как мы думали, потому что не так много людей думают уравнениями». [13]

См. Также [ править ]

  • Оптимизация (математика)
  • Многопрофильная оптимизация дизайна

Ссылки [ править ]

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