Розробка алгоритму та його програмна реалізація для комп’ютеризованої системи оптимального розподілу квазістохастичного ресурсу
Створення алгоритму програмної моделі розкладу в учбовому закладі для ефективного вирішення завдань автоматичного складання розкладу, шляхом підбору найбільш оптимальних варіантів. Шляхи реалізації розробленого алгоритму в середовищі Mathemetica 5.0.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | украинский |
Дата добавления | 25.10.2012 |
Размер файла | 5,0 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Міністерство освіти та науки України
Криворізький інститут
Кременчуцького університету економіки, інформаційних технологій та управління
Кафедра Технічної кібернетики
ДИПЛОМНА РОБОТА
зі спеціальності
7.091402 “Гнучкі комп'ютеризовані системи та робототехніка“
ПОЯСНЮВАЛЬНА ЗАПИСКА
“Розробка алгоритму та його програмна реалізація для комп'ютеризованої системи оптимального розподілу квазістохастичного ресурсу”
Студент групи ГКС-03-д Сумченко Ірина Леонідівна
Керівник роботи доц., к.т.н. Євтушенко Олександр Іванович
Завідувач кафедри ТК доц., к.т.н. Старіков О.М.
Кривий Ріг
2008
Анотація
Метою даної дипломної роботи є розробка алгоритму оптимального розподілу квазістохастичного ресурсу. Використання алгоритму реалізується на прикладі автоматичного складання розкладу в учбових закладах. Застосування алгоритму дозволяє підвищити оперативність обробки інформації, покращити ефективність і точність роботи. Реалізація алгоритму здійснена в середовищі Mathemetica 5.0.
Аннотация
Целью данной дипломной работы является разработка алгоритма оптимального распределения квазистохастического ресурса. Программная реализация алгоритма производится на примере автоматического составления расписания в учебных учреждениях. Использование алгоритма позволяет повысить оперативность обработки информации, улучшить эффективность и точность работы. Алгоритм реализован в среде Mathemetica 5.0.
The summary
The purpose of the given degree work is development of algorithm of optimum distribution casual resource. Program realization of algorithm is made on an example of automatic drawing up of the schedule in educational establishments. Use of algorithm allows to raise efficiency of processing of the information, to improve efficiency and accuracy of work. The algorithm is realized in Mathemetica 5.0 environment.
ЗМІСТ
- Вступ
- 1 Постанова задачі
- 1.1 Найменування та галузь застосування
- 1.2 Підстава для створення
- 1.3 Характеристика розробленого програмного забезпечення
- 1.4 Мета й призначення
- 1.5 Загальні вимоги до розробки
- 1.6 Джерела розробки
- 2 Дослідження систем автоматичного розподілу ресурсу
- 2.1 Програма «Розклад ПРО»
- 2.2 Програми «Коледж» і «Коледж Плюс»
- 3 Огляд інструментів, що використовуються для реалізаціі алгоритму
- 3.1 Поняття випадкового ресурсу й випадкового попиту
- 3.1.1 Опис стохастичних величин у термінах математичної статистики
- 3.1.2. Групування даних в аспекті розвязуваної задачі
- 3.2 Основні методи оптимізації
- 3.2.1 Загальна характеристика оптимізаційних задач
- 3.2.2. Постановка задачі оптимізації
- 3.2.3 Види обмежень
- 3.2.4 Критерії оптимальності
- 3.2.5 Класифікація задач
- 3.2.6 Методи рішення задач оптимізації
- 4 Програмна реалізація та опис функціональних можливостей алгоритму
- 4.1 Алгоритм розподілу
- 4.2 Введеня даних. Способи вводу
- 4.2.1 Формування списку ресурсу
- 4.2.2 Формування списку попиту
- 4.3 Генерація функцій користувача
- 4.3.1 Розрахункові функції
- 4.3.2 Функції виводу інформації
- 5 Економічне обґрунтування доцільності розробки програмного продукту
- 5.1 Організаційно-економічна частина
- 5.2 Розрахунок витрат праці на розробку алгоритму
- 5.3 Розрахунок витрат на ручну обробку інформації
- 5.4 Економічний ефект від використання алгоритму
- 6 Охорона праці
- 6.1 Аналіз небезпечних та шкідливих факторів на робочому місці оператора ПК
- 6.2 Заходи щодо нормалізації шкідливих та небезпечних факторів на робочому місці оператора ПК
- 6.2.1 Захист від електромагнітних випромінювань та уражень електричним струмом
- 6.2.2 Захист від шуму та вібрації
- 6.2.3 Заходи щодо забезпечення чистого повітряного середовища
- 6.2.4 Захист від рентгенівського випромінювання
- 6.2.5 Забезпечення раціонального освітлення
- 6.3 Пожежна безпека
- Заключення
- Список літератури
Додаток А - Вихідний текст алгоритму
Додаток Б - Перелік змінних та функцій
Додаток В - Бази даних ресурсу й попиту
ВСТУП
Робота присвячена створенню програмної моделі алгоритму оптимального розподілу квазістохастичного ресурсу. До розгляду даної теми приводять різні потреби, починаючи від систем керування вогнем, закінчуючи системами розподілу транспорту по випадкових замовленнях.
Одне з можливих застосувань даної розробки є проблема складання розкладу у вузах. Розклад занять регламентує трудовий ритм, впливає на творчу віддачу викладачів, тому його можна розглядати як фактор оптимізації використання обмежених трудових ресурсів - викладацької сполуки. Технологію же розробки розкладу варто сприймати не тільки як трудомісткий технічний прогрес або об'єкт автоматизації з використанням ЕОМ, але і як акцію оптимального керування. Таким чином, це - проблема розробки оптимальних розкладів занять у вузах з очевидним економічним ефектом. Рішення даної проблеми на сьогоднішній день містить у собі ряд труднощів. По-перше, процес складання розкладу ускладнюється великою кількістю критерій та обмежень, тому що учасники навчального процесу різноманітні. По-друге, процес складання розкладу може мати величезну кількість варіантів рішення, при цьому необхідно вибрати найбільш оптимальний. Вручну перебрати всі припустимі варіанти й вибрати з них найліпший практично не можливо.
Крім того, існують ще й специфічні для кожного вузу вимоги до функціональних можливостей програмного продукту. Створити уніфіковане програмне забезпечення не надається можливим, з погляду економічної доцільності; а вартість створення спеціалізованого програмного продукту в сторонніх розроблювачів невиправдано велика.
Метою роботи є підвищення ефективності використання випадкового ресурсу, шляхом автоматизації й оптимізації процесу розподілу елементів попиту. Проблема розглянута на прикладі складання розкладу в навчальних установах.
Основу алгоритму оптимального розподілу становить кластеризація даних. Кластер являє собою множину елементів, обраних із загального списку за заданними параметрами. Виявлення кластерів та їх подальше використання дозволяє спростити процес обробки даних і оптимізувати процес розподілу елементів.
Реалізація алгоритму проводиться в середовищі СКМ Mathemetica. Пакет Mathemetica має величезну обчислювальну потужність і дозволяє реалізовувати найскладніші алгоритми.
У результаті виконання роботи були сформовані текстові файли, що містять вихідні дані по ресурсу й попиту, зроблене моделювання елементів попиту й елементів випадкового ресурсу, моделювання розподілу, розроблена демоверсія реалізації алгоритму. Використання алгоритму оптимального розподілу в процесі складання розкладу дозволить підвищити оперативність обробки інформації, поліпшити ефективність і точність роботи.
1. ПОСТАНОВА ЗАДАЧІ
1.1 Найменування та галузь застосування
Найменування розробки: Алгоритм оптимізації розподілу квазістохастичного ресурсу. Алгоритм системи може бути використаний для автоматизації процесу складання розкладу в учбових закладах.
1.2 Підстава для створення
Підставою для розробки є наказ № 65Са-01 від 29 жовтня 2007 р. по Криворізькому інституту КУЕІТУ.
Початок робіт: 30.10.07. Закінчення робіт: 01.06.08.
1.3 Характеристика розробленого програмного забезпечення
Алгоритм автоматизації був реалізований в середовищі Mathematica 5.0.
До складу системи входять:
· 1_spisok.nb - файл,що містить перелік всіх функцій, використаних для реалізації алгоритму;
· 2_realiz.nb - файл, що містить функцію оптимального розподілу елементів ресурсу.
1.4 Мета й призначення
Метою даного проекту є створення алгоритму програмної моделі розкладу у вузі, що дозволила б ефективно вирішувати завдання автоматичного складання розкладу, відбираючи найбільш оптимальні варіанти, і володіла б гнучкістю (від створення бази даних до її змін із часом) для адаптації системи в рамках конкретного практичного завдання.
1.5 Загальні вимоги до розробки
Вимоги до програмного забезпечення:
· Робота в середовищі операційних систем Windows 98/ME/2000/XP;
· Відсутність додаткових вимог до розміщення здійснених файлів;
· Додаткове програмне забезпечення: установка пакету Mathematica 5.0.
Мінімальні вимоги до апаратного забезпечення:
· IBM-сумісний комп'ютер, не нижче Pentium IІ, RAM-512Mb, SVGA-800*600*16bit;
· Вільний простір на жорсткому диску не менш 2Мб;
1.6 Джерела розробки
Джерелами розробки дипломної роботи є:
· довідкова література;
· наукова література;
· технічна література;
· програмна документація.
2. ДОСЛІДЖЕННЯ СИСТЕМ АВТОМАТИЧНОГО РОЗПОДІЛУ РЕСУРСУ
Оляд систем розподілу ресурсу проводимо на прикладі программ автоматичного складання розкладу в учбових закладах.
Розклад занять в учбовій установі - це один з найважливіших видів планування навчально-виховної роботи й основний організаційний документ, що визначає роботу колективу викладачів і студентів, адміністрації й установи в цілому. Якість розкладу в значній мірі визначає якість навчального процесу.
Складання розкладу регламентується цілим рядом нормативних документів і методик. Методичні рекомендації зі складання розкладу містять у собі не тільки педагогічні, організаційні, але й гігієнічні вимоги.
У сукупності ж зі складністю деяких варіантів навчальних планів дотримання всіх пропонованих вимог при складанні розкладу являє собою для завуча складне й трудомістке завдання, що іноді ускладнюється специфікою установи (індивідуальні вимоги викладачів до днів і годиннам роботи, особливо з боку викладачів-адміністраторів і викладачів-сумісників; певні дні й годинни проведення занять; обмежене число кабінетів; використання технічних засобів навчання; двозмінна робота установи; наявність трьох і більше класів-комплектів; перевантаження окремих викладачів і багато чого іншого).
У той же час, зберігається головна вимога до розкладу - створення найкращих умов для ефективних занять учнів і праці викладачів. При цьому необхідний облік ступеня професійної майстерності кожного викладача, стилю й методів його роботи, орієнтації кожного кабінету на ті або інші предмети. Від завуча потрібне знання всіх особливостей навчального процесу, щоб правильно сформулювати їх у вигляді вимог до майбутнього розкладу.
Використання комп'ютера дозволяє автоматизувати рутинну частину праці завучів по переборі величезного числа можливих варіантів розкладу. Крім того, застосування ПЭВМ дає можливість ще до складання розкладу скористатися ефективним математичним апаратом аналізу вихідних даних і вимог, що дозволяє заздалегідь виявити сховані в них конфліктні ситуації й одержати рекомендації з їхнього дозволу.
На сьогоднішній день існує ряд програм, які допомагають автоматизувати процес складання розкладу й кожний зі своїми особливостями.
2.1 Програма «Розклад ПРО»
Компанія «Дігсі» розробляє програмне забезпечення й для комерційних структур і для індивідуальних користувачів. Розклад ПРО, мабуть, займає проміжне положення між індивідуальним використанням і корпоративним.
Області застосування програми чітко визначені, що випливає із самої назви. Продукт орієнтований на вчителів, завучей та директорів шкіл, котрі постійно зіштовхуються з проблемою складання та редагування розклаюу. Крім того, програма охоплює склад викладачів інститутів та університетів, представників деканатів, відповідальних за складання розкладу занять. Взагалі, програма призначена для всіх людей, котрі задіяні в складанні розкладу.
Кожний з викладачів може також використати її для складання своїх індивідуальних розкладів-пам'яток по своїх уроках (парам). Крім того, зменшується ризик втрати записів за розкладом, що досить великий, якщо інформація зберігається на паперових носіях.
Програма «Розклад ПРО» призначена для зручного й швидкого складання розкладу занять шкіл та вузів у ручному й автоматичному режимах. У будь-який момент можна внести зміни в розклад і роздрукувати його, а також легко й зручно експортувати таблицю в Excel.
Програма проста й зручна у використанні. Вона дозволяє викладачам і вчителям значно скоротити час складання шкільних або інститутських розкладів при мінімальних витратах зусиль.
Функції програми:
* уведення даних для складання розкладу в загальній панелі "Керування";
* паралельне завдання даних для складання розкладу: кабінетів, викладачів,
груп;
* уведення даних про погодинне навантаження на кожен день тижня для всіх викладачів;
* автоматичне інформування про недостатній об'єм даних для складання
розкладу;
* зберігання даних розкладів за попередні роки;
* експорт готового до редагування розкладу в MS Excel;
* друк розкладу в режимі "по групах";
* друк розкладу в режимі "по викладачах".
Основна технологія роботи представлена в деревоподібній структурі "Керування" - необхідно пройти послідовно по "гілках" цього дерева зверху вниз. Кожний варіант розкладу розглядається як окремий проект. Увівши один раз вхідні дані, можна надалі робити копію проекту й працювати (редагувати або експериментувати) з нею.
Програма підтримує два режими керування даними: ручний і автоматичний.
Ручний режим.
Призначений для досвідчених викладачів, у яких склалися свої технології складання розкладу і яким потрібний лише зручний інструмент для цих технологій. У цьому режимі програма виводить чисту таблицю, у яку методом "перетягнути й кинути" потрібно заносити відповідні предмети. Всі обмеження, задані на етапі уведення вихідних даних програма відображає на екрані або відслідковує при роботі.
Автоматичний режим.
Оскільки строгих алгоритмів складання розкладу не існує, то в цьому режимі пропонуються лише варіанти автоматичного розрахунку. Прийнятним можна вважати варіант, у якому немає нерозподілених Предметів і "дір" у Груп. Після одержання прийнятного варіанта можна редагувати його в ручному режимі.
Вивести на друк готовий розклад по групах або по викладачах можна безпосередньо із програми, скориставшись меню "Файл". Якщо необхідно додаткове оформлення зовнішнього вигляду розкладу, можна зробити експорт результатів в Microsoft Excel.
Вхідні дані.
Всі початкові дані, які пізніше будуть використані програмою для побудови розкладу, повинні бути уведені в розділі «Вхідні дані». Головне вікно програми в цьому режимі виглядає так:
Необхідно послідовно пройти по розділах вікна Керування зверху вниз, заповнюючи відповідні Списки й проставляючи необхідні Зв'язки.
Програма розрахована для складання розкладу занять як шкіл, так і вузів, при цьому прийнята термінологія вузів. Можна рекомендувати наступну аналогію:
o Семестр - чверть;
o Спеціальність - паралель (перші класи,...);
o Потік - профіль (спеціалізація,...);
o Група - конкретний клас.
Якщо вибрати сам розділ «Вхідні дані», то можна задати загальні параметри такі, як мова інтерфейсу програми й період автоматичного збереження в секундах.
Процес складання розкладу містить у собі наступні кроки:
1) Створюємо новий проект (Файл -> Новий проект) і відразу зберігаємо його (Файл - Зберегти). У цьому прикладі для проекту задане ім'я «Старт». Вибираємо розділ «Навчальний заклад» і вводимо назву (у прикладі - «Школа»). Назва Навчального закладу й ім'я файлу проекту відображаються в заголовку вікна програми. Обов'язково потрібно задати параметри семестру за замовчуванням. Натискаємо кнопку «Редагувати настроювання семестру».
2) До параметрів семестру відносяться:
o кількість тижнів у семестрі - обов'язковий параметр, без нього розрахунок Розкладу неможливий;
o періодичність повторення розкладу - актуально для інститутів, де є поняття «плаваюча пара»;
o кількість занять у кожний із днів тижня.
Для редагування кількості занять у день потрібно клацнути мишкою на рядку в таблиці, після чого стане доступна панель «Тиждень». У ній можна вводити кількість годин безпосередньо із клавіатури або використовуючи кнопки зі стрілками поруч із потрібним днем.
У прикладі задані 2 тижні в семестрі й по 4 години на кожний з п'яти днів тижня.
3) У розділі Кабінети задається Список Кабінетів (загальних і спеціалізованих). Список автоматично сортується за алфавітом у зростаючому порядку. Клацнувши за назвою Списку можна поміняти порядок сортування на зворотній. Щоб додати в Список Кабінетів нове значення, необхідно задати режим Додати (Режим коректування Списку (Додавання, Видалення, Редагування) можуть викликатися з Головного меню, кнопками Панелі інструментів, з Контекстного меню. У новому полі, що з'явилося, уводимо назву Кабінету (у прикладі - «Студія»).
4) У розділі Викладачі формується Список Викладачів. Список автоматично сортується за алфавітом у зростаючому порядку. Клацнувши за назвою Списку можна поміняти порядок сортування на зворотний. Режими коректування Списку (Додати, Видалити, Редагувати) можуть викликатися тими ж способами, що й у розділі Кабінетів. Щоб додати нове значення в Список Викладачів, необхідно задати режим Додати. У результаті відкривається вікно діалогу із вкладками: Викладач, Робочий час , Телефони, E-mail, Замітки. У найпростішому випадку заповнюємо тільки першу вкладку.
5) У розділі Предмети формується Список Предметів. Список автоматично сортується за алфавітом у зростаючому порядку. Клацнувши за назвою Списку можна поміняти порядок сортування на зворотний. Режими коректування Списку (Додавання, Видалення, Редагування) викликаються тими ж способами, що й у попередніх кроках. Вибравши розділ «Предмети», задаємо режим Додати. У новому полі, що з'явилося, уводимо назву Предмета (у прикладі - «Музика»). І відразу проставляємо потрібні Зв'язки (у прикладі відзначений Викладач «Чайковський»).
6) У розділі Спеціальності задається деревоподібна структура Груп (класів). Список автоматично сортується за алфавітом у зростаючому порядку. Клацнувши за назвою Списку можна поміняти порядок сортування на зворотний. Вибравши розділ «Спеціальності», задаємо режим Додати. У вікні діалогу додавання об'єктів відзначаємо пункт «Додати нові спеціальності» (у цей момент доступна тільки ця можливість).
7) Вводимо назву Спеціальності (у прикладі - «5 класи»). Натискаємо кнопку Далі, у наступному вікні натискаємо кнопку Готово.
8) Знову задаємо режим Додати. У вікні діалогу додавання об'єктів тепер відзначаємо пункт «Додати нові потоки». Натискаємо кнопку Далі.
9) Уводимо назву Потоку (у прикладі - «Загальний»). Натискаємо кнопку Далі, у наступному вікні натискаємо кнопку Готово.
10) Ще раз задаємо режим Додати. У вікні діалогу додавання об'єктів відзначаємо пункт «Додати нові групи».
11) Вводимо назву першої Групи (у прикладі - «Клас 5а»), натискаємо клавішу ENTER , потім уводимо назву другої Групи (у прикладі - «Клас 5б»).
12) Задамо потрібні Зв'язки. Активізуємо (клацаємо за назвою) Спеціальність (у прикладі це «5 класи»). У вікні Зв'язків відзначаємо всі Предмети й всіх Викладачів.
13) У розділі Навантаження задається Навантаження і її властивості:
o Число годин у Семестрі (поле «Навантаження»);
o Пріоритет предмета (поле «Місце в розкладі»);
o Спарювання годин за обраним предметом.
Слід зазначити, що навантаження задається на Групу, а не на Потік або Спеціальність. Це дає гнучкість при завданні «складних» предметів.
Вибравши розділ «Навантаження», активізуємо (клацаємо за назвою) Групу (Клас 5а), потім Предмет (Музика). Предмет позначений значком . Це означає, що не задано число годин по даному Предмету. Вводимо потрібне число в поле «Навантаження» - знизу екрана. Значок поруч із Предметом міняється на . Це означає, що не зазначено Викладача даного Предмета. Відзначаємо потрібного Викладача (відповідно до заданних раніше Зв'язків будуть доступні тільки певні Викладачі, у прикладі - Чайковський).
14) Вибираємо підрозділ «По групах», розділу «Розклад». У головному меню вибираємо пункт Створити розклад (на Панелі інструментів є відповідна кнопка). У діалозі, що відкрився, можна настроїти параметри обмежень пошуку Розкладу. Рекомендується залишати параметри, задані за замовчуванням, тому просто натискаємо кнопку OК. Запускається процес розрахунку Розкладу, при цьому виводиться діалогове вікно. У якому відображається хід процесу. Перервати процес пошуку можна в будь-який момент.
15) Можна переглянути Розклад по Викладачах. Для цього в структурі «Керування» потрібно клацнути на гілці «По викладачах» і відзначити Викладачів, які будуть відображені в таблиці.
16)
Вимоги до системи:
ОС: Win 95/98/NT/2000/XP
RAM: 32 Mb
Простір на диску: 10 Mb
2.2 Програми «Коледж» і «Коледж Плюс»
Програма «Коледж» і «Коледж Плюс» є розвитком лінійки продуктів Хронограф 3.0.
Дані продукти призначені для автоматизації планування й організації навчального процесу установ початкової й середньої професійної освіти (ППО й СПО).
Програма «Коледж», ціна якої становить 12000 руб призначена для установ, що не мають значних проблем зі складанням розкладу занять. Містить у собі базовий набір функцій для складання розкладу занять, а також повнофункціональні модулі для формування звітних форм за результатами навчального процесу (звіти про вичитування годин).
Програма «Коледж Плюс», ціна - 16000 руб є найбільш повною версією з існуючої лінії продуктів. Призначена для установ зі складним процесом складання розкладу занять. Дозволяє вирішувати завдання оптимального формування груп учнів, містить розширений функціонал для створення розкладу занять, ураховує проблеми з недоліком аудиторій.
Пакети орієнтовані на керівників установ, відповідальних за організацію й контроль якості навчально-виховного процесу.
Принципи роботи із програмним пакетом «Коледж»
Організація введення й обробки даних у програмному пакеті «Коледж» здійснюється в 3 етапи:
I. Введення інформації про навчальний період і призначення періодів
навчання по різних проектах розкладу.
У процесі роботи з програмою «Коледж» користувач може задати кілька навчальних періодів.
Для кожного періоду створити кілька проектів розкладу, і вказати кожному проекту відрізок часу, у плині якого по ньому буде вироблятися навчання.
Користувач може змінити список свят, і у випадку влучення свята на робочий день перенести роботу освітньої установи з даного дня на будь-який іншій.
II. Створення проекту розкладу (за допомогою автоматичного алгоритму й ручного редактора).
Створення проекту розкладу в пакеті «Коледж» здійснюється в 2 модулях:
Перший модуль. Введення даних учбової установи (як вручну, так і з можливістю імпорту основних облікових даних з MS Excel).
Введення даних учбової установи в пакеті «Коледж» здійснюється за допомогою послідовного проходження наступних етапах:
1) Введення даних про учбову установу.
У даному екрані необхідно:
- Задати періодичність розкладу від 1 до 4 тижнів;
- Вибрати робочі дні тижня учбової установи;
- Задати реквізити учбової установи;
- Відкоригувати, при необхідності, розклад дзвінків.
2) Склад груп.
У даному екрані необхідно:
- Ввести список груп по всім курсам і вказати графік їхньої роботи;
- Створити списки груп, що вчаться, вказавши їхнє прізвище, ім'я, по батькові й стать.
3) Тижнева сітка годин.
У даному екрані необхідно:
- Привести заданий список предметів у відповідність зі специфікою установи утворення із вказівкою їх профілізацїї;
- Зробити ранжирування в балах труднощів для кожного предмета;
- Визначити навантаження й кількість груп для профілів предметів у кожній паралелі й класі.
4) Розподіл учнів по групах.
У даному екрані необхідно:
- Призначити учнів у ту або іншу підгрупу, по всіх предметах, для яких заданий розподіл на підгрупи в рамках обраної групи.
5) Дані про викладачів.
У даному екрані необхідно:
- Ввести список викладачів учбової установи;
- Вказати спеціалізацію викладачів;
- Вказати профілі викладання по відповідних предметах;
- Задати сумісництво;
- Ввести табельний номер і педагогічний розряд викладачів, для одержання шаблона звіту «Тарифікаційний список».
6) Інформація про кабінети.
У даному екрані необхідно:
- Ввести список кабінетів учбової установи;
- Вказати місткість і поверх кабінету;
- Закріпити кабінет за предметом або викладачем;
- Задати графік попередньої зайнятості кабінетів по годинниках і/або дням.
7) Графік роботи викладачів.
У даному екрані необхідно:
- Призначити викладачам безумовно-вільні від занять годинники й/або дні;
- Вказати плановане навантаження викладача для можливості використання надалі автоматичного розподілу навантаження;
- Задати загальну кількість робочих днів викладача в тиждень без вказівки конкретних неробочих днів.
8) Розподіл навантаження.
Даний екран дозволяє вводити інформацію в 3 режимах:
- По викладачах;
- По предметах;
- По групах.
У кожному з режимів можна:
- Призначити/перепризначити викладача в обрану групу або підгрупу по обраному предмету;
- Задати потокові й спарені години;
- Автоматично розподілити навантаження викладачів відповідно до заданого планованого навантаження.
Другий модуль. Складання розкладу (за допомогою автоматичного алгоритму й ручного редактора).
Складання розкладу в пакеті «Коледж» здійснюється в Екрані складання розкладу, що має 4 режими відображення:
- Основний;
- Клас;
- Відображення по навчальних одиницях;
- Перерозподіл учнів по підгрупах.
При роботі в будь-якому режимі користувач може редагувати частково складений розклад, переносячи поставлені заняття з уроку на урок.
У будь-який момент заповнення тижневої сітки розкладу користувач може перейти в автоматичний режим розміщення занять. Алгоритм роботи Автомата інтерактивний, тобто має на увазі численні переходи від автоматичного режиму складання розкладу до ручного й назад.
III. Оперативне керування навчальним процесом (за допомогою організації необхідних замін у готовому розкладі).
Оперативне керування навчальним процесом у пакеті «Коледж» здійснюється на базі складеного розкладу учбової установи в 2 екранах:
1. Екран «Заміни»
При роботі в даному екрані користувач вибирає дату, і вказує відсутніх викладачів, після чого може їх замінити, виходячи з необхідних критеріїв. Програма надає користувачеві широкий набір фільтрів, для вибору замінного викладача й дозволяє створити власні критерії відбору.
Після вибору дати й замінного викладача, даний екран містить: замінного викладача, критерій відбору для заміни, робоче поле (інформація про всіх викладачів, що підходять критеріям відбору), розклад замінного викладача, розклад обраного в робочому полі викладача.
2. Екран «Зошит замін»
Даний екран являє собою повний список запланованих і вже проведених замін.
У кожному рядку Робочого поля вікна Зошит замін зазначені:
- дата, день тижня й номер замінного уроку;
- прізвище замінного викладача;
- група, для якої запланована заміна;
- предмет, по якому повинен був проводитися замінний урок;
- кабінет, у якому повинне було бути проведене замінне заняття;
- ім'я й табельний номер викладача, що заміняє.
На кожному етапі роботи, по мірі введення й підготовки даних користувач може одержати необхідні звіти. Окремої уваги заслуговують звіти про вичитування годин для викладачів і груп за будь-який відрізок часу. Всі звіти можуть бути як надруковані, так і експортовані для приведення у відповідність із необхідним форматом у МS Excel.
На базі створеної інформації в програмі передбачена можливість створення сайту установи утворення.
Розглянуті програми складання розклади зручні й прості у використанні, мають ряд достоїнств і однозначно необхідні в організації навчального процесу. Недоліком даних програм є складне перенастроювання під специфічні для кожного вузу вимоги до функціональних можливостей програмного продукту, при цьому вартість створення такого продукту в сторонніх розроблювачів невиправдано велика.
3. ОГЛЯД ІНСТРУМЕНТІВ, ЩО ВИКОРИСТОВУЮТЬСЯ ДЛЯ РЕАЛІЗАЦІЇ АЛГОРИТМУ
3.1 Поняття випадкового ресурсу й випадкового попиту
Математична (або теоретична) статистика опирається на методи й поняття теорії ймовірностей, але вирішує в певному змісті зворотні завдання.
У теорії ймовірностей розглядаються випадкові величини з заданим розподілом або випадкові експерименти, властивості яких цілком відомі. Предмет теорії ймовірностей - властивості й взаємозв'язки цих величин(розподілів). Але звідки беруться знання про розподіли й імовірності в практичних експериментах? Основна проблема полягає в тому, що висновки доводиться робити за результатами кінцевого числа спостережень. Точні висновки про розподіл можна робити лише тоді, коли проведене нескінченне число випробувань, що нездійсненно. Математична статистика дозволяє за результатами кінцевого числа експериментів робити більш-менш точні висновки про розподіли випадкових величин, спостережуваних у цих експериментах.
Поняття випадкової величини.
Якщо результатом випробування є випадкова подія, що приймає числове значення, то говорять про випадкову величину.
Випадковою величиною називається змінна величина, що залежно від результату випробування випадково приймає одне значення з безлічі можливих значень.
Випадкова величина, що приймає різні значення, які можна записати у вигляді кінцевої або нескінченної послідовності, називається дискретною випадковою величиною. Приклади: число очків, що випали при киданні гральної кістки; число народжених дітей у родині; число куль, які можна дістати з урни й т.д. Випадкова величина, що може приймати всі значення з деякого числового проміжку, називається безперервною випадковою величиною.
Приклади: приріст ваги свійської тварини за місяць є випадкова величина, що може прийняти значення з деякого проміжку; прогнозована температура повітря по області й т.д.
Характеристики випадкової величини.
Математичним очікуванням М (Х) дискретної випадкової величини Х називається сума добутків всіх можливих значень величини Х на відповідні ймовірності:
М(Х) = x1· p1 + x2· p2 + … + xn· pn ,
де x1, x2, …, xn - випадкові величини, що відповідають повній групі подій, тобто p1 + p2 + … + pn = 1...
Дисперсією D (X) дискретної випадкової величини Х називається математичне очікування квадрата відхилення випадкової величини Х від її математичного очікування:
D(X) = M [(X - M(X))2] або D(X) = M (X2) - M2(X).
Середнім квадратичним відхиленням у (Х) випадкової величини Х називається корінь квадратний з її дисперсії:
.
Інтегральною функцією розподілу безперервної випадкової величини Х називається функція F(x), рівна ймовірності того, що Х прийняла значення, менше х:
F(x) = P(X < x).
Диференціальною функцією розподілу безперервної випадкової величини Х (або її щільністю ймовірності) називається функція f(x), рівна похідної інтегральної функції:
f(x) = F '(x).
Математичним очікуванням безперервної випадкової величини Х з щільністю ймовірності f(x) називається величина невласного інтеграла (якщо він сходиться):
Дисперсією безперервної випадкової величини Х, математичне очікування якої М (Х) = а й функція f(x) є щільністю ймовірності, називається величина невласного інтеграла (якщо він сходиться):
Для безперервної випадкової величини Х середнє квадратичне відхилення s(Х) визначається як і для дискретної величини.
3.1.1 Опис стохастичних величин у термінах математичної статистики
Основні поняття математичної статистики.
Часто експеримент являє собою чорний ящик, що видає лише якісь результати, по яких потрібно зробити висновок про властивості самого експерименту. Спостерігач має набір числових (або їх можна зробити числовими) результатів, отриманих повторенням того самого випадкового експерименту в однакових умовах.
При цьому виникають, наприклад, наступні питання:
1. Якщо ми спостерігаємо одну випадкову величину - як за набором її значень у декількох досвідах зробити як можна більше точний висновок про її розподіл?
2. Якщо ми спостерігаємо одночасно прояв двох (або більше) ознак, тобто маємо набір значень декількох випадкових величин - що можна сказати про їх залежність? Є вона чи ні? А якщо є, то яка ця залежність?
Часто буває можливо висловити якісь припущення про розподіл, захованому в «чорному ящику», або про його властивості. В цьому випадку за експерементальними даними потрібно підтвердити або спростувати ці припущення («гіпотези»). При цьому треба пам'ятати, що відповідь «так» або «ні» може бути дана лише з певним ступенем вірогідності, і чим довше ми можемо продовжувати експеримент, тим точніше можуть бути висновки. Найбільш сприятливої для дослідження виявляється ситуація, коли можна впевнено стверджувати про деякі властивості спостережуваного експерименту - наприклад, про наявність функціональної залежності між спостережуваними величинами, про нормальність розподілу, про його симетричність, про наявність у розподілу щільності або про його дискретний характер, і т.д.
Отже, про (математичну) статистику має сенс згадувати, якщо
o є випадковий експеримент, властивості якого частково або повністю невідомі,
o ми вміємо відтворювати цей експеримент у тих самих умовах якесь (а краще - яке завгодно) число раз.
Прикладом такої серії експериментів може служити соціологічне опитування, набір економічних показників або, нарешті, послідовність гербів і решок при тысячекратном підкиданні монети.
Основні поняття вибіркового методу.
Нехай о : Щ > R - випадкова величина, спостережувана у випадковому експерименті. Передбачається, що імовірнісний простір заданий (і не буде нас цікавити).
Будемо вважати, що провівши n раз цей експеримент в однакових умовах, ми одержали числа X1, X2, …, Xn - значення цієї випадкової величини в першому, другому, і т.д. експериментах. Випадкова величина о має деякий розподіл F, що нам частково або повністю невідомий.
Розглянемо докладніше набір X = (X1, …, Xn), названий вибіркою.
У серії вже зроблених експериментів вибірка - це набір чисел. Але якщо цю серію експериментів повторити ще раз, то замість цього набору ми одержимо новий набір чисел. Замість числа X1 з'явиться інше число - одне зі значень випадкової величини о. Тобто X1 (і X2, і X3, і т.д.) - змінна величина, що може приймати ті ж значення, що й випадкова величина о, і так само часто (з тими ж імовірностями). Тому до досліду X1 - випадкова величина, однаково розподілена з о, а після досліду - число, що ми спостерігаємо в даному першому експерименті, тобто одне з можливих значень випадкової величини X1.
Вибірка X = (X1, …, Xn) об'єму n - це набір з n незалежних і однаково розподілених випадкових величин («копій о»), що мають, як і о, розподіл F.
Вибірковий розподіл.
Розглянемо реалізацію вибірки на одному елементарному результаті щ0 - набір чисел X1 = X1 (щ0), …, Xn = Xn (щ0). На підходящому імовірнісному просторі введемо випадкову величину о*, що приймає значення X1, …, Xn з імовірностями по 1/n (якщо якісь зі значень збіглися, складемо ймовірності відповідне число раз). Таблиця розподілу ймовірностей і функція розподілу випадкової величини о* виглядають так:
Розподіл величини о* називають емпіричним або вибірковим розподілом.
Обчислимо математичне очікування й дисперсію величини о* і введемо позначення для цих величин:
Точно так само обчислимо й момент порядку k:
У загальному випадку позначимо через величину:
Якщо при побудові всіх введених нами характеристик вважати вибірку X1, …, Xn набором випадкових величин, то й самі ці характеристики - - cтануть величинами випадковими. Ці характеристики вибіркового розподілу використовують для оцінки (наближення) відповідних невідомих характеристик дійсного розподілу.
Причина використання характеристик розподілу о* для оцінки характеристик дійсного розподілу о (або X1) - у близькості цих розподілів при більших n.
Розглянемо, для приклада, n підкидань правильного кубика. Нехай Xi € {1, …, 6} - кількість очків, що випали при i-му кидку, i = 1, …, n. Припустимо, що одиниця у вибірці зустрінеться n1 раз, двійка - n2 разів і т.д. Тоді випадкова величина о* буде приймати значення 1, …, 6 з імовірностями n1/n, …, n6/n відповідно. Але ці пропорції з ростом n наближаються до 1/6 відповідно до закону більших чисел. Тобто розподіл величини о * у деякому змісті зближається із дійсним розподілом числа очків, що випадають при підкиданні правильного кубика.
Емпірична функція розподілу.
Оскільки невідомий розподіл F можна описати, наприклад, його функцією розподілу F(y) = P (X1 < y), побудуємо по вибірці «оцінку» для цієї функції.
Емпіричною функцією розподілу, побудованої по вибірці X =(X1, …,Xn) об'єму n, називається випадкова функція , при кожному y Є R рівна
Інакше кажучи, при будь-якому y значення F(y), рівне дійсної ймовірності випадковій величині X1 бути менше y, оцінюється часткою елементів вибірки, менших y.
Якщо елементи вибірки X1, …, Xn упорядкувати по зростанню (на кожному елементарному результаті), вийде новий набір випадкових величин, називаний варіаційним рядом
Тут
Елемент X(k), k = 1, …, n називається k-м членом варіаційного ряду або k-ою порядковою статистикою.
Іншою характеристикою розподілу є таблиця (для дискретних розподілів) або щільність (для абсолютно безперервних). Емпіричним, або вибірковим аналогом таблиці або щільності є так звана гістограмма.
Гістограмма будується за групованими даними. Передбачувану область значень випадкової величини (або область вибіркових даних) ділять незалежно від вибірки на деяку кількість інтервалів (не обов'язково однакових). Нехай A1, …, Ak -інтервали на прямій, називані інтервалами угруповання. Позначимо для j = 1, …, k через нj число елементів вибірки, що потрапили в інтервал Aj:
На кожному з інтервалів Aj будують прямокутник, площа якого пропорційна нj. Загальна площа всіх прямокутників повинна дорівнювати одиниці. Нехай lj - довжина інтервалу Aj. Висота fj прямокутника над Aj дорівнює:
Отримана фігура називається гістограммою.
3.1.2 Групування даних в аспекті розв'язуваної задачі
Якщо об'єм вибірки дуже великий, часто працюють не з елементами вибірки, а із групованими даними. Приведемо ряд понять, пов'язаних з угрупованням. Для простоти будемо ділити область вибіркових даних на k однакових інтервалів A1, …, Ak довжини Д:
Як колись, нехай нj - число елементів вибірки, що потрапили в інтервал Aj , і щj - частота влучення в інтервал Aj (оцінка ймовірності влучення в інтервал):
На кожному з інтервалів Aj будують прямокутник з висотою fj = щj/Д і одержують гістограмму.
Розглянемо середини інтервалів: = бj-1 + Д/2 - середина Aj. Набір
можна вважати «огрубленною» вибіркою, у якій всі Xi, що попадають в інтервал Aj, замінені на . По цій вибірці можна побудувати такі ж (але більше грубі) вибіркові характеристики, що й по вихідній (позначимо їх так само), наприклад вибіркове середнє
або вибіркову дисперсію
Крива, що з'єднує крапки (б0, 0), ( 1, f1), …, (k, fk), (бk, 0), називається полігоном (частот). На відміну від гистограммы полігон - безперервна функція (ламана).
Кластеризація.
Величезні обсяги інформації можна зробити доступними для сприйняття, якщо вміти розбивати джерела інформації на тематичні групи, тим самим відразу ж відкидаючи множини даних з мало-релевантних груп. Такий процес угруповання даних здійснюється за допомогою кластеризацїї або класифікації.
Необхідно чітко розуміти різницю між класифікацією й кластеризаціею даних. Класифікація це віднесення кожного елемента в певний клас із заздалегідь відомими параметрами, отриманими на етапі навчання. Число класів строго обмежено. Кластеризація - автоматична розбивка елементів деякої множини на кластери - підмножини (групи), залежно від їхньої схожості. Кількість кластерів може бути довільним або фіксованим. Є 2 основних методи кластеризацїї: декомпозиція (поділ, k-кластеризація) - у цьому випадку кожний об'єкт зв'язаний тільки з однією групою, ієрархічна кластеризація - у цьому випадку кожна група більшого розміру складається із груп меншого розміру.
У кластеризацїї існує велика кількість практичних застосувань як в інформатиці так і в інших областях. Прикладами застосування можуть служити:
o Аналіз даних;
o Добування й пошук інформації;
o Угруповання й розпізнавання об'єктів.
Так само кластеризація сама по собі є важливою формою абстракції даних.
Крім того, кластеризація є розділом сучасної теоретичної інформатики й у цій області можна одержати ряд цікавих дослідницьких результатів.
Формальні визначення.
Об'єкт - елементарна група даних, з якою оперують алгоритми кластеризацїї.
Кожному об'єкту ототожнюється вектор характеристик.
x = (x1, … xd)
Компоненти xi є окремими характеристиками об'єкта.
Кількість характеристик d визначають розмірність простору характеристик.
Множина, що складається із всіх векторів характеристик позначимо ж.
Відстань d(xi, xj) між об'єктами xi і xj - результат застосування обраної метрики в просторі характеристик.
Загальна схема кластеризацїї.
Кластеризація даних містить у собі наступні етапи:
1. Виділення вектора характеристик.
Для початку необхідно вибрати властивості, які характеризують об'єкти. Ними можуть бути кількісні характеристики (координати, інтервали...), якісні характеристики (кольори, статус...) і т.д.
Потім варто спробувати зменшити розмірність простору характеристичних векторів, тобто виділити найбільш важливі властивості об'єктів. Зменшення розмірності прискорює процес кластеризацїї й у ряді випадків дозволяє візуально оцінювати її результати.
Виділені характеристики варто нормалізувати. Далі всі об'єкти представляються у вигляді характеристичних векторів.
2. Визначення метрики.
Вибір метрики необхідний для визначення близькості об'єктів. Метрика вибирається залежно від:
o простору, у якому розташовані об'єкти;
o неявних характеристик кластерів.
3. Розбивка об'єктів на групи.
4. Подання результатів.
Результати кластеризацїї повинні бути представлені в зручному для обробки виді.
Класифікація алгоритмів кластеризацїї.
1. Ієрархічні алгоритми.
Результатом роботи ієрархічних алгоритмів є дендограмма (ієрархія), що дозволяє розбити вихідну множину об'єктів на будь-яке число кластерів. Два найбільш популярні алгоритми:
- Single-link - на кожному кроці поєднує два кластери з найменшою відстанню між двома будь-якими представниками.
- Complete-link - на кожному кроці поєднує два кластери з найменшою відстанню між двома найбільш вилученими представниками.
Кластеризация як задача оптимізації.
Кластеризацію можна розглянути як задачу побудови оптимальної розбивки об'єктів на групи. При цьому оптимальність може бути визначена як вимога мінімізації середноквадратичної помилки розбивки:
,
де cj - «центр мас» кластера j. «Центр мас» кластера - крапка в просторі характеристичних векторів із середніми для даного кластера значеннями характеристик.
2. k-Means алгоритм.
Даний алгоритм складається з наступних кроків:
1) Випадково вибрати k крапок, що є початковими «центрами мас» кластерів (будь-які k з n об'єктів, або взагалі k випадкових крапок);
2) Віднести кожний об'єкт до кластера з найближчим «центом мас»;
3) Перерахувати «центри мас» кластерів відповідно до поточного членства;
4) Якщо критерій зупинки алгоритму не вдоволений, повернуться до другого кроку.
Як критерій зупинки звичайно вибирають один із двох:
a) Відсутність переходу об'єктів із кластера в кластер на кроці 2.
b) Мінімальна зміна середноквадратичної помилки.
Алгоритм чутливий до початкового вибору «центрів мас».
3. Мінімальне покриваюче дерево.
Даний метод робить ієрархічну кластеризацию «зверху - дониз». Спочатку всі об'єкти містяться в один кластер. Потім на кожному кроці один із кластерів розбивається на два, так щоб відстань між ними було максимальною.
4. Метод найближчого сусіда.
Цей метод є одним з найстарших методів кластеризацїї. Він був створений в 1987 році. Він простий і найменш оптимальний із всіх представлених. Для кожного об'єкта поза кластером здійснюється наступне:
1) Знаходимо його найближчого сусіда, кластер якого визначений.
2) Якщо відстань до цього сусіда менше порога, то відносимо його в той же кластер. Інакше з розглянутого об'єкта створюється ще один кластер.
Далі розглядається результат і при необхідності збільшується поріг.
5. Нечітка кластеризація.
Чітка (непересічна) кластеризація - кластеризація, при якій кожний xi з ж відноситься тільки до одного кластеру.
Нечітка кластеризація - кластеризація, при якій для кожного xi з ж визначається fi,k. fi,k - значення, що показує ступінь приналежності xi до кластера j.
Алгоритм нечіткої кластеризации наступний:
Необхідно вибрати початкову нечітку розбивку n об'єктів на k кластерів шляхом вибору матриці приналежності U розміром nЧk. Звичайно Uij ? [0, 1].
Використовуючи матрицю U, знайти значення критерію нечіткої помилки.
Перегрупувати об'єкти з метою зменшення цього значення критерію нечіткої помилки.
Вертатися в пункт 2 доти, поки зміни матриці U не стануть незначними.
Кластеризація великих об'ємів даних.
При кластеризацїї великих об'ємів даних звичайно використають k-Means або гібридні модифікації.
Якщо множина об'єктів не вміщується в основну пам'ять, можна:
o проводити кластеризацію за принципом «розділяй і пануй», шляхом вилучення підмножин, проведення кластеризацїї усередині них і наступною роботою тільки з одним представником кожного кластера;
o використати потокові (on-line) алгоритми (наприклад, модифікація методу найближчого сусіда);
o використати паралельні обчислення.
Застосування кластеризацїї.
Використання кластеризацїї спрощує роботу з інформацією, тому що:
o досить працювати тільки з k представниками кластерів;
o легко знайти «схожі» об'єкти - такий пошук застосовується в ряді пошукових движків;
o відбувається автоматична побудова каталогів.
Також наочне подання кластерів дозволяє зрозуміти структуру множини об'єктів ж у просторі.
3.2 Основні методи оптимізації
3.2.1 Загальна характеристика оптимізаційних задач
Пошуки оптимальних рішень привели до створення спеціальних математичних методів і вже в 18 столітті були закладені математичні основи оптимізації (варіаційне обчислення, чисельні методи й ін). Однак до другої половини 20 століття методи оптимізації в багатьох галузях науки й техніки застосовувалися дуже рідко, оскільки практичне використання математичних методів оптимізації вимагало величезної обчислювальної роботи, що без ЕОМ реалізувати було вкрай важко, а в ряді випадків - неможливо. Особливо більші труднощі виникали при рішенні задач оптимізації процесів у хімічній технології через велику кількість параметрів і їхнього складного взаємозв'язку між собою. При наявності ЕОМ задача помітно спрощується.
Терміном "оптимізація" у літературі позначають процес або послідовність операцій, що дозволяють одержати уточнене рішення. Хоча кінцевою метою оптимізації є відшукання найкращого або "оптимального" рішення, звичайно доводиться задовольнятися поліпшенням відомих рішень, а не доведенням їх до досконалості. Тому під оптимізацією розуміють скоріше прагнення до досконалості, що, можливо, і не буде досягнуто.
Необхідність прийняття найкращих рішень так само стара, як саме людство. Споконвіку люди, приступаючи до здійснення своїх заходів, роздумували над їхніми можливими наслідками й приймали рішення, вибираючи тим або іншому образу залежні від них параметри - способи організації заходів. Але до пори, до часу рішення могли прийматися без спеціального математичного аналізу, просто на основі досвіду й здорового глузду.
Візьмемо приклад: людина вийшла ранком з будинку, щоб їхати на роботу. По ходу справи йому доводиться прийняти цілий ряд рішень: чи брати із собою парасольку? У якім місці перейти вулицю? Яким видом транспорту скористатися? І так далі. Зрозуміло, всі ці рішення людин приймає без спеціальних розрахунків, просто опираючись на наявний у нього досвід і на здоровий глузд. Для обґрунтування таких рішень ніяка наука не потрібна, так навряд чи знадобиться й надалі.
Однак візьмемо інший приклад. Допустимо, організується робота міського транспорту. У нашому розпорядженні є якась кількість транспортних засобів. Необхідно прийняти ряд рішень, наприклад: яка кількість і які транспортні засоби направити по тім або іншому маршруті? Як змінювати частоту проходження машин залежно від часу доби? Де розмістити зупинки? І так далі.
Ці рішення є набагато більше відповідальними, чим рішення попереднього приклада. У силу складності явища наслідку кожного з них не настільки ясні; для того, щоб уявити собі ці наслідки, потрібно провести розрахунки. А головне, від цих рішень набагато більше залежить. У першому прикладі неправильний вибір рішення зачепить нтереси однієї людини; у другому - може відбитися на діловому житті цілого міста.
Звичайно, і в другому прикладі при виборі рішення можна діяти інтуїтивно, опираючись на досвід і здоровий глузд. Але рішення виявляться набагато більше розумними, якщо вони будуть підкріплені кількісними, математичними розрахунками. Ці попередні розрахунки допоможуть уникнути тривалого й дорогого пошуку правильного рішення "на дотик".
Найбільш складно стщїть справа із прийняттям рішень, коли мова йде про заходи, досвіду в проведенні яких ще не існує й, отже, здоровому глузду не на що обпертися, а інтуїція може обдурити. Нехай, наприклад, складається перспективний план розвитку озброєння на кілька років уперед. Зразки озброєння, про які може йти мову, ще не існують, ніякого досвіду їхнього застосування немає. При плануванні доводиться опиратися на велику кількість даних, стосовних не стільки до минулого досвіду, скільки до передбачуваного майбутнього. Обране рішення повинне по можливості вберегти нас від помилок, пов'язаних з неточним прогнозуванням, і бути досить ефективним для широкого кола умов. Для обґрунтування такого рішення приводиться в дію складна система математичних розрахунків.
Взагалі, чим складніше организуемое захід, чим більше вкладається в нього матеріальних засобів, чим ширше спектр його можливих наслідків, тим менш припустимі так звані "вольові" рішення, що не опираються на науковий розрахунок, і тим більше значення одержує сукупність наукових методів, що дозволяють заздалегідь оцінити наслідку кожного рішення, заздалегідь відкинути неприпустимі варіанти й рекомендувати ті, які представляються найбільш вдалими.
Практика породжує все нові й нові задачі оптимізації причому їхня складність росте. Потрібні нові математичні моделі й методи, які враховують наявність багатьох критеріїв, проводять глобальний пошук оптимуму. Інакше кажучи, життя змушує розвивати математичний апарат оптимізації.
Реальні прикладні задачі оптимізації дуже складні. Сучасні методи оптимізації далеко не завжди справляються з рішенням реальних задач без допомоги людини. Не icнує, поки такої теорії, що врахувала б будь-які особливості функцій, що описують постановку задачі. Варто віддавати перевагу таким методам, якими простіше управляти в процесі рішення задачі.
Подобные документы
Дослідження етапів розробки програмної реалізації криптографічного алгоритму RC5. Опис об'єкту, що потребує захисту: операційне середовище, тип програмного забезпечення. Блок-схема алгоритму функціонування програми криптозахисту. Листінг тесту програми.
курсовая работа [4,4 M], добавлен 28.10.2010Програмна реалізація алгоритму пошуку найкоротшого шляху між двома будь-якими вершинами графа. Загальні відомості про графи. Особливості роботи в середовищі. Опис структури програми та програмних засобів. Схема програмної реалізації алгоритму Дейкстри.
курсовая работа [676,7 K], добавлен 20.03.2011Історія створення мови С#. Аналіз алгоритмів кодування даних. Розробка системи в середовищі Visual Studio 2008 Express. Схема шифрування алгоритму DES. Дослідження алгоритму RC2. Приклади хешів RIPEMD-160. Програмна реалізація основних процедур системи.
дипломная работа [1,7 M], добавлен 25.10.2012Огляд суті гри "Доміно", характеристика її існуючих програмних реалізацій. Розробка евристичного алгоритму для розв’язання ігрової ситуації "Доміно". Програмна реалізація алгоритму мовою програмування високого рівня C#. Отладка оціночної функції.
курсовая работа [1,4 M], добавлен 14.05.2012Розробка програми для вирішення графічної задачі. При вирішенні задачі необхідно cтворювати програму у середовищі програмування Turbo Pascal. Розробка алгоритму функціонування програми і надання блок-схеми алгоритму. Демонстрація роботи програми.
курсовая работа [1,3 M], добавлен 23.06.2010Виділення інформаційних залежностей. Створення віртуальної декартової топології. Визначення розмірів об’єктів та введення вихідних даних. Масштабування та розподілення підзадач між процесам. Множення матричних блоків. Програмна реалізація алгоритму Фокса.
отчет по практике [766,0 K], добавлен 05.06.2015Характеристики вузлів системи автоматичного закривання жалюзі. Розробка схеми електричної функціональної. Блок-схема алгоритму роботи пристрою. Середовище розробки програмної частини пристрою. Основні компоненти розробки програмної частини системи.
курсовая работа [1,0 M], добавлен 06.12.2014Види секретної інформації та методи захисту. Тип і об’єм вхідних даних. Програмна реалізація системи алгоритму шифрування зі стисненням. Призначення та опис програмного продукту Export. Алгоритми захисту зберігання та обміну секретною інформацією.
дипломная работа [1,1 M], добавлен 19.09.2012Розробка програми для моделювання роботи алгоритму Дейкстри мовою C# з використанням об’єктно-орієнтованих принципів програмування. Алгоритм побудови робочого поля. Програмування графічного інтерфейсу користувача. Тестування програмного забезпечення.
курсовая работа [991,4 K], добавлен 06.08.2013Побудова блок-схеми алгоритму проста вставка. Програмна реалізація алгоритму, опис результатів. Особливості обліку ітерації масивів. Відсортування даних за допомогою програми Turbo Pascal. Аналітична оцінка трудомісткості, графічне представлення.
контрольная работа [570,1 K], добавлен 21.05.2014