TK Solver

TK Solver
Deweloperzy Sztuka oprogramowania; Uniwersalne systemy techniczne
Wersja stabilna
6.0
System operacyjny Okna
Typ Matematyka/inżynieria
Strona internetowa www.uts.com _ _

TK Solver (pierwotnie TK! Solver ) to system oprogramowania do modelowania matematycznego i rozwiązywania problemów oparty na deklaratywnym , opartym na regułach języku , skomercjalizowany przez Universal Technical Systems, Inc.

Historia

Wynaleziony przez Milosa Konopaska pod koniec lat 70. i początkowo opracowany w 1982 r. przez Software Arts , firmę stojącą za VisiCalc , TK Solver został przejęty przez Universal Technical Systems w 1984 r. po tym, jak Software Arts wpadło w kłopoty finansowe i zostało sprzedane firmie Lotus Software . Celem Konopaska w wymyślaniu koncepcji TK Solver było stworzenie środowiska rozwiązywania problemów, w którym dany model matematyczny zbudowany w celu rozwiązania określonego problemu mógłby zostać wykorzystany do rozwiązania powiązanych problemów (z redystrybucją zmiennych wejściowych i wyjściowych) przy minimalnym lub żadnym dodatkowym programowaniu wymagane: gdy użytkownik wprowadzi równanie, TK Solver może ocenić to równanie bez izolowania nieznanych zmiennych po jednej stronie znaku równości.

Software Arts wydało także serię „ Solverpacks ” – „gotowych wersji niektórych formuł najczęściej stosowanych w określonych obszarach zastosowań”.

The New York Times opisał TK Solver jako robiący „dla nauki i inżynierii to, co edytory tekstu zrobiły dla komunikacji korporacyjnej [sic], a pakiety calc zrobiły dla finansów”.

Uniwersalne systemy techniczne

Lotus, który przejął Software Arts, w tym TK Solver, w 1984 roku sprzedał swoje prawa własności do oprogramowania firmie Universal Technical Systems niecałe dwa lata później. Wersja 5 była nadal uważana za „jeden z najdłużej działających programów do rozwiązywania równań matematycznych dostępnych obecnie na rynku” w 2012 roku.

Podstawowa technologia

Podstawowe technologie TK Solver to deklaratywny język programowania , narzędzie do rozwiązywania równań algebraicznych, narzędzie do rozwiązywania równań iteracyjnych oraz strukturalny, obiektowy interfejs wykorzystujący strukturę poleceń. Interfejs składa się z dziewięciu klas obiektów, które można udostępniać i łączyć z innymi plikami TK:

  • Reguły: równania, formuły, wywołania funkcji, które mogą zawierać warunki logiczne
  • Zmienne: lista zmiennych używanych w regułach wraz z wartościami (numerycznymi lub nienumerycznymi), które zostały wprowadzone przez użytkownika lub obliczone przez oprogramowanie
  • Jednostki: wszystkie współczynniki konwersji jednostek w jednym miejscu, aby umożliwić automatyczną aktualizację wartości po zmianie jednostek
  • Listy: zakresy wartości liczbowych i nieliczbowych, które mogą być powiązane ze zmienną lub przetwarzane bezpośrednio przez funkcje proceduralne
  • Tabele: zbiory list wyświetlanych razem
  • Wykresy: wykresy liniowe, wykresy rozrzutu, wykresy słupkowe i wykresy kołowe
  • Funkcje: oparte na regułach, przeglądanie tabel i komponenty programowania proceduralnego
  • Formaty: ustawienia wyświetlania wartości numerycznych i łańcuchowych
  • Komentarze: dla wyjaśnienia i dokumentacji

Każda klasa obiektów jest wymieniona i przechowywana we własnym arkuszu — arkuszu zasad, arkuszu zmiennych, arkuszu jednostek itp. W każdym arkuszu każdy obiekt ma właściwości podsumowane w arkuszach podrzędnych lub wyświetlane w oknie właściwości. Interfejs wykorzystuje paski narzędzi i hierarchiczny pasek nawigacyjny, który przypomina drzewo katalogów widoczne po lewej stronie Eksploratora Windows .

Struktura programowania deklaratywnego jest zawarta w regułach, funkcjach i zmiennych, które tworzą rdzeń modelu matematycznego.

Reguły, zmienne i jednostki

Wszystkie reguły są wprowadzane w arkuszu reguł lub w funkcjach zdefiniowanych przez użytkownika. W przeciwieństwie do arkusza kalkulacyjnego lub imperatywnego środowiska programistycznego reguły mogą być w dowolnej kolejności lub kolejności i nie są wyrażone jako instrukcje przypisania. „A + B = C / D” jest prawidłową regułą w TK Solver i można ją rozwiązać dla dowolnej z jej czterech zmiennych. Reguły można dodawać i usuwać w razie potrzeby w Arkuszu Zasad bez względu na ich kolejność i włączać je do innych modeli. Model TK Solver może zawierać do 32 000 reguł, a biblioteka dostarczana z aktualną wersją zawiera narzędzia do wyższej matematyki, statystyki, inżynierii i nauk ścisłych, finansów i programowania.

Zmienne w regule są automatycznie wysyłane do arkusza zmiennych po wprowadzeniu reguły, a reguła jest wyświetlana w formacie matematycznym w oknie MathLook View u dołu ekranu. Dowolna zmienna może działać jako wejście lub wyjście, a model zostanie rozwiązany dla zmiennych wyjściowych w zależności od wyboru wejść.

Baza danych współczynników konwersji jednostek jest również dostarczana z TK Solver, a użytkownicy mogą dodawać, usuwać lub importować konwersje jednostek w sposób podobny do reguł. Każda zmienna jest powiązana z jednostką „obliczeniową”, ale zmiennym można również przypisać jednostki „wyświetlane”, a TK automatycznie przelicza wartości. Na przykład reguły mogą opierać się na metrach i kilogramach, ale do wprowadzania i wyprowadzania można używać jednostek cali i funtów.

Rozwiązywanie problemów

TK Solver posiada trzy sposoby rozwiązywania układów równań. „Rozwiązujący bezpośredni” rozwiązuje system algebraicznie na zasadzie kolejnych podstawień. Gdy wiele reguł zawiera wiele niewiadomych, program może uruchomić solwer iteracyjny, który wykorzystuje algorytm Newtona-Raphsona sukcesywnie aproksymować w oparciu o wstępne domysły dla jednej lub więcej zmiennych wyjściowych. Funkcji proceduralnych można również używać do rozwiązywania układów równań. Biblioteki takich procedur są dołączone do programu iw razie potrzeby można je łączyć w pliki. Funkcja rozwiązywania listy umożliwia powiązanie zmiennych z zakresami danych lub rozkładami prawdopodobieństwa, rozwiązywanie wielu wartości, co jest przydatne do generowania tabel i wykresów oraz do przeprowadzania symulacji Monte Carlo . Wersja premium zawiera teraz także „Solution Optimizer” do bezpośredniego ustawiania granic i ograniczeń w rozwiązywaniu modeli dla warunków minimalnych, maksymalnych lub określonych.

TK Solver zawiera około 150 wbudowanych funkcji : matematycznych, trygonometrycznych , boolowskich , rachunku różniczkowego , operacji na macierzach, dostępu do bazy danych i funkcji programistycznych, w tym obsługi ciągów znaków i wywołań zewnętrznie skompilowanych procedur. Użytkownicy mogą również zdefiniować trzy rodzaje funkcji: funkcje reguł deklaratywnych; funkcje list, do wyszukiwania w tabelach i innych operacji obejmujących pary list; i funkcje proceduralne, pętle for i inne operacje proceduralne, które mogą również przetwarzać lub skutkować tablicami (listami list). Kompletny NIST dołączona jest baza danych właściwości termodynamicznych i transportowych, z wbudowanymi funkcjami dostępu do niej. TK Solver jest również platformą dla aplikacji inżynieryjnych sprzedawanych przez UTS, w tym Advanced Spring Design, Integrated Gear Software, Interactive Roark's Formulas, Heat Transfer on TK oraz Dynamics and Vibration Analysis.

Wyświetlanie i udostępnianie danych

Tabele, wykresy, komentarze i narzędzie do wyświetlania notacji MathLook mogą być użyte do wzbogacenia modeli TK Solver. Modele można łączyć z innymi komponentami za pomocą narzędzi Microsoft Visual Basic i .NET , można je też udostępniać w Internecie za pomocą produktu RuleMaster lub łączyć z arkuszami kalkulacyjnymi Excel za pomocą produktu Excel Toolkit. Dostępna jest również opcja DesignLink łącząca modele TK Solver z rysunkami CAD i modelami bryłowymi. W wersji premium samodzielne modele można udostępniać innym, którzy nie mają licencji TK, otwierając je w Excelu lub darmowym TK Playerze.

Przyjęcie

BYTE w 1984 roku stwierdził, że „TK! Solver jest doskonały do ​​rozwiązywania prawie każdego rodzaju równań”, ale nie radzi sobie z macierzami , a język programowania, taki jak Fortran lub APL , jest lepszy do jednoczesnego rozwiązywania równań liniowych . Magazyn stwierdził, że pomimo ograniczeń było to „potężne narzędzie, przydatne dla naukowców i inżynierów. Nie ma podobnego produktu”. W wersji 5.0 TK Solver dodał funkcjonalność obsługi macierzy.

Do połowy 1988 roku pojawiły się konkurencyjne produkty: Mathcad firmy Mathsoft i Eureka : The Solver firmy Borland .

Cytowano Dana Bricklina , znanego z VisiCalc i jego początkowego rozwoju TK Solver w Software Arts , który powiedział, że rynek „nie był tak duży, jak myśleliśmy, że będzie, ponieważ niewielu ludzi myśli równaniami”.

Zobacz też