- •Линейное программирование
- •1. Общая задача линейного программирования
- •1.1. Задачи математического и линейного программирования
- •1.2. Математические модели простейших экономических задач
- •2. Каноническая форма
- •2.1. Определение и формы записи
- •2.2. Приведение общей задачи линейного
- •3. Графический метод решения задач
- •3.1. Общие понятия, примеры
- •4. Свойства решений задач линейного
- •4.1. Отрезок в . Понятие выпуклого множества. Гиперплоскость и полупространство, их выпуклость
- •4.3. Теорема о достижении линейной функцией
- •4.4. Опорное решение задачи линейного программирования,
- •5. Симплексный метод решения задач
- •5.1. Нахождение начального опорного плана и переход к новому опорному решению
- •5.2. Метод искусственного базиса
- •6. Теория двойственности
- •6.1. Построение двойственной задачи
- •6.2. Одновременное решение прямой и двойственной задач
- •7. Транспортная задача
- •7.1. Постановка задачи и её математическая модель
- •7.2. Построение первоначального опорного плана
- •7.3. Метод потенциалов
- •Образец типового расчета
- •Реализация задач лп на пк в Exсel
7.2. Построение первоначального опорного плана
Рассмотрим систему ограничений (7.1.2) и (7.1.3) транспортной задачи. Она содержит неизвестных и уравнений, связанных соотношением (7.1.4). Если сложить почленно отдельно уравнения подсистемы (7.1.2)
и (7.1.3), то в силу (7.1.4) получим два одинаковых уравнения, что говорит о линейной зависимости всей системы. Однако если отбросить любое из этих уравнений, то получившаяся система из уравнений будет линейно независимой. Следовательно, опорный план транспортной задачи содержит компонент перевозок. Если условия транспортной задачи и её опорный план записаны в виде таблицы (например, табл. 7.1), то клетки, в которых проставлены перевозки, называют занятыми, а остальные – незанятыми. Занятие клетки соответствует базисным переменным, и их количество также равно .
Однако опорный план должен удовлетворять ещё и условию ацикличности. Для того, чтобы пояснить это понятие, рассмотрим вначале следующее определение:
Определение 7.2.1. Циклом называется набор клеток таблицы транспортной задачи , , ,…, , в которой две и только две соседние клетки содержатся в одной строке или столбце, причём последняя находится в том же столбце, что и первая.
Построение циклов начинают с какой-либо занятой клетки и переходят по столбцу(строке) к другой занятой клетке, в которой делают поворот под прямым углом и движутся по строке (столбцу) к следующей занятой клетке, пытаясь в конце концов вернуться к первоначальной. Если в построенном плане такой возврат невозможен, то план обладает свойством ацикличности и является опорным.
Первоначальный опорный план транспортной задачи как задачи ЛП можно построить ранее рассмотренными методами, что сопряжено, однако, с громоздкими вычислениями. Однако в силу специфики транспортной задачи эту проблему можно решить более простыми средствами. Существует ряд методов построения начального опорного решения. Наиболее простым из них является метод северо-западного угла.
Метод северо-западного угла. Для наглядности рассмотрим данный метод на примере. Пусть условия транспортной задачи заданы табл. 7.2.
Таблица 7.2
Поставщики |
Потребители |
Запасы |
|||||||||
|
|
|
|
|
|||||||
|
|
10 |
|
7 |
|
4 |
|
1 |
|
5 |
100 |
|
|
|
|
|
|||||||
|
|
2 |
|
7 |
|
10 |
|
6 |
|
11 |
250 |
|
|
|
|
|
|||||||
|
|
8 |
|
5 |
|
3 |
|
2 |
|
2 |
200 |
|
|
|
|
|
|||||||
|
|
11 |
|
8 |
|
12 |
|
16 |
|
13 |
300 |
|
|
|
|
|
|||||||
Запросы |
200 |
200 |
100 |
100 |
250 |
850 |
Заметим, что модель задачи является закрытой. Не учитывая стоимость перевозок, заполняем клетки, начиная с таким образом, чтобы запросы всех потребителей удовлетворялись, а запасы всех поставщиков были бы вывезены. Итак, запас первого поставщика – 100 единиц товара, а запрос 1-го потребителя – 200. Поэтому в первую клетку 1-го столбца заносим , исключаем из рассмотрения первого поставщика ( его запасы вывезены) и переходим ко второму поставщику, у которого 250 единиц товара. Для того, чтобы удовлетворить первого потребителя, необходимо ещё 100 единиц. Поэтому в клетку первого столбца заносим . Исключаем первого потребителя и переходим ко второму, запасы которого равны 200. У второго поставщика осталось 150 единиц товара, поэтому в клетку заносим . Исключаем из рассмотрения второго поставщика и переходим к третьему. Этот процесс продолжается до тех пор, пока остаётся неисключённой в точности одна строка или один столбец. В результате получим табл. 7.3.
Таблица 7.3
Поставщики |
Потребители |
Запасы |
|||||||||
|
|
|
|
|
|||||||
|
|
10 |
|
7 |
|
4 |
|
1 |
|
5 |
100 |
100 |
|
|
|
|
|||||||
|
|
2 |
|
7 |
|
10 |
|
6 |
|
11 |
250 |
100 |
150 |
|
|
|
|||||||
|
|
8 |
|
5 |
|
3 |
|
2 |
|
2 |
200 |
|
50 |
100 |
50 |
|
|||||||
|
|
11 |
|
8 |
|
12 |
|
16 |
|
13 |
300 |
|
|
|
50 |
250 |
|||||||
Запросы |
200 |
200 |
100 |
100 |
250 |
850 |
Число занятых клеток равно . Также легко убедиться, что заполненные клетки таблицы не образуют циклов. Следовательно, построенное решение действительно является опорным.
Замечание. Если одновременно и столбец, и строка удовлетворяют ограничениям, очередная переменная, включаемая в базисное решение, обязательно имеет нулевое значение.
Вычислим стоимость перевозки, соответствующую этому опорному плану:
.
Эта стоимость перевозки на самом деле довольно далека от оптимальной, так как при составлении опорного плана не учитывались стоимости перевозок. Поэтому чаще применяют другой метод, описываемый ниже.
Метод минимальной стоимости. Данный метод позволяет построить решение, которое достаточно близко к оптимальному, так как при его применении используются стоимости транспортной задачи , . Он состоит из ряда однотипных шагов, на каждом из которых заполняется только одна клетка, соответствующая ( в отличие от метода северо- западного угла). Сам процесс заполнения клетки такой же, как и в методе северо-западного угла. Также на каждом шаге исключается из рассмотрения только одна строка (поставщик, если его запасы заканчиваются) или только один столбец (потребитель, если его запросы выполнены).
Затем переходят к клетке, соответствующей из неисключённых клеток и т.д. При этом, если поставщик ещё не исключён, но его запасы равны нулю, то на том шаге, когда от него требуется поставить груз, в соответствующую клетку таблицы заносится базисный нуль и лишь потом поставщик исключается из рассмотрения. Аналогично поступают и с потребителем.
Рассмотрим метод минимальной стоимости на примере табл. 7.2.
Наименьшую стоимость имеет клетка . Запасы 1-го поставщика, как и запросы 4-го потребителя равны 100 единицам, поэтому заносим в эту клетку 100 и исключаем, например, 4-го потребителя. Затем переходим к следующей клетке, содержащей минимальную стоимость, например, к . Запасы 2-го поставщика равны 200 единицам, а запросы 1-го потребителя – 250 единиц, поэтому в клетку заносим и исключаем 1-го потребителя. У 2-го поставщика остаётся ещё 50 единиц. Следующая клетка из неисключённых, соответствующая минимальной стоимости, находится на пересечении 3-й строки и 5-го столбца. Согласно тому же правилу, заносим в неё и исключаем 3-го поставщика и т.д. В результате получим табл. 7.4.
Таблица 7.4
Поставщики |
Потребители |
Запасы |
|||||||||
|
|
|
|
|
|||||||
|
|
10 |
|
7 |
|
4 |
|
1 |
|
5 |
100 |
|
|
0 |
100 |
|
|||||||
|
|
2 |
|
7 |
|
10 |
|
6 |
|
11 |
250 |
200 |
50 |
|
|
|
|||||||
|
|
8 |
|
5 |
|
3 |
|
2 |
|
2 |
200 |
|
|
|
|
200 |
|||||||
|
|
11 |
|
8 |
|
12 |
|
16 |
|
13 |
300 |
|
150 |
100 |
|
50 |
|||||||
Запросы |
200 |
200 |
100 |
100 |
250 |
850 |
Легко проверить, что полученное решение является опорным. Найдём соответствующую ему стоимость перевозок:
.
Естественно возникает вопрос, является ли это решение оптимальным. Ответ на него будет дан в следующем пункте.