- •Часть I
- •Часть 1. Линейное программирование
- •Задания для решения в аудитории
- •1.2. Виды задач линейного программирования
- •1.2.1. Приведение задачи линейного программирования к канонической форме
- •Задания для решения в аудитории
- •1.2.2. Переход от канонической формы задачи линейного программирования к стандартной форме
- •Задания для решения в аудитории
- •1.3.1. Графический метод решения задач линейного программирования с переменными
- •Задания для решения в аудитории
- •Задания для самостоятельной подготовки
- •1.4. Симплексный метод решения задач линейного программирования
- •1.4.1. Нахождение начального допустимого базисного решения
- •Задания для решения в аудитории
- •1.4.2. Составление и преобразование симплексных таблиц
- •Задания для решения в аудитории
- •1. Решить симплексным методом задачу линейного программирования: , , , .
- •1.4.3. Особые случаи симплексного метода
- •Задания для решения в аудитории
- •1. Решить симплексным методом задачу линейного программирования: , , , .
- •2. Решить симплексным методом задачу линейного программирования: , , , . Задания для самостоятельной подготовки
- •1.5. Метод искусственного базиса
- •1.6.2. Первая теорема двойственности
- •Задания для самостоятельной подготовки
- •1.7. Метод Гомори решения задач целочисленного программирования
- •Задания для самостоятельной подготовки
- •1.8. Транспортная задача линейного программирования
- •1.8.1. Математическая модель транспортной задачи
- •1.8.2. Опорное решение транспортной задачи
- •1.8.3. Метод потенциалов
- •Задания для самостоятельной подготовки
1.8.3. Метод потенциалов
Если
допустимое решение транспортной задачи
является оптимальным, то существуют
потенциалы (числа) поставщиков
и потребителей
,
удовлетворяющие следующим условиям:
,
(5)
.
(6)
Равенства
(5) используются как система уравнений
для нахождения потенциалов. Данная
система уравнений имеет
неизвестных
и
.
Число уравнений (5), как и число отличных
от нуля координат невырожденного
опорного решения, равно
.
Так как число неизвестных системы на
единицу больше числа уравнений, то одной
из них можно задать значение произвольно,
а остальные найти из системы.
Неравенства (6) используются для проверки оптимальности опорного решения. Эти неравенства удобнее представить в следующем виде:
при
.
(7)
Числа
называются оценками
для свободных клеток
таблицы транспортной задачи.
Опорное решение является оптимальным, если для всех клеток таблицы оценки отрицательны.
Оценки
для свободных клеток транспортной
таблицы используются при улучшении
опорного решения. Для этого находят
клетку
таблицы, соответствующую
.
Если
,
то решение оптимальное. Если же
,
то для соответствующей клетки
строят цикл и улучшают решение,
перераспределяя груз
по этому циклу.
Особенности решения транспортных задач с неправильным балансом:
1.
Если
суммарные запасы поставщиков превосходят
суммарные запросы потребителей, то есть
,
то необходимо ввести фиктивного
потребителя с запросами
,
равным разности суммарных запасов
поставщиков и запросов потребителей,
и нулевыми стоимостями перевозок единиц
груза
.
2.
Если суммарные запросы потребителей
превосходят суммарные запасы поставщиков,
то есть
,
то необходимо ввести фиктивного
поставщика с запасами
,
равными разности суммарных запросов
потребителей и запасов поставщиков, и
нулевыми стоимостями перевозок единиц
груза
.
3. При составлении начального опорного решения в последнюю очередь следует распределять запасы фиктивного поставщика и удовлетворять запросы фиктивного потребителя, не смотря на то, что им соответствует наименьшая стоимость перевозок, равная нулю.
Алгоритм метода потенциалов:
1. Проверить выполнение необходимого и достаточного условия разрешимости задачи. Если задача имеет неправильный баланс, то вводится фиктивный поставщик или потребитель с недостающими запасами или запросами и нулевыми стоимостями перевозок.
2. Построить начальное опорное решение (метод минимальных стоимостей), проверить правильность его построения по количеству занятых клеток ( ) и убедиться в линейной независимости векторов условий (метод вычеркиваний).
3.
Построить систему потенциалов,
соответствующих опорному решению. Для
этого решают систему уравнений
при
,
которая имеет бесконечное множество
решений. Для нахождения частного решения
системы одному из потенциалов (обычно
тому, которому соответствует большее
число занятых клеток) задают произвольно
некоторое значение (чаще нуль). Остальные
потенциалы однозначно определяются по
формулам
при
(8), если известен потенциал
,
и
при
,
если известен потенциал
.
4.
Проверить выполнение условия оптимальности
для свободных клеток таблицы. Для этого
вычисляют оценки для всех свободных
клеток по формулам
и те из них, которые больше нуля, записывают
в левые нижние углы клеток. Если для
всех свободных клеток
,
то вычисляют значение целевой функции
и решение задачи заканчивается, так как
полученное решение является оптимальным.
Если же имеется хотя бы одна клетка с
положительной оценкой, опорное решение
не является оптимальным.
5.
Перейти к новому опорному решению, на
котором значение целевой функции будет
меньше. Для этого находят клетку таблицы
задачи, которой соответствует наибольшая
положительная оценка
.
Строят
цикл, включающий в свой состав данную
клетку и часть клеток, занятых опорным
решением. В клетках цикла расставляют
поочередно знаки плюс и минус, начиная
с плюса в клетке с наибольшей положительной
оценкой. Осуществляют сдвиг по циклу
на величину
.
Клетка со знаком минус, в которой
достигается
,
остается пустой. Если минимум достигается
в нескольких клетках, то одна из них
остается пустой, а в остальных проставляют
базисные нули, чтобы число занятых
клеток осталось равным
.
Далее перейти к пункту 3 данного алгоритма.
