- •1 Теорема:
- •6) Канонический вид злп; разрешенный и допустимый канонический вид. Использование канонической формы в симплексном методе. Критерий допустимости и критерий оптимальности.
- •7) Метод искусственного базиса для нахождения вершины. Искусственные переменные и недопустимость множества решений злп.
- •9) Двойственные задачи. Двойственность в линейном программировании. Правила построения двойственных задач
- •Правила построения пары двойственных задач
- •Исследование моделей задач лп на чувствительность.
- •12. Транспортная задача. Общая постановка транспортной задачи. Свойства множества решений. Методы нахождения первой вершины.
- •Метод потенциалов.
- •15. Вырожденность в транспортных задачах и приемы борьбы с зацикливанием. Задача о назначениях как частный случай вырожденной транспортной задачи
- •Задача о назначениях
- •16) Элементы целочисленного программирования. Метод Гомори построения отсечений и двойственный симплексный метод.
15. Вырожденность в транспортных задачах и приемы борьбы с зацикливанием. Задача о назначениях как частный случай вырожденной транспортной задачи
Вырожденность в транспортной задаче
Вырожденность в транспортной задаче возникает, когда одна или более базисных переменных обращаются в 0.
При построении первого базисного решения могут возникать трудности, если суммы по строкам и столбцам равны между собой и обратились в 0. В этом случае из дальнейшего рассмотрения следует исключить только одну из них. Другая сумма будет ликвидирована при присвоении базисной переменной значения 0. Поскольку на каждом шаге удаляется только одна строка или только один столбец, то в результате количество базисных переменных не меняется (даже если некоторые базисные переменные обратились в нуль).
Трудности могут возникать и при улучшении базисного допустимого плана. Применение правил может обратить в нуль более одной базисной переменной. В этом случае важно помнить, что только одна из них должна стать не базисной, остальные следует сохранить базисными, но с нулевыми значениями.
Задача о назначениях
"Лучший работник для выполнения данной работы" — вот подходящее краткое описание задачи о назначениях. В этой задаче необходимо назначить работников на определенные работы; каждый работник может выполнять любую работу, хотя и с различной степенью мастерства. Если на некоторую работу назначается работник именно той квалификации, которая необходима для ее выполнения, тогда стоимость выполнения работы будет ниже, чем при назначении на данную работу работника неподходящей квалификации. Цель задачи — найти оптимальное (минимальной стоимости) распределение работников по всем заявленным работам.
Общая задача назначения п работников на п работ представлена в табл. 5.31.
Коэффициент сц равен стоимости назначения работника i на работу j (i,j= I, 2,..., п). То, что количество работников равно количеству работ, не является ограничением общности, поскольку всегда можно ввести в модель фиктивных работников или фиктивные работы.
Задача о назначениях является частным случаем транспортной задачи, в которой работники соответствуют пунктам отправления, а работы — пунктам назначения. В данном случае все величины спроса и предложения равны 1. Стоимость "транспортировки" рабочего i на работу j равна ctj. Задачу о назначениях можно эффективно решить точно так же, как и транспортную задачу. Вместе с тем тот факт, что все величины спроса и предложения равны 1, привел к разработке упрощенного алгоритма решения, названного венгерским методом. Хотя этот метод не имеет никакого отношения к транспортной задаче, он, как и метод потенциалов, все равно основан на симплекс-методе.
16) Элементы целочисленного программирования. Метод Гомори построения отсечений и двойственный симплексный метод.
Экономическая и геометрическая интерпретация задачи целочисленного программирования. Экстремальная задача, переменные которой принимают лишь целочисленные значения, называется задачей целочисленного программирования.
В математической модели задачи целочисленного программирования как целевая функция, так и функции в системе ограничений могут быть линейными, нелинейными и смешанными. Ограничимся случаем, когда целевая функция и система ограничений задачи являются линейными.
Метод Гомори. Нахождение решения
задачи целочисленного программирования
методом Гомори начинают с определения
симплексным методом оптимального плана
задачи (78) – (80) без учета целочисленности
переменных. После того как этот план
найден, просматривают его компоненты.
Если среди компонент нет дробных чисел,
то найденный план является оптимальным
планом задачи целочисленного
программирования (78) – (81). Если же в
оптимальном плане задачи (78) – (80)
переменная
принимает
дробное значение, то к системе уравнений
(79) добавляют неравенство
(82)
и находят решение задачи (78) – (80), (82).
В неравенстве (82)
и
–
преобразованные исходные величины
и
значения
которых взяты из последней симплекс–таблицы,
а
и
–
дробные части чисел (под дробной частью
некоторого числа а понимается наименьшее
неотрицательное число b такое, что
разность между а и b есть целое).
Если в оптимальном плане задачи (78) –
(80) дробные значения принимают несколько
переменных, то дополнительное неравенство
(82) определяется наибольшей дробной
частью.
Если в найденном плане задачи (78) – (80), (82) переменные принимают дробные значения, то снова добавляют одно дополнительное ограничение и процесс вычислений повторяют. Проводя конечное число итераций, либо получают оптимальный план задачи целочисленного программирования (78) – (81), либо устанавливают ее неразрешимость.
Если требование целочисленности (81) относится лишь к некоторым переменным, то такие задачи называются частично целочисленными. Их решение также находят последовательным решением задач, каждая из которых получается из предыдущей с помощью введения дополнительного ограничения. В этом случае такое ограничение имеет вид
(83)
где
определяются
из следующих соотношений:
1) для , которые могут принимать нецелочисленные значения,
(84)
2) для , которые могут принимать только целочисленные значения,
(85)
Из изложенного выше следует, что процесс определения оптимального плана задачи целочисленного программирования методом Гомори включает следующие основные этапы:
1. Используя симплексный метод, находят решение задачи (78) – (80) без учета требования целочисленности переменных.
2. Составляют дополнительное ограничение для переменной, которая в оптимальном плане задачи (78) – (80) имеет максимальное дробное значение, а в оптимальном плане задачи (78) – (81) должна быть целочисленной.
3. Используя двойственный симплекс–метод, находят решение задачи, получающейся из задачи (78) – (80) в результате присоединения дополнительного ограничения.
4. В случае необходимости составляют еще одно дополнительное ограничение и продолжают итерационный процесс до получения оптимального плана задачи (78) – (81) или установления ее неразрешимости.
Двойственный симплекс-метод, как и
симплекс-метод, используется при
нахождении решения задачи линейного
программирования, записанной в форме
основной задачи, для которой среди
векторов
,
составленных из коэффициентов при
неизвестных в системе уравнений, имеется
m единичных. Вместе с тем двойственный
симплекс–метод можно применять при
решении задачи линейного программирования,
свободные члены системы уравнений
которой могут быть любыми числами
(при решении задачи симплексным методом
эти числа предполагались неотрицательными).
Такую задачу и рассмотрим теперь,
предварительно предположив, что
единичными являются векторы
т.
е. рассмотрим задачу, состоящую в
определении максимального значения
функции
(54)
при условиях
(55)
(56)
где
и среди чисел
имеются
отрицательные.
В данном случае
есть
решение системы линейных уравнений
(55). Однако это решение не является планом
задачи (54) – (56), так как среди его компонент
имеются отрицательные числа.
Поскольку векторы
–
единичные, каждый из векторов
можно
представить в виде линейной комбинации
данных векторов, причем коэффициентами
разложения векторов
по
векторам
служат
числа
Таким
образом, можно найти
Определение 14.
Решение
системы
линейных уравнений (55), определяемое
базисом
,
называется псевдопланом задачи
(54) – (56), если
для
любого
Теорема 11.
Если в псевдоплане
,
определяемом базисом
,
есть хотя бы одно отрицательное число
такое,
что все
,
то задача (54) – (56) вообще не имеет
планов.
Теорема 12.
Если в псевдоплане , определяемом базисом , имеются отрицательные числа такие, что для любого из них существуют числа aij<0, то можно перейти к новому псевдоплану, при котором значение целевой функции задачи (54) – (56) не уменьшится.
Сформулированные теоремы дают основание для построения алгоритма двойственного симплекс-метода.
Итак, продолжим рассмотрение задачи
(54) – (56). Пусть
–
псевдоплан этой задачи. На основе
исходных данных составляют симплекс-таблицу
(табл. 15), в которой некоторые элементы
столбца вектора
являются
отрицательными числами. Если таких
чисел нет, то в симплекс-таблице записан
оптимальный план задачи (54) – (56),
поскольку, по предположению, все
.
Поэтому для определения оптимального
плана задачи при условии, что он
существует, следует произвести
упорядоченный переход от одной
симплекс–таблицы к другой до тех пор,
пока из столбца вектора
не
будут исключены отрицательные элементы.
При этом все время должны оставаться
неотрицательными все элементы (т
+1)–й строки, т.е.
для
любого
Таким образом, после составления
симплекс-таблицы проверяют, имеются ли
в столбце вектора
отрицательные
числа. Если их нет, то найден оптимальный
план исходной задачи. Если же они имеются
(что мы и предполагаем), то выбирают
наибольшее по абсолютной величине
отрицательное число. В том случае, когда
таких чисел несколько, берут какое–нибудь
одно из них: пусть это число bl.
Выбор этого числа определяет вектор,
исключаемый из базиса, т. е. в данном
случае из базиса выводится вектор Pl.
Чтобы определить, какой вектор следует
ввести в базис, находим
,
где
Пусть это минимальное значение принимается
при
,
тогда в базис вводят вектор Рr.
Число
является
разрешающим элементов. Переход к новой
симплекс–таблице производят по обычным
правилам симплексного метода. Итерационный
процесс продолжают до тех пор, пока в
столбце вектора Р0 не будет
больше отрицательных чисел. При этом
находят оптимальный план исходной
задачи, а следовательно, и двойственной.
Если на некотором шаге окажется, что в
i–й строке симплекс–таблицы (табл.
15) в столбце вектора Р0 стоит
отрицательное число bi,
а среди остальных элементов этой
строки нет отрицательных, то исходная
задача не имеет решения.
Таким образом, отыскание решения задачи (54) – (56) двойственным симплекс-методом включает следующие этапы:
1. Находят псевдоплан задачи.
2. Проверяют этот псевдоплан на оптимальность. Если псевдоплан оптимален, то найдено решение задачи. В противном случае либо устанавливают неразрешимость задачи, либо переходят к новому псевдоплану.
3. Выбирают разрешающую строку с помощью определения наибольшего по абсолютной величине отрицательного числа столбца вектора Р0 и разрешающий столбец с помощью нахождения наименьшего по абсолютной величине отношения элементов (m+1)–и строки к соответствующим отрицательным элементам разрешающей строки.
4. Находят новый псевдоплан и повторяют все действия начиная с этапа 2.
