Математика/5. Математическое моделирование

 

Студентка Васильева Т.М.

Северо-Казахстанский Государственный Университет имени Манаша Козыбаева, г. Петропавловск, Республика Казахстан

Методы решения задач оптимизации

Учебная нагрузка профессорско-преподавательского состава – это все виды занятий со студентами в аудитории, руководство практикой, руководство аспирантами, проверка контрольных работ, руководство и прием курсовых и дипломных проектов, консультации, прием зачетов и экзаменов, кураторство, участие в государственной аттестационной и экзаменационной комиссии.

Расчет учебной нагрузки кафедры и ее распределение между преподавателями – одна из ответственных, но достаточно трудоемких обязанностей заведующего кафедрой вуза, особенно если велико число дисциплин, читаемых на кафедре, а кадровый состав на кафедре достаточно многочислен и динамичен.

Специфика работы преподавателя вуза не позволяет руководствоваться при распределении нагрузки классической технологией тайм-менеджмента, поскольку она не укладывается в обычные рамки «с 8 до 17». Это связанно с особенностями расписания учебных занятий, предметами, которые он преподает, различные способы подачи материала предполагают даже для одной и той же дисциплины различное время подготовки, способы контроля усвоения знаний также могут быть различны - от тестового контроля знаний до классического экзаменационного опроса по билетам или творческого задания, а также «внеучебной» нагрузкой, которая, как правило, включает в себя как воспитательную, так и научную деятельность. Поэтому необходимо определиться с методом решения задачи по оптимизации нагрузки на профессорско-преподавательский состав кафедры.

Генетический алгоритм – новейший, но не единственно возможный способ решения задач оптимизации. С давних пор известны два основных пути решения таких задач – переборный и локально-градиентный. У этих методов свои достоинства и недостатки, и в каждом конкретном случае следует подумать, какой из них выбрать.

Следует рассмотреть достоинства и недостатки стандартных и генетических методов на примере классической задачи коммивояжера. Суть задачи состоит в том, чтобы найти кратчайший замкнутый путь обхода нескольких городов, заданных своими координатами. Оказывается, что уже для 30 городов поиск оптимального пути представляет собой сложную задачу, побудившую развитие различных новых методов, в том числе нейросетей и генетических алгоритмов.

Каждый вариант решения – это числовая строка, где на j-ом месте стоит номер j-ого по порядку обхода города. Таким образом, в этой задаче 30 параметров, причем не все комбинации значений допустимы. Естественно, первой идеей является полный перебор всех вариантов обхода.

Переборный метод, в соответствии с рисунком 1, наиболее прост по своей сути и тривиален в программировании. Для поиска оптимального решения необходимо последовательно вычислить значения целевой функции во всех возможных точках, запоминая максимальное из них.

C:\Users\Таня\Desktop\Новая папка\image-doc-ga-002-06.gif

Рисунок 1. Переборный метод

Недостатком этого метода является большая вычислительная стоимость. В частности, в задаче коммивояжера потребуется просчитать длины более 1030 вариантов путей, что совершенно нереально. Однако, если перебор всех вариантов за разумное время возможен, то можно быть абсолютно уверенным в том, что найденное решение действительно оптимально [1].

Второй популярный способ основан на методе градиентного спуска в соответствии с рисунком 2. При этом вначале выбираются некоторые случайные значения параметров, а затем эти значения постепенно изменяют, добиваясь наибольшей скорости роста целевой функции. Достигнув локального максимума, такой алгоритм останавливается, поэтому для поиска глобального оптимума потребуются дополнительные усилия.

C:\Users\Таня\Desktop\Новая папка\image-doc-ga-002-07.gif

Рисунок 2. Метод градиентного спуска

Градиентные методы работают очень быстро, но не гарантируют оптимальности найденного решения. Они идеальны для применения в так называемых унимодальных задачах, где целевая функция имеет единственный локальный максимум [2].

Типичная практическая задача, как правило, мультимодальна и многомерна, то есть содержит много параметров. Для таких задач не существует ни одного универсального метода, который позволял бы достаточно быстро найти абсолютно точное решение.

Однако, комбинируя переборный и градиентный методы, можно надеяться получить хотя бы приближенное решение, точность которого будет возрастать при увеличении времени расчета в соответствии с рисунком 3.

C:\Users\Таня\Desktop\Новая папка\image-doc-ga-002-10.gif

Рисунок 3. Зависимость точности расчетов от времени

Генетический алгоритм представляет собой именно такой комбинированный метод. Механизмы скрещивания и мутации в каком-то смысле реализуют переборную часть метода, а отбор лучших решений - градиентный спуск. В соответствии с рисунком 4 показано, что такая комбинация позволяет обеспечить устойчиво хорошую эффективность генетического поиска для любых типов задач.

C:\Users\Таня\Desktop\222222.jpg

Рисунок 4. Эффективность алгоритмов

Если на некотором множестве задана сложная функция от нескольких переменных, то генетический алгоритм - это программа, которая за разумное время находит точку, где значение функции достаточно близко к максимально возможному. Выбирая приемлемое время расчета, получается одно из лучших решений, которые вообще возможно получить за это время [3].

 

Литература:

1.            Воронцов К.В., Методы оценивания и выбора моделей - Новосибирск, 2006. - 123 с.;

2.            Пантелеев А.В., Летова Т.А., Методы оптимизации в примерах и задачах – Высшая школа, 2005. – 544 с.;

3.            Панченко Т.В., Генетические алгоритмы – Астраханский университет, 2007. – 90 с.