Файл: пензенский государственный университет политехнический институт.docx
Добавлен: 30.11.2023
Просмотров: 212
Скачиваний: 4
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
Основные положения, выносимые на защиту:
Эквивалентные преобразования моделей задач линейного программирования
Анализ моделей и алгоритмов решения задач о назначениях
Анализ эквивалентных преобразований моделей задач о назначениях
Модель и алгоритм решения задачи с приоритетными назначениями
Решение простейшей линейной задачи о назначениях в пакете
«Mathcad» осуществляется с помощью встроенной функции «Minimize», возвращающей матрицу искомых значений неизвестных, при которых исследуемая целевая функция имеет минимальное значение. При использовании функции «Minimize» автоматически определяется тип задачи математического программирования (линейная или нелинейная) и подбирается подходящий алгоритм оптимизации из группы доступных методов. Если задача линейная, как в приведенном случае, то применяется симплекс-метод. Результаты работы программы приведены на рисунке 1:
Рисунок 1 – Исходные данные и решение простейшей линейной задачи о назначениях
Достоинствами приведенного способа решения простейшей линейной задачи о назначениях является наглядность и несложность программирования при увеличении размерности задачи.
- 1 2 3 4 5 6 7 8 9 ... 21
Анализ моделей и алгоритмов решения задач о назначениях
Как правило, большинство модификаций и обобщений простейшей линейной задачи о назначениях вытекают из практических нужд. Следствием прикладной направленности задачи является многообразие ее моделей. Различные виды моделей задач о назначениях можно классифицировать по ряду признаков (рисунок 2).
Интервальные ЗОН
ЗОН на максимум
Нелинейные ЗОН
Числовые ЗОН
По направлению оптимизации
По виду целевой функции
По размерности неизвестных
Многокритериальные ЗОН
По количеству целевых функций
По мощности множеств индексов
По типу коэффициентов целевой функции
ЗОН с минимаксным критерием
Нечеткие ЗОН
Закрытые
ЗОН с максиминным критерием
Многоиндексные ЗОН
Рисунок 2 – Классификация задач о назначениях
По виду целевой функции можно выделить два основных класса задач:
-
линейные задачи о назначениях; -
нелинейные задачи о назначениях.
Задача о назначениях с линейной целевой функцией широко применяется во многих областях практической деятельности и имеет множество интерпретаций: подбор кадрового персонала и трудоустройство населения [3, 4], отбор контрагентов на конкурсной основе [5, 6], раcпределение продавцов по торговым точкам [7], назначение транспорта на маршруты [8] и пр. Наиболее изученной является простейшая линейная задача, определяемая соотношениями (1) – (4), для которой разработаны многочисленные точные алгоритмы решения.
Среди нелинейных задач весьма широкие области приложения имеет класс задач с квадратичной целевой функцией. В одной из частых постановок она рассматривается как задача о размещении производственных объектов по локациям [9]. Для каждой пары локаций задано расстояние, для каждой пары производственных объектов задан вес или поток (например, количество продукции, перевозимой между двумя производствами). Требуется расставить производства по локациям таким образом, что сумма расстояний, умноженных на соответствующие потоки, будет минимальной, при этом два производства
нельзя размещать в одном месте. Задачи о назначениях с квадратичной целевой функцией возникают при проектировании и оптимизации логистической системы предприятий, размещении вычислительных задач в узлах распределенной вычислительной среды, проектировании генеральных планов предприятий, расчете оптимального расположения технологического оборудования в цехах и т.д.
Квадратичная задача о назначениях относится к классу NP-полных задач. Для точного решения задачи применяются модифицированные методы комбинаторного анализа и целочисленного программирования [10, 11, 12]. Разработан ряд эвристических алгоритмов, позволяющих найти субоптимальное решение, например, алгоритм «табу-поиска» [13, 14], итеративный локальный поиск [15, 16, 17], Для поиска решения часто используются генетические алгоритмы [18, 19, 20], муравьиный алгоритм [21, 22], алгоритмы на основе нейронных сетей [23]. Многие исследования связаны с разработкой алгоритмов решения квадратичной задачи о назначениях на графах и сетях. Постановка в терминах теории графов удобна, когда специфика прикладной задачи предполагает наличие специальных структур связей между объектами [24]. Показано, что если графы связей и расстояний являются изоморфными деревьями, то квадратичная задача о назначениях разрешима за полиномиальное время алгоритмом динамического программирования [10]. В [25] предложен алгоритм локальной оптимизации для задачи о назначениях на двудольных графах. В [26, 27] предложен ряд полиномиальных алгоритмов решения квадратичной задачи о назначениях для специальных видов графов и сетей. В частности, рассматривается размещение цепи и цикла на древовидной взвешенной сети. В [24] предложен параллельный алгоритм динамического программирования решения квадратичной задачи о назначениях с минисуммным критерием для графа связей общей структуры с произвольными весами ребер на древовидной сети с равными весами. Дальнейшее обобщение вида целевых функций приводит к кубическим и биквадратным (четвертые степени) задачам о назначениях [28, 29].
По направлению оптимизации можно выделить следующие классы задач:
-
задачи о назначениях с целевой функцией на минимум; -
задачи о назначениях с целевой функцией на максимум; -
задача о назначениях с минимаксным критерием; -
задача о назначениях с максиминным критерием.
Направление оптимизации целевой функции зависит от того, что понимается под эффективностью выполнения работ в той или иной задаче. Во многих случаях, в том числе и в простейшей линейной постановке, задача о назначениях заключается в распределении работ по исполнителям с целью минимизации суммарных затрат. Если же эффективность выполнения работ оценивается приносимой прибылью, то за целевую функцию принимается суммарная прибыль, которую следует максимизировать. Обычно решение такой задачи основывается на переходе к матрице, эквивалентной исходной, коэффициенты которой имеют смысл потерь прибыли от максимально возможной и дальнейшей минимизации потери прибыли [30, 31].
Минимаксный критерий возникает, когда важно минимизировать максимальное из значений потерь [10]. Алгоритм решения минимаксной задачи, описанный в [32], представляет собой модификацию алгоритма Дейкстры. В [33] предложен алгоритм решения минимаксной задачи о назначениях на графах, который в случае открытой минимаксной задачи о назначениях является полиномиальным. В [34] описан алгоритм решения минимаксной задачи высокой размерности, результатом применения которого является получение множества решений, оптимальных по Парето. В [35] предложены использующие многокритериальные схемы компромисса алгоритмы решения максиминной задачи о назначениях.
По типу коэффициентов целевой функции можно выделить следующие классы задач:
-
детерминированные задачи о назначениях, в которых коэффициенты целевой функции являются числами; -
интервальные задачи о назначениях, в которых коэффициенты целевой функции заданы числовыми интервалами; -
нечеткие задачи о назначениях, в которых коэффициенты целевой функции являются нечетким числами (интервалами).
Подавляющее большинство задач о назначениях содержат целевую функцию с числовыми коэффициентами. Между тем, на практике встречаются такие задачи, коэффициенты целевых функции которых известны лишь с той или иной степенью неопределенности. Здесь возникают интервальные и нечеткие задачи о назначениях. В связи с естественной множественностью неточно поставленных целей, для таких задач нет единого подхода в определении понятия оптимальности решения, что обусловливает многообразие алгоритмов решения [36 – 42]. При этом наиболее часто используется детерминизационный подход к оптимизации интервальных или нечетко определенных функций.
По количеству целевых функций можно выделить:
-
однокритериальные задачи о назначениях; -
многокритериальные задачи о назначениях.
Многокритериальность часто возникает при формализации различных прикладных проблем. Так, в [43] описана многокритериальная постановка задачи о назначениях на предфрактальном графе, формализующая задачу конкурсного отбора проектов со сложными связями между заказчиками и исполнителями, и предложен алгоритм выделения совершенного паросочетания. В [44] задача составления расписания учебных занятий с учетом дополнительных требований рассматривается как многокритериальная задача о назначениях. Для поиска решения такой задачи используется генетический алгоритм. В [45] представлена двухкритериальная модель задачи о назначениях с формализованным дополнительным требованием учета предпочтений соискателя вакансии при подборе места работы. Алгоритм решения такой задачи основан на использовании метода гарантированного результата с последующим переходом к двойственной задаче и применением алгоритма Удзавы.
Многие работы посвящены обоснованию используемой схемы компромисса [35, 46, 47, 48, 49]. Например, в [50] для определения назначе- ний при оперативном планировании в редакционном отделе крупного издательства с учетом интересов членов коллектива в качестве критерия решения задачи рассматривается выбор наиболее близких по своим векторным характеристикам пар «объект – субъект». Также известны работы, связанные с проблемой нормирования критериев [51].