Використання генетичних алгоритмів для складання розкладу

Информация - Компьютеры, программирование

Другие материалы по предмету Компьютеры, программирование

их, а саме: а) зберегти розклад у файл; б) експортувати розклад у Microsoft Excel; в) експортувати часткові розклади у Microsoft Word.

UML-діаграма прецедентів програми зображена на рис.3.6.

 

Рис. 3.6. Діаграма прецедентів програми

 

Звязки програми з іншими програмами.

Програма "Schedule" тісно повязана з таким програмним продуктом фірми Microsoft, як Microsoft Office. Так, готовий розклад, створений за допомогою програми "Schedule", за допомогою відповідної команди експортується в Microsoft Excel з форматуванням, необхідним для його подальшого друку та використання. Програма "Schedule" також надає користувачеві можливість експортувати в Microsoft Word часткові розклади для будь-якої групи або викладача. Часткові розклади експортуються у вигляді таблиць, оптимізованих для друку або редагування.

 

Використовувані технічні засоби

 

Для розробки програмного продукту було використано компютер наступної конфігурації:

Центральний процесор - Pentium IV, 3.0 GHz (1 MB L2-Cache, 800 MHz FSB, PGA-478 Pkg);

Материнська плата - Gigabyte GA-8IPE1000-G;

Оперативна память - 512 MB;

Жорсткий диск - Seagate Barracuda ST3200822AS SATA 200 GB;

Графічний адаптер - ATI Radeon 9600 Pro (Sapphire).

 

Виклик і завантаження

 

Програма "Schedule" може бути викликана стандартними методами, прийнятими в операційній системі Microsoft Windows, а саме: подвійним натисканням лівої кнопки маніпулятора "миша" в момент перебування його вказівника на значкові програми або ярлика до неї; натисканням на клавіатурі клавіші "Enter" або "Return" після активування значка або ярлика (підсвічування синім кольором). Для цієї мети доцільно використовувати можливості багаточисленних файлових менеджерів (напр., Far Manager або Total Commander). Після коректного інсталювання програми ярлик для її виклику додається в меню "Пуск". Також існує можливість виклику програми з одним параметром з командного рядка. В ролі параметру необхідно вказати імя файлу з розкладом, який буде негайно відкрито програмою. Під час інсталювання програми "Schedule" виконавчий модуль дистрибутива створює асоціацію програми з файлами типу ". bsc" - від "Binary Schedule" - бінарний файл з розкладом. Тому при спробі завантаження такого файлу також викликається програма "Schedule", за допомогою якої даний файл негайно відкривається для подальшої роботи з ним (по аналогії з документами Microsoft Word).

 

Вхідні дані

 

Вхідними даними для програми "Schedule" є дані, що зберігаються в базі даних (Рис.6.16) і параметри розкладу (Рис.6.13), програми (Рис.6.14) та бази даних (Рис.6.15), які зберігаються в системному реєстрі. При наявності файлів із збереженим розкладом вони також можуть виступати в ролі вхідних даних. База даних працює під керуванням СКБД FireBird 1.5, встановленої на серверній машині, що має звязок по мережі з клієнтською машиною, на якій знаходиться програма. Остання надає можливість змінювати, додавати та видаляти будь-які з вказаних даних за допомогою відповідної кількості неповязаних між собою екранних форм, що дозволяє користувачеві порівнювати та оцінювати одночасно декілька блоків даних.

В базі даних міститься наступна інформація:

Викладачі (Рис.6.1).

Прізвище.

Імя.

По-батькові.

Посада.

Науковий ступінь.

Коротка інформація.

Зайнятість (відсутність можливості проводити певні пари в певні дні).

Групи (Рис.6.2).

Номер групи.

Курс.

Спеціальність.

Кількість студентів.

Кількість підгруп.

Приміщення (Рис.6.3).

Номер.

Назва.

Вид.

Кількість робочих місць.

Навчальний корпус.

Спеціальності (Рис.6.4).

Назва.

Дисципліни (Рис.6.5).

Назва.

Види занять (Рис.6.6).

Назва.

Навчальне навантаження (Рис.6.7).

Порядковий номер.

Група.

Дисципліна.

Вид заняття.

Кількість підгруп.

Номер підгрупи.

Кількість годин за семестр

Викладач.

Придатність приміщень (Рис.6.8).

Дисципліна.

Вид заняття.

Максимально придатні приміщення.

Придатні приміщення.

Непридатні приміщення.

Види приміщень (Рис.6.9).

Вид приміщення.

Вид заняття, якому відповідає вид приміщення.

Посади (Рис.6.10).

Назва посади.

Скорочена назва посади.

Наукові ступені (Рис.6.11).

Назва.

Навчальні корпуси (Рис.6.12).

Назва.

Номер.

Параметрами розкладу та програми є наступні величини.

Параметри розкладу (Рис.6.13):

Кількість робочих днів у тижні.

Кількість пар у день.

Параметри програми (Рис.6.14):

Параметри початкової генерації.

Кількість спроб вставки потоку.

Кількість спроб вставки групи.

Кількість спроб вставки підгрупи.

Кількість спроб генерування розкладу.

Параметри генетичного алгоритму.

Максимальна кількість поколінь.

Максимальний час процесу оптимізації.

Імовірність мутації.

Процент мутацій в хромосомі.

Кількість спроб кросоверу потоків.

Кількість спроб кросоверу груп.

Кількість спроб кросоверу підгруп.

 

Рис. 6.1 Форма "Викладачі"

 

Рис. 6.2. Форма "Групи"

 

Рис. 6.3. Форма "Приміщення"

 

Рис. 6.4. Форма "Спеціальності"

 

Рис. 6.5. Форма "Дисципліни"

 

Рис. 6.6. Форма "Види занять"

 

Рис. 6.7. Форма "Навчальне навантаження"

 

Рис. 6.8. Форма "Придатність приміщень"

 

Рис. 6.9. Форма "Види приміщень"

 

Рис. 6.10. Форма "Посади"