- •Лекция №1. Математические модели задач линейного программирования
- •1.1. Математические модели общих задач математического и линейного программирования
- •1.2. Примеры составления математических моделей задач линейного программирования
- •1.3. Каноническая форма задачи линейного программирования
- •1.4. Приведение общей задачи линейного программирования к канонической форме
- •Лекция № 2. Графический метод решения задач линейного программирования
- •2.1. Задача с двумя переменными
- •Лекция №3 графический метод решения задач линейного программирования Графический метод решения задач линейного программирования с n переменными
- •Задания для самостоятельного решения
- •Лекция№4. Свойства решений задач линейного программирования
- •4.1. Многоугольники и многогранники
- •4.2. Теорема о виде области допустимых решений задачи линейного программирования
- •4.3. Теорема об экстремуме целевой функции
- •4.4. Опорное решение задачи линейного программирования, его взаимосвязь с угловыми точками
- •Лекция№5-6. Симплексный метод решения задач линейного программирования
- •5.1. Нахождение начального опорного решения и переход к новому опорному решению
- •5.2. Преобразование целевой функции при переходе от одного опорного решения к другому
- •5.3. Улучшение опорного решения
- •5.4. Алгоритм симплексного метода решения задач линейного программирования
- •Лекция №7. Метод искусственного базиса
- •Особенности алгоритма метода искусственного базиса
- •Лекция №8 теория двойственности Виды математических моделей двойственных задач
- •Симметричные пары двойственных задач
- •Несимметричные пары двойственных задач
- •Общие правила составления двойственных задач
- •Первая теорема двойственности
- •Вторая теорема двойственности
- •Лекция №9 Двойственный симплексный метод
- •Алгоритм двойственного симплексного метода
- •Лекция №10 транспортная задача линейного программирования
- •Текстовая формулировка транспортной задачи
- •Математическая модель транспортной задачи
- •Необходимое и достаточное условие разрешимости транспортной задачи
- •. Свойство системы ограничений транспортной задачи
- •Опорное решение транспортной задачи
- •Метод вычеркивания
- •Методы построения начального опорного решения. Метод северо-западного угла
- •Метод минимальной стоимости
- •Переход от одного опорного решения к другому
- •Означенный цикл
- •Распределительный метод
- •Лекция №11 Метод потенциалов
- •6.10. Особенности решения транспортных задач с неправильным балансом
- •Алгоритм решения транспортной задачи методом потенциалов
- •Транспортная задача с ограничениями на пропускную способность
- •Транспортная задача по критерию времени
- •Применение транспортной задачи для решения экономических задач Задача о размещении производства с учетом транспортных затрат
- •Задача о назначениях, или проблема выбора
- •Лекция №12 метод гомори решения задач целочисленного программирования
- •Лекция №13
- •Лекция №14 построение сетевых моделей
- •Методические рекомендации по построению сетевых моделей
- •Варианты задач для самостоятельного решения
- •Расчет и анализ сетевых моделей
- •Список литературы
- •Вопросы
Метод вычеркивания
Метод вычеркивания позволяет проверить, является ли данное решение транспортной задачи опорным.
Пусть
допустимое решение транспортной задачи,
которое имеет
отличных от нуля координат, записано
в таблицу. Чтобы данное решение было
опорным, векторы-условий, соответствующие
положительным координатам, должны быть
линейно независимыми. Для этого занятые
решением клетки таблицы должны быть
расположены так, чтобы нельзя было из
них образовать цикл.
Строка или столбец таблицы с одной занятой клеткой не может входить в какой-либо цикл, так как цикл имеет две и только две клетки в каждой строке или в столбце. Следовательно, можно вычеркнуть сначала либо все строки таблицы, содержащие по одной занятой клетке, либо все столбцы, содержащие по одной занятой клетке, далее вернуться к столбцам (строкам) и продолжать их вычеркивание. Если в результате вычеркиваний все строки и столбцы будут вычеркнуты, значит, из занятых клеток таблицы нельзя выделить часть, образующую цикл, и система соответствующих векторов-условий является линейно независима, а решение является опорным. Если же после вычеркиваний останется часть клеток, то эти клетки образуют цикл, система соответствующих векторов условий является линейно зависима, а решение не является опорным.
Ниже приведены примеры "вычеркиваемого" (опорного) и "невычеркиваемого" (неопорного) решений:
вычеркиваемое невычеркиваемое
Методы построения начального опорного решения. Метод северо-западного угла
Существует ряд методов построения начального опорного решения, наиболее простым из которых является метод северо-западного угла. В данном методе запасы очередного поставщика используются для обеспечения запросов очередных потребителей до тех пор, пока не будут исчерпаны полностью, после чего используются запасы следующего по номеру поставщика.
Заполнение таблицы транспортной задачи начинается с левого верхнего угла и состоит из ряда однотипных шагов, на каждом из которых, исходя из запасов очередного поставщика и запросов очередного потребителя, заполняется только одна клетка и соответственно исключается из рассмотрения один поставщик или потребитель. Осуществляется это по следующим правилам:
1)
если
то
и исключается поставщик с номером i,
;
2)
если
то
и исключается потребитель с номером
j,
;
3)
если
то
и исключается либо поставщик с номером
i,
,
либо потребитель с номером j,
.
Нулевые перевозки принято заносить в таблицу только в том случае, когда они попадают в клетку с номером (i, j), подлежащую заполнению. Если в очередную клетку таблицы (i, j) требуется поставить перевозку, а поставщик с номером i или потребитель с номером j имеет нулевые запасы или запросы, то ставится в клетку перевозка, равная нулю (базисный нуль), и после этого обычным образом исключается из рассмотрения соответствующий поставщик или потребитель. Таким образом, в таблицу заносятся только базисные нули, остальные клетки с нулевыми перевозками остаются пустыми.
Во
избежание ошибок после построения
начального опорного решения необходимо
проверить, что число занятых клеток
равно
,
и векторы-условия, соответствующие
этим клеткам, линейно независимы.
Теорема 6.4. Решение транспортной задачи, построенное по методу северо-западного угла, является опорным.
Доказательство.
Число занятых опорным решением клеток
таблицы должно быть равно
.
На каждом шаге построения решения по
методу северо-западного угла заполняется
одна клетка и исключается из рассмотрения
одна строка (поставщик) или один столбец
(потребитель) таблицы задачи. Через
шага в таблице будет занято
клетки. В то же время останутся не
вычеркнутыми одна строка и один столбец,
а клетка одна. При заполнении этой
последней клетки число занятых клеток
составит
.
Проверим, что векторы, соответствующие занятым этим решением клеткам, являются линейно независимы. Применим метод вычеркивания. Все занятые клетки можно вычеркнуть, если проделать это в порядке их заполнения.
Необходимо иметь в виду, что метод северо-западного угла не учитывает стоимость перевозок, поэтому опорное решение, построенное данным методом, может быть далеким от оптимального.
Пример 6.2. Составить начальное опорное решение, используя метод северо-западного угла, для транспортной задачи, исходные данные которой представлены в табл. 6.3.
Т а б л и ц а 6.3
|
150 |
200 |
100 |
100 |
100 |
1 |
3 |
4 |
2 |
250 |
4 |
5 |
8 |
3 |
200 |
2 |
3 |
6 |
7 |
Решение.
Распределяем запасы 1-го поставщика.
Так как его запасы
меньше запросов первого потребителя
,
то в клетку (1, 1) записываем перевозку
и исключаем из рассмотрения поставщика.
Определяем оставшиеся неудовлетворенными
запросы 1-го потребителя
.
Распределяем
запасы 2-го поставщика. Так как его
запасы
больше, оставшихся неудовлетворенными
запросов 1-го потребителя
,
то в клетку (2, 1) записываем перевозку
и исключаем из рассмотрения 1-го
потребителя. Определяем оставшиеся
запасы 2-го поставщика
.
Так как
,
то в клетку (2, 2) записываем
и исключаем по своему усмотрению либо
второго поставщика, либо второго
потребителя. Пусть исключили 2-го
поставщика. Вычисляем оставшиеся
неудовлетворенными запросы второго
потребителя
=200
200 = 0.
Распределяем
запасы 3-го поставщика. Так как
(200 > 0), то в клетку (3, 2) записываем
и исключаем второго потребителя. Запасы
третьего поставщика не изменились
2000
=200. Сравниваем
и
(200 > 100), в клетку (3, 3) записываем
,
исключаем 3-го потребителя и вычисляем
200
100 = 100. Так как
,
то в клетку (3, 4) записываем
.
Ввиду того, что задача с правильным
балансом, запасы всех поставщиков
исчерпаны и запросы всех потребителей
удовлетворены полностью и одновременно.
Результаты построения опорного решения приведены в табл. 6.4.
Т а б л и ц а 6.4
|
150 |
200 |
100 |
100 |
100 |
1 100
|
3
|
4 |
2 |
250 |
4 50 |
5 200
|
8
|
3 |
200 |
2 |
3 |
6 100
|
7 100
|
Проверяем
правильность построения опорного
решения. Число занятых клеток должно
быть равно
.
В табл. 6.4 занято 6 клеток. Применяя метод
вычеркивания, убеждаемся, что найденное
решение является вычеркиваемым
(звездочкой отмечен базисный нуль).
Следовательно, векторы-условий, соответствующие занятым клеткам, линейно независимы и построенное решение действительно является опорным.
