МО практики
.pdf2. Практическое занятие №2
Специальные задачи линейного программирования: транспортная задача.
2.1. Постановка задачи и математическая модель транспортной задачи. Предположим, что существуют N потребителей и M поставщиков некоторого однородного груза, у каждого из поставщиков определенный запас этого груза (Ai единиц, i=1,2,…,M), а каждому из потребителей требуется Bj единиц груза (j=1,2,…, N). Известны также затраты cij на перевозку единицы груза от поставщика Ai к потребителю Bj. Требуется составить такой план перевозок от поставщиков к потребителям, чтобы суммарные затраты на перевозки оказались минимальными (при этом должны быть по возможности вывезены все запасы поставщиков и удовлетворены все запросы потребителей).
В случае, когда суммарные запасы совпадают с суммарными запросами,
задача называется задачей с правильным балансом, а ее модель - закрытой. В
противном случае говорят о задаче с неправильным балансом и об открытой модели. Существуют специальные приемы приведения открытой модели к закрытой (они будут рассмотрены позже).
Данные транспортной задачи обычно записываются в виде таблицы, заголовки строк которой содержат информацию о запасах, заголовки столбцов
– информацию о запросах, а в нижнем правом углу каждой ячейки указывается стоимость перевозки единицы груза (затраты на перевозку единицы груза).
При составлении математической модели через xij обозначается количество единиц груза, который будет перевезен от поставщика Ai к потребителю Bj (объем перевозок от Ai к Bj). Эти значения будут вноситься в центр соответствующей ячейки.
С учетом сказанного целевая функция принимает вид
M N
z = f ( X ) = ∑∑cij xij → min
i=1 j=1
11
(просуммированы все произведения затрат на соответствующий объем перевозок). Ограничения связаны с вывозом запасов и удовлетворением запросов, поэтому математическая модель имеет вид:
|
|
M N |
|
z = f ( X ) = ∑∑cij xij → min |
|||
|
|
i=1 j=1 |
|
|
|
M |
j =1,2,..., N |
|
|
∑xij = B j , |
|
|
|
i=1 |
|
|
|
N |
i =1,2,..., M |
|
|
∑xij = Ai , |
|
|
|
j=1 |
|
x |
≥ 0, j =1,2,..., N; i =1,2,..., M |
||
|
ij |
|
|
|
|
|
|
Пример 2.1. |
Транспортная задача |
|
|
|
|
|
|
|
|||
задана с помощью таблицы 2.1, из |
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
1 |
|
|
||||
которой видно, что на складах трех |
|
|
А |
|
0 |
20 |
|
50 |
30 |
||
поставщиков A1, A2, A3 сосредоточены |
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|||
соответственно 30, 190 и 250 единиц |
|
|
0 |
|
|
|
7 |
|
|
||
груза, потребители B1, B2, B3, |
B4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
нуждаются соответственно в 70, 120, 150, |
|
|
90 |
|
|
|
1 |
|
|
||
130 единицах груза, а стоимости |
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|||
перевозок указаны |
непосредственно |
в |
|
|
50 |
|
|
|
6 |
|
|
таблице. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Таблица |
2.1. |
|
Заметим, что суммарные запасы (30+190+250=470) равны суммарным запросам (70+120+150+130=470). Разместим в основной (незаштрихованной) части таблицы искомые объемы перевозок xij и перейдем к составлению математической модели. Заметим, что нумерация соответствует привычной нумерации элементов в матрицах (i – номер строки, j – номер столбца). Итак, целевая функция принимает вид
z = f ( X ) = 4x11 +7x12 +2x13 +3x14 +3x21 +1x22 |
+ |
(2.1) |
+2x23 +4x24 +4x31 +6x32 +3x33 +7x34 → min |
|
|
|
|
|
12 |
|
|
(просуммировали произведения стоимостей на объемы перевозок по всем строкам). При построении системы ограничений сначала суммируем объемы перевозок по каждому столбцу (удовлетворяем все запросы), а потом суммируем объемы перевозок по каждой строке (вывозим все запасы). Учтем также неотрицательность значений xij и получаем следующие условия:
|
|
|
x11 + x21 + x31 = 70 |
|
|||||
|
|
x12 + x22 + x32 |
|
=120 |
|
||||
|
|
|
|
||||||
|
|
x13 + x23 + x33 |
=150 |
|
|||||
|
|
x14 + x24 + x34 |
|
=130 |
|
||||
|
|
|
(2.2) |
||||||
|
|
x11 + x12 + x13 +x14= 30 |
|||||||
|
|
|
|||||||
|
|
x21 + x22 + x23 +x24=190 |
|
||||||
|
|
x |
+ x |
+ x |
+x |
34 |
= 250 |
|
|
|
|
31 |
32 |
33 |
|
|
|
||
x |
≥ 0,i =1,2,... < M; j =1,2,..., N |
|
|||||||
|
ij |
|
|
|
|
|
|
|
|
Итак, мы построили математическую модель предложенной задачи с целевой функцией (2.1) и системой ограничений (2.2).
Транспортная задача сводится к задаче линейного программирования, однако для ее решения существуют специальные алгоритмы. При этом сначала задача сводится к закрытой, затем строится начальное решение, а затем оно оптимизируется с помощью метода потенциалов.
2.2. Построение начального опорного решения. Рассмотрим два основных приема для задач с правильным балансом. Первый из них имеет более простой алгоритм, а второй дает решение, более близкое к оптимальному.
Метод северо-западного угла. Основная идея заключается в том, вычисление значений xij начинается с верхней левой клетки (северо-западный угол таблицы). Из значений запасов и запросов, ей соответствующих (A1 и B1) выбираем минимальное – это и будет объем перевозок x11. При этом либо удовлетворены все запросы (и тогда из рассмотрения исключается потребитель, при этом в таблице в оставшихся ячейках соответствующего столбца ставятся прочерки, а объем запасов в соответствующей строке уменьшается на это значение), либо вывезены все запасы (из рассмотрения исключается поставщик,
13
прочерки ставятся в строке и уменьшается объем запросов). В случае, когда A1=B1, вычеркивается либо строка, либо столбец (но не строка и столбец одновременно!) Далее действия повторяются со следующей ячейкой, которая оказалась верхней левой – и так до момента, пока не окажется, что все запасы вывезены, а все запросы удовлетворены. При этом клетки, в которые попали значения xij,, называются занятыми.
Внимание! Во избежание ошибок необходимо убедиться в том, что число занятых клеток равно M+N-1; в противном случае построенное начальное решение не будет опорным. При этом необходимо помнить, что, в силу сформулированного правила выбора объема перевозок, в занятых клетках могут оказаться значения, равные нулю!
Пример 2.2. Ниже в таблицах 2.2-2.7 приводится пошаговое построение методом северо-западного угла начального опорного решения для закрытой задачи из примера 2.1; объемы перевозок внесены в таблицы жирным курсивным шрифтом.
|
А |
70 |
|
120 |
|
150 |
|
130 |
|
|
|
А |
|
70 |
|
120 |
150 |
130 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
|
- |
|
|
|
|
|
|
|
|
30 |
|
- |
|
|
|
|
30 |
|
|
|
|
|
|
|
|
|
30 |
||||||||
|
|
4 |
|
7 |
|
|
|
3 |
|
|
|
|
4 |
|
7 |
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
40 |
|
|
|
|
|
|
190 |
|
3 |
|
|
|
|
|
|
|
|
|
190 |
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
1 |
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- |
|
|
|
|
|
|
250 |
|
|
|
|
|
|
|
|
|
|
|
250 |
|
|
|
|||
|
|
4 |
|
|
|
|
|
|
|
|
|
|
4 |
|
6 |
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
Таблица 2.2. |
|
|
|
|
|
|
Таблица 2.3. |
14
|
А |
70 |
|
120 |
|
150 |
|
130 |
|
|
|
А |
|
70 |
120 |
|
150 |
130 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
|
- |
|
|
|
- |
|
|
|
|
30 |
- |
|
- |
- |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
30 |
|
|
|
|
|
|
|
|
30 |
|||||||||
|
|
|
|
7 |
|
|
|
|
|
|
|
|
7 |
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
40 |
|
120 |
|
|
|
|
|
|
|
|
40 |
120 |
|
30 |
- |
|
|
190 |
|
|
|
|
|
|
|
|
|
190 |
||||||||
|
|
|
|
1 |
2 |
|
4 |
|
|
|
|
|
1 |
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- |
|
- |
|
|
|
|
|
|
|
|
- |
- |
|
|
|
|
|
250 |
|
|
|
|
|
|
|
|
|
250 |
|
|
||||||
|
|
|
|
6 |
|
|
|
|
|
|
|
|
6 |
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
Таблица 2.4. |
|
|
|
|
|
Таблица 2.5 |
|
|
|
А |
|
70 |
|
120 |
|
150 |
|
130 |
|
|
|
А |
|
|
70 |
120 |
|
150 |
130 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
|
- |
|
- |
|
- |
|
|
|
|
30 |
- |
|
- |
- |
|||
|
30 |
|
|
7 |
|
|
|
|
30 |
7 |
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
40 |
|
120 |
|
30 |
|
- |
|
|
|
|
40 |
120 |
|
30 |
- |
|||
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
190 |
|
|
1 |
|
|
|
|
190 |
1 |
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
- |
|
- |
|
120 |
|
|
|
|
|
|
- |
- |
|
120 |
130 |
|||
|
250 |
|
|
6 |
|
|
|
|
|
250 |
6 |
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
Таблица 2.6. |
|
|
|
|
|
|
|
Таблица 2.7. |
|
Итак, заняты 6 ячеек: (1;1), (2;1), (2;2), (2;3), (3;3) и (3;4) (здесь, как и всюду далее, в «адресе» ячейки первым указан номер строки, вторым – номер столбца, заголовки в нумерации не учитываются). Количество занятых ячеек совпадает с числом M+N-1=3+4-1=6. Мы построили начальное опорное решение X1, остается найти значение целевой функции для этого опорного решения (в свободных клетках, т.е. клетках с прочерками, значение объема перевозок считается равным нулю и потому на результат вычисления не влияет): z = f ( X1) = 4 30 +3 40 +1 120 ++2 30 +3 120 +7 130 =1690 .
Метод минимальной стоимости. Основная идея этого подхода -
последовательная расстановка объемов перевозок в клетки с наименьшей
15
стоимостью среди незаполненных. В случае, когда есть несколько клеток с одинаковой стоимостью, первой рассматривается та, в которую можно записать наибольший объем перевозок. Правило выбора значения из соответствующих запаса и запроса сохраняется, как сохраняется и обязательное количество занятых строк, и возможность появления в занятой клетке нулевого значения.
Пример 2.3. В таблицах 2.8-2.13 приводится пошаговое построение начального опорного решения методом минимальной стоимости для закрытой задачи из примера 2.1. Обратите внимание, что первый выбор сделать легко, а в таблице 2.8 видно, что в ячейках (2;3) и (1;3) одинаковая стоимость затрат (равная 2). Поскольку в ячейку (2;3) можно записать объем перевозок, равный 70, а в ячейку (1;3) – равный 30, выбираем ячейку с большим объемом, т.е. (2;3)
– см. таблицу 2.9.
|
|
|
|
70 |
|
|
120 |
|
|
150 |
|
|
130 |
|
|
|
|
|
|
70 |
|
|
120 |
|
|
15 |
|
130 |
|
|
А |
|
|
|
|
|
|
|
|
|
|
А |
|
|
|
|
|
|
0 |
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- |
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
30 |
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
7 |
|
|
|
|
|
|
|
|
|
|
|
|
7 |
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
120 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
120 |
|
|
70 |
- |
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
190 |
|
|
|
|
|
|
|
|
|
|
|
|
|
190 |
|
|
|
|
||||||||||
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- |
|
|
|
|
|
|
||
|
250 |
|
|
|
|
|
|
|
|
|
|
|
|
|
250 |
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
Таблица 2.8. |
|
|
|
|
Таблица 2.9. |
|
|
|
|
16
|
|
|
|
70 |
|
|
120 |
|
|
150 |
|
|
130 |
|
|
|
|
|
|
|
70 |
|
|
120 |
|
|
15 |
|
130 |
|
|
|
А |
|
|
|
|
|
|
|
|
|
|
|
А |
|
|
|
|
|
|
0 |
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- |
|
- |
|
30 |
|
- |
|
|
|
|
|
- |
|
- |
|
|
- |
- |
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
30 |
|
|
7 |
|
|
|
|
|
30 |
7 |
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
- |
|
120 |
|
70 |
|
- |
|
|
|
|
|
- |
|
120 |
|
70 |
- |
|
|
|||||||||
|
190 |
|
|
1 |
|
|
|
|
|
190 |
1 |
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- |
|
50 |
|
|
|
|
|||
|
250 |
|
|
|
|
6 |
|
|
|
|
|
|
|
|
|
250 |
|
|
|
|
6 |
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
Таблица 2.10. |
|
|
|
|
|
|
|
|
Таблица 2.11 |
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
А |
|
70 |
|
|
120 |
|
|
150 |
|
|
130 |
|
|
|
|
А |
|
|
70 |
|
|
120 |
|
|
150 |
|
130 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
- |
|
|
|
- |
30 |
|
- |
|
|
|
|
|
- |
|
- |
|
30 |
- |
|
|
||||||||
|
30 |
|
|
|
|
|
|
|
|
|
30 |
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
|
- |
|
120 |
|
70 |
|
- |
|
|
|
|
|
- |
|
120 |
|
70 |
- |
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
190 |
|
|
1 |
|
|
|
|
|
190 |
|
1 |
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
70 |
|
- |
|
50 |
|
|
|
|
|
|
|
|
70 |
|
- |
|
50 |
130 |
|
|
||||||||
|
250 |
|
|
6 |
|
|
|
|
|
|
|
250 |
|
6 |
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
Таблица 2.12. |
|
|
|
|
|
|
|
|
|
Таблица 2.13 |
|
|
|
|
|||||||||||||
|
В итоге, как и положено, построенному начальному опорному решению X2 |
||||||||||||||||||||||||||||||
соответствуют 6 |
|
занятых клеток. |
При этом |
|
значение целевой |
|
функции |
||||||||||||||||||||||||
z = f ( X 2 ) = 2 30 +1 120 +2 70 +4 70 +3 50 +7 130 =1660 |
|
|
меньше, |
чем |
найденное в примере 2.2, т.е. решение X2 ближе к оптимальному.
Открытую модель необходимо сначала свести к закрытой, для чего вводится фиктивный поставщик (с запасами, равными разности между запасами и запросами) или фиктивный потребитель (с аналогично определяемыми запросами). Стоимости перевозок в соответствующих строке или столбце равны нулю, но в методе минимальной стоимости они учитываются в последнюю очередь. В ответе фиктивная строка (столбец) не учитывается.
17
Пример 2.4. Для предложенной |
|
|
30 |
|
6 |
|
|
транспортной задачи (таблица 2.14) |
А |
|
|
0 |
|
|
|
|
|
|
|
|
|||
составить начальные опорные решения |
|
|
|
|
|
|
|
30 |
1 |
|
3 |
|
|
||
методами северо-западного угла и |
|
|
|
|
|
|
|
20 |
2 |
|
5 |
|
|
||
минимальной стоимости и сравнить |
|
|
|
|
|
Таблица 2.14 |
|
50 |
4 |
|
2 |
|
|||
значения целевой функции. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Решение. Прежде всего, очевидно, что суммарные запасы равны 100, а суммарные запросы – 90. Поэтому необходимо ввести фиктивного потребителя, запросы которого равны 10 (это дополнительный столбец, значения стоимостей
вкотором будут равны 0) – см. таблицу 2.15, с которой начнем построение начального решения методом северо-западного угла. На первом шаге для ячейки (1;1) значения запасов и запросов одинаковы и равны 30, поэтому объема перевозок равен 30, вычеркиваем, например, строку (при этом запросы
всоответствующем столбце становятся равными 0). На следующем шаге (см. таблицу 2.16) в ячейку (2;1) ставится значение объема перевозок 0 – как минимальное из чисел 0 и 20, при этом вычеркивается первый столбец.
|
|
|
|
|
6 |
|
|
|
|
|
|
|
|
6 |
|
|
А |
0 |
0 |
|
0 |
|
|
А |
|
0 |
|
0 |
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
- |
|
|
|
|
|
0 |
|
|
- |
|
|
0 |
|
|
|
|
|
0 |
|
|
|
|
||||
|
|
|
|
3 |
|
|
|
|
|
|
|
3 |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
|
5 |
|
|
|
0 |
|
|
|
|
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- |
|
|
|
0 |
|
|
|
2 |
|
|
|
0 |
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
Таблица 2.15. |
|
|
|
Таблица 2.16. |
18
|
|
|
|
|
6 |
|
|
|
|
|
|
6 |
|
|
|
|
|
А |
0 |
0 |
|
0 |
|
|
А |
|
0 |
0 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
- |
|
|
|
|
|
0 |
- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
0 |
|
|
|
|
|
0 |
|
|
|
|
|
||||
|
|
|
|
3 |
|
|
|
|
|
3 |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
0 |
|
|
0 |
|
|
|
|
0 |
|
|
0 |
|
|
|
|
|
|
|
|
5 |
|
|
|
|
|
5 |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
|
2 |
|
|
|
0 |
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
Таблица 2.17. |
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Таблица 2.18. |
|
|
|
||
|
|
|
|
|
|
|
|
|
|
При |
получении |
|
таблиц |
|||
|
|
|
|
|
6 |
|
|
|
|
|
||||||
|
А |
0 |
0 |
|
0 |
2.17-2.19 |
действовали |
по |
||||||||
|
|
|
|
|
|
|
|
стандартной схеме. |
Занятыми |
|||||||
|
|
|
|
|
|
|
|
|||||||||
|
0 |
|
0 |
|
- |
|
|
оказались, |
как и |
положено, 5 |
||||||
|
|
|
|
3 |
|
|
клеток (3+3-1=5), остается найти |
|||||||||
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
значение целевой |
функции |
для |
||||||
|
|
|
|
|
2 |
|
|
|||||||||
|
|
|
|
|
|
|
||||||||||
|
0 |
|
|
0 |
|
|
|
найденного опорного решения: |
||||||||
|
|
|
|
5 |
|
|
|
|
z1 =1 30 +5 20 +2 40 = 210 |
|||||||
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
0 |
4 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Таблица 2.19. |
|
|
|
|
|
|
|
|
|
|
Проведем теперь построение начального опорного решения методом минимальной стоимости (таблицы 2.20-2.24).
19
|
|
|
|
|
6 |
|
|
|
|
|
|
|
6 |
|
|
А |
0 |
0 |
|
0 |
|
|
А |
|
0 |
0 |
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
- |
|
|
|
|
|
0 |
|
- |
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
0 |
|
|
|
|
|
0 |
|
|
|
||||
|
|
|
|
3 |
|
|
|
|
|
|
3 |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
|
5 |
|
|
|
0 |
|
|
|
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
0 |
5 |
|
0 |
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
0 |
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
Таблица 2.20. |
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Таблица 2.21. |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
|
|
|
|
|
|
6 |
|
|
А |
0 |
0 |
|
0 |
|
|
А |
|
0 |
0 |
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
- |
|
|
|
|
|
0 |
|
- |
|
|
0 |
|
|
|
|
|
0 |
|
|
|
||||
|
|
|
|
3 |
|
|
|
|
|
|
3 |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
|
5 |
|
|
|
|
|
|
0 |
1 |
|
|
|
|
|
|
|
|
0 |
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
5 |
|
|
|
|
|
|
0 |
5 |
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
2 |
|
|
|
|
|
|
0 |
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
0 |
|
|
2 |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
Таблица 2.22. |
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Таблица 2.23.
20