Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
матметод.doc
Скачиваний:
5
Добавлен:
18.11.2019
Размер:
171.52 Кб
Скачать

ИСПОЛЬЗОВАНИЕ МАТЕМАТИЧЕСКИХ МЕТОДОВ И ЭЛЕКТРОННЫХ ВЫЧИСЛИТЕЛЬНЫХ МАШИН ДЛЯ ПЛАНИРОВАНИЯ ПЕРЕВОЗОК

§ I. Выбор оптимального варианта Транспортная задача линейного программирования

Целью использования математических методов при планировании перевозок является разработка оптимального плана. Оптимальным называют наилучший вариант плана при данных заданных условиях перевозок, обеспечивающий наиболее эффективное выполнение перевозочного процесса.

Выбор оптимального варианта является весьма сложной за дачей, так как количество возможных вариантов решения различных транспортных задач может быть чрезвычайно велико. Например, при двух поставщиках и двух потребителях может быть шесть различных вариантов перевозок, при трех поставщиках и трех потребителях — 90 вариантов, при четырех поставщиках и четырех потребителях — 6256 вариантов, а при пяти поставщиках и восьми потребителях количество вариантов будет около миллиарда. Поэтому при практической работе «нельзя, сравнивая результаты расчета каждого варианта между собой, выбрать лучший, так как это займет много времени.

В последние годы разработаны математические методы планирования, позволяющие найти решение не путем перебора и сравнения всех возможных вариантов, а путем применения определенного математического расчета, который рядом последовательных приближений приводит к оптимальному решению. В настоящее время среди математических методов планирования наиболее разработанными являются методы линейного программирования. Слово «программирование» показывает, что эти математические методы применяют для планирования, т. е. для составления программы (плана). Слово «линейное» определяет математическую природу этих методов, которая заключается в том, что этими методами решают задачи с линейными связями и ограничениями, т. е. если выразить задачу в математической форме, то в ней все неизвестные будут в первой степени.

Это видно на примере так называемой транспортной задачи линейного программирования, которая получила наибольшее применение при оптимальном планировании автомобильных перевозок.

Условия примера транспортной задачи приведены в табл. 10 где в верхних правых углах клеток дано расстояние между пунктами. Каждый пункт производства условно обозначен буквой А с порядковым номером, а пункт потребления — буквой Б с порядковым номером. В табл. 10 также указаны объемы производства и потребления. Необходимо так организовать пере возки, чтобы общий объем транспортной работы в тонно-километрах был минимальный.

Если обозначить количество груза буквой х с двумя индексами, первый из которых показывает, куда везут груз, а второй— откуда везут груз (например, х23 — это количество груза, доставляемого во второй пункт потребления Б2 из третьего пункта производства А3), то в математическом виде эту задачу можно записать в следующем виде:

1) количество доставляемого груза в каждый пункт потребления равно:

x11+x12+x13 = 60;

x21+x22 + x23 = 40;

x31+x32+x33 = 90;

x41 + x42 + x43=10;

x51+x52 + x53 = 40;

2) количество отправляемого груза из каждого пункта производства равно:

x11+x21+x31 + x41 + x51 = 100;

x12 + x22 + x32 + x42 + x52 = 90;

x13 + x23+x33 + x43 + x53 = 50;

3) необходимо определить такие неотрицательные значения неизвестных х (т. е. x=>0), при которых будет обеспечен минимальный объем транспортной работы в тонно-километрах

Сmin =6x11 + 3x12 + 2x13 + 3x2,+7x22 + 6x23 + 2x31 + 8x32+4x33+4x41 + 6x42+5x43 + 2x51+2x52 + 6x53

Таким образом, пример получил математическую формулировку и в ней все неизвестные находятся в первой степени.

В данном примере имеется 15 неизвестных и 8 уравнений. Кроме того, решение необходимо получить при минимальной функции Cmin. Из этого видно, что решение этих уравнении обычными алгебраическими методами невозможно и его можно получить только с помощью методов линейного программирования.

Несмотря на то, что методы линейного программирования основаны на одном из разделов высшей математики — линейной алгебре, техника расчетов по этим методам несложна. Как только становится известен порядок вычислений, для вычисления достаточно знания основных арифметических действий.

В настоящее время известно несколько различных алгоритмов решения транспортной задачи линейного программирования. Одним из них является так называемый модифицированный распределительный метод.

Порядок вычислений с помощью этого метода покажем на примере решения транспортной задачи, условия которой приведены в табл.10.

Таблица 10 Пример транспортной задачи

Для этого все исходные данные перенесены в новую таблицу, называемую матрицей (табл. 11). В ней, кроме строк и столбцов, которые были в табл. 10, даны вспомогательные строка и столбец, которые потребуются в дальнейшем.

Порядок вычисления.

1. Первоначально груз распределяют путем последовательной записи по каждому столбцу количества груза в клетки с наименьшим расстоянием. В столбце А1 наименьшее расстояние 2 км имеется в клетках А1Б3 и А1Б5. В первую клетку записываем 90, так как потребность пункта Б3 равна этой величине, а остаток груза по пункту А1 записываем в клетку А1Б5. Так как весь груз поставщика А1 распределен, переходим к следующему столбцу A2. Наименьшее расстояние здесь находится в клетке

Таблица 11 Первоначальное распределение

А2Б5. Записываем в эту клетку цифру 30, так как потребность пункта Б5 составляет 40 единиц груза, а 10 ему уже доставляется из пункта А1 Следующее наименьшее расстояние в этом столбце находится в клетке A2Б1. Записываем туда цифру 60. В последнем столбце A3 цифры записываются в клетки, принадлежащие строкам тех потребителей, которые еще не обеспечены грузом. В табл. 11 это клетки Б2А3 и Б4А3.

Клетки, где проставлено количество груза, называют загруженными.

2. Для проверки оптимальности полученного распределения определяют специальные индексы, проставляемые в клетках вспомогательного столбца и строки. Это делается по следующему правилу: в клетке вспомогательного столбца, соответствующей первой строке (строке Б1), записывают 0. Остальные индексы рас считывают, исходя из того, что величина расстояния, записанная в верхнем правом углу каждой загруженной клетки, должна быть равна сумме индексов в соответствующих клетках вспомогательной строки и столбца.

Так, в табл. 11 записываем 0 в клетке вспомогательного столбца строки Б1. Загруженной клеткой в этой строке является клетка А2Б1 с расстоянием 3 км. Если обозначить индекс, который должен находиться в клетке вспомогательной строки, соответствующей столбцу А2, буквой α2, то расстояние в клетке A2Б1 должно быть равно 0+α2 = 3. Отсюда α2 = 3—0 = 3. Запишем эту цифру в клетку вспомогательной строки соответствующей столбцу А2. Будем называть это индексом столбца А2.

Так как определен индекс столбца А2, а в этом столбце имеется загруженная клетка A2Б5 с расстоянием 2 км, то индекс строки Б5 будет равен β5 =2 — 3 = — 1.

Индекс для столбца А1 можно определить по загруженной клетке А1Б5, он будет равен α1 = 2—(—1) =3.

Теперь можно определить по клетке A1Б3 индекс βз = 2— 3 = —1.

Для остальных строк Б2 и Б4 и столбца А3 индексы определить нельзя, так как в табл. 11 количество загруженных клеток меньше числа т + п—1, где т — количество строк;

п — количество столбцов, т. е. должно быть загружено 5 + 3—1 = 7, а в табл. 11 только 6 загруженных клеток. Такого положения не должно быть.

Если количество загруженных клеток меньше числа т + п1, то необходимо искусственно загрузить недостающее количество клеток матрицы, для чего в них записывают 0. В последующих расчетах с этой клеткой оперируют как с загруженной.

Постановка нулевой загрузки не повлияет на сумму наличия и потребности груза. Нуль следует ставить в ту клетку, которая лежит на пересечении строки или столбца, не имеющих коэффициента, со строкой или столбцом, для которых индексы уже определены. Наиболее целесообразно при этом выбрать из этих клеток такую, в которой имеется наименьшее расстояние.

Сделаем это в табл. 11. Клеткой с наименьшим расстоянием, которая лежит на пересечении столбца, не имеющего индекса, со строкой, коэффициент которой уже определен, будет клетка А3Б1. Туда записываем 0 и считаем эту клетку загруженной. Это дает возможность определить индексы и для строк Б2 и Б4 и для столбца А3. Теперь все индексы определены.