Загальна характеристика та меню системи ТК Solver. Зображення обчислювальної моделі
Відкрита програмна система ТК Solver (далі – TKS, розробка Universal Technical Systems) дає змогу:
1) описувати в інтерактивному режимі обчислювальної моделі;
2) накопичувати ці описи в бібліотеці моделей (базі знань системи);
3) конструювати описи задач з використанням моделей;
4) автоматично генерувати і виконувати програми розв’язання цих задач.
Вона суміщає декларативний підхід з процедурними можливостями описування допоміжних програм. Далі розглядається „студентська” версія системи.
До складу системи входить базова бібліотека математичних моделей: розрахунок коренів многочленів, функції комплексної змінної, розв’язок диференціальних рівнянь, задачі лінійної алгебри, кореляційний та регресійний аналіз, елементи теорії черг, приклади прикладних пакетів з галузі машинобудування (опір матеріалів, розрахунок зубчатих передач та пружин) та ін. Математичний апарат TKS порівняно з „неінтелектуальними” математичними пакетами є небагатим. Так,
1) з множини задач оптимізації розглянуто тільки одномірний пошук методом „золотого перетину” та симплекс – метод розв’язання задач лінійного програмування;
2) для розв’язання систем лінійних рівнянь використовується лише метод ітерацій на LU – декомпозиція, а також їх комбінація;
3) символьна математика відсутня;
4) із задач теорії черг розглянуто лише самі примітивні – харківські;
5) для обчислення визначених інтегралів використовується формула Ромберга щодо методу ітерацій.
Систему реалізовано як інтегроване середовище, типове для Windows-продуктів, управління її роботою здійснюється у формі діалогу з використанням команд з основного меню чи кнопок, за якими закріплено команди, які найчастіше використовуються. Запуск ТК Tutorial дає достатньо наочне уявлення про можливості системи, логіку її роботи та взаємодію панелей (Sheets) 9 типів, використовуваних у розв’язуванні задачі. Головне меню TKS містить пункти File, Edit, Commands, Format, Windows, Applications, Help. Опишемо команди, специфічні для даної системи.
File. Команда Merge активує стандартний діалог Windows для завантаження файла, його вміст поновлює поточну модель задачі за однойменними об’єктами. Рівняння з файла цілком переноситься в поточну модель, якщо в ній є такі рівняння, то вони розміщуються наприкінці опису. Команда Include включає в поточну модель задачі компоненти інших моделей з файла. Компоненти, які включаються, відображаються в поточній моделі іншим кольором; вони не можуть бути змінені і не зберігаються у вихідному файлі за командою Save. Команда Export зберігає списки поточної моделі задачі у файлі формату ASC II (розширення файла .asc); відповідно Import завантажує списки в поточну модель задачі з файла, створеного раніше за командою Export.
Пункт Commands забезпечує різні режими розв’язання задачі на поточній обчислювальній моделі. Він містить команди:
Display Plot ([F7]) – активізація процесу побудови графіків, описаних на панелі Plot Sheet: на екран виводиться обраний на цій панелі графік;
Solve ([F9]) – виконання спискових обчислень;
Block Solve – виконання спискових обчислень лише для зазначених у команді елементів списків;
Abort Operation – переривання виконання операції;
Put Values To Lists – присвоєння вмісту поля Input чи Output панелі Variable Sheet зазначеному елементу списку, пов’язаному з цією змінною;
Get Values From Lists – виведення на панель Variable Sheet 6 поле Input вміст елементу списку, пов’язаного з вибраною змінною;
Display Solution Time – показ часу розв’язання поточної задачі.
Applications містить діалогової команди для звертання до системних бібліотек моделей: будь-яку з моделей, які зберігаються у вигляді файлів, можна включити в поточну модель задачі і потім використати для обчислень.
Help містить команди для отримання довідкової інформації про вирішувач, його мови, технології застосування та ін.
Контекстна допомога викликається натисканням клавіші [F1].
Обчислювальна модель задачі в розв’язувачі TKS описується в наборі різнотипних взаємнопов’язаних панелей (таблиць), які заповнюються в інтерактивному режимі. Вміст будь-якого поля панелі активізується за допомогою курсора, а розкривається натисканням [RM]. Під час розкриття поля здійснюється перехід до іншої, пов’язаної з цим полем панелі чи підпанелі. Коментарі розміщуються в поточному рядку після крапки з комою; щоб мати можливість набирати їх російською мовою, слід в меню Format/ Sent Font вибрати шрифт з символами кирилиці.
Перераховані нижче панелі потрібні для описування:
Variable Sheet – змінні моделі;
Rule Sheet – речень обчислення;
Function Sheet – заголовків функцій та процедур;
Unit Sheet – одиниць виміру змінних ОМ;
Format Sheet – форматів змінних моделі;
List Sheet – списків, використовуваних у моделі;
Plot Sheet – графіків.
Для появи в TKS поточної обчислювальної задачі, її необхідно описати мінімум на двох панелях:
1) у панелі Rule Sheet задати обчислювальну модель у вигляді умовних та безумовних речень обчислювальності;
2) у панелі Variable Sheet розбити змінні моделі на вхідні (Input) та вихідні (Output); для вхідних задати значення і вийти в кінець панелі.
Щоб отримати рішення, необхідно натиснути [F9].
Рис. 10 Задача про трикутник в TKS
На рис. показано вміст панелей Rule Sheet та Variable Sheet після розрахунку різних характеристик трикутника.
Вміст всіх панелей поточної моделі задачі можна зберегти у файлі з розширенням .tkw. Далі цей файл можна завантажити та використати для розв’язання інших задач. Під час його завантаження висвічується панель задач; тим самим припускаємо, що буде розв’язуватися нова задача на попередній моделі.
Розв’язання задач на моделі, описаній в Rule Sheet, може здійснюватися в трьох режимах:
1) прямому (активізується за допомогою [F9]);
2) списковому (активізується натисканням [F10]);
3) ітеративному (активізується автоматично через неможливість обчислити певну змінну, якщо цій змінній призначено атрибут G (Guess – відстежувана) в полі статусу St панелі Variable Sheet).
Розв’язок задачі на рис. отримано в прямому режимі. У ньому TKS шукає перше правило, в якому
1) є тільки одна невідома змінна;
2) ця змінна з’являється в рівнянні тільки один раз;
3) шукана змінна не є аргументом функції типу abs, з неоднозначним оберненням.
Прямий режим. Прямий вирішувач дістає значення всіх змінних, які можна обчислити в процесі підстановок та обернень, і використовує їх у подальших підстановках. Список правил з Rule Sheet діє циклічно доти, поки не припиниться отримання нових вихідних змінних. Рівняння, які лишилися не розв’язаними, помічають зірочкою в полі статусу St. Прямий режим загалом не забезпечує розрахунку всіх змінних, навіть якщо чисельність рівнянь без чисельності вхідних змінних дорівнює чисельності невідомих (до деяких невідомих можуть бути відсутні шляхи).
Списковий режим. Під списковими обчисленнями розуміють розв’язування однієї і тієї самої задачі на різних наборах вихідних даних. З кожною змінною, яка бере участь в обчисленнях, пов’язуються список або масив значень. Для організації таких обчислень необхідно
1) у полі St на панелі Variable Sheet зазначити атрибут L (list), для вхідних змінних ще й атрибут Input (в полі Input) (в полі Input з’явиться нуль, а не перший елемент списку);
2) у пов’язані з ними списки занести множину значень, яких набуває ця змінна.
Після цього можна активізувати спискові обчислення натисканням [F10]. Кратність автоматичного виклику прямого вирішувача у процесі спискових обчислень дорівнює довжині списків значень вхідних змінних (з кожного списку вибирають по одному елементу таким чином, що цикл буде не вкладений, а однократний). Знайдені на кожному кроці значення вихідних змінних поміщаються у відповідні списки. Результати розв’язання можна розглянути в панелі List Sheet, розкривши список за допомогою клацання правою кнопкою миші.
Режим спискових обчислень використовується для побудови залежності між вхідними і вихідними даними задачі. TKS дає змогу подати цю залежність таблицею, графіком, стовпчиком чи круговою діаграмою.
Ітеративний режим. Може виявитися, що отримати прямий розв’язок неможливо. Щоб перевести TKS в ітеративний режим, необхідно призначити невідомий тип Guess в полі St панелі Variable Sheet в полі Input задати початкові наближення. Розглянемо рівняння з двома невідомими
Нехай ці рівняння описані у вигляді правил. Якщо змінною х позначити тип Input і значення х=3.4, то прямий вирішувач підставить цей х та з першого в друге рівняння, рівність для якого буде виконуватися. Якщо ж позначити х тип guess, то методом ітерацій буде отримано розв’язок системи х= 3.396 і y= 2.086.
Режим ітерацій управляється через меню Format/Settings. За умовчанням перевірки збіжності виконуються з допуском 10-6, а число ітерацій обмежено десятьма.
Дата добавления: 2015-04-01; просмотров: 1134;