Материалы сайта
Это интересно
Математическая постановка транспортной задачи линейного программирования
Содержание Введение 2 1. Постановка задачи и ее математическая модель 3 2. Модели транспортной задачи 7 2.1. Закрытая модель транспортной задачи 7 2.2. Открытая модель транспортной задачи 8 3. Определение оптимального и опорного плана транспортной задачи 10 4. Методы определения первоначального опорного плана 12 4.1. Метод минимального элемента 12 4.2. Метод аппроксимации Фогеля 14 5. Методы определения оптимального плана 16 5.1. Венгерский метод 16 5.2. Метод потенциалов 17 Список использованной литературы 19 Введение Транспортная задача линейного программирования получила в настоящее время широкое распространение в теоретических обработках и практическом применении на транспорте и в промышленности. Особенно важное значение она имеет в деле рационализации постановок важнейших видов промышленной и сельскохозяйственной продукции, а также оптимального планирования грузопотоков и работы различных видов транспорта. Кроме того, к задачам транспортного типа сводятся многие другие задачи линейного программирования - задачи о назначениях, сетевые, календарного планирования. Цель заданной работы - освоить математическую постановку транспортной задачи линейного программирования. 1. Постановка задачи и ее математическая модель Транспортная задача является частным типом задачи линейного программирования и формулируется следующим образом. Имеется m пунктов отправления (или пунктов производства) Аi …, Аm, в которых сосредоточены запасы однородных продуктов в количестве a1, ..., аm единиц. Имеется n пунктов назначения (или пунктов потребления) В1, ..., Вm, потребность которых в указанных продуктах составляет b1, ..., bn единиц. Известны также транспортные расходы Сij, связанные с перевозкой единицы продукта из пункта Ai в пункт Вj, i [pic]1, …, m; j [pic]1, ..., n. Предположим, что [pic] т. е. общий объем производства равен общему объему потребления. Требуется составить такой план перевозок (откуда, куда и сколько единиц продукта везти), чтобы удовлетворить спрос всех пунктов потребления за счет реализации всего продукта, произведенного всеми пунктами производства, при минимальной общей стоимости всех перевозок. Приведенная формулировка транспортной задачи называется замкнутой транспортной моделью. Формализуем эту задачу. Пусть хij - количество единиц продукта, поставляемого из пункта Аi в пункт Вj. Подлежащие минимизации суммарные затраты на перевозку продуктов из всех пунктов производства во все пункты потребления выражаются формулой: [pic] (1) Суммарное количество продукта, направляемого из каждого пункта отправления во все пункты назначения, должно быть равно запасу продукта в данном пункте. Формально это означает, что [pic], i [pic]1, …, m (2) Суммарное количество груза, доставляемого в каждый пункт назначения из всех пунктов отправления, должно быть равно потребности. Это условие полного удовлетворения спроса: [pic], j [pic]1, …, n (3) Объемы перевозок - неотрицательные числа, так как перевозки из пунктов потребления в пункты производства исключены: xij [pic]0, i [pic]1, ..., m; j [pic]1, ..., n (4) Транспортная задача сводится, таким образом, к минимизации суммарных затрат при выполнении условий полного удовлетворения спроса и равенства вывозимого количества продукта запасам его в пунктах отправления. Определение 1. Всякое неотрицательное решение системы линейных уравнений [pic], j [pic]1, …, n и [pic], i [pic]1, …, m, определяемое матрицей X=(xij)(i [pic]1, …, m; j [pic]1, ..., n), называется планом транспортной задачи. Определение 2. План X*=(x*ij)(i [pic]1, …, m; j [pic]1, ..., n), при котором функция [pic] принимает свое минимальное значение, называется оптимальным планом транспортной задачи. Обычно исходные данные записываются в виде таблицы 1. Таблица 1. |Пункты отправления|Пункты назначения |Запасы | | |В1 |… |Bj |… |Bn |А1 | |A1 |C11 |… |C1j |… |C1n |a1 | | |X11 | |X1j | |X1n | | |… |… |… |… |… |… |… | |Ai |Ci1 |… |Cij |… |Cin |ai | | |Xi1 | |Xij | |Xin | | |… |… |… |… |… |… |… | |Am |Cm1 |… |Cmj |… |Cmn |am | | |Xm1 | |Xmj | |Xmn | | |Потребности |b1 |… |bj |… |bn | | Очевидно, общее наличие груза у поставщиков равно [pic], а общая потребность в грузе в пунктах назначения равна единице. Если общая потребность в грузе в пунктах назначения равна запасу груза в пунктах отправления, т.е. [pic], (5) то модель такой транспортной задачи называется закрытой. В ряде случаев не требуется, чтобы весь произведенный продукт в каждом пункте производства был реализован. В таких случаях баланс производства и потребления может быть нарушен: [pic], i [pic]1, ..., m. Введение этого условия приводит к открытой транспортной модели. Теорема 1. Любая транспортная задача, у которой суммарный объем запасов совпадает с суммарным объемом потребностей, имеет решение. 2. Модели транспортной задачи 2.1. Закрытая модель транспортной задачи Для доказательства теоремы необходимо показать, что при заданных условиях существует хотя бы один план задачи и линейная функция на множестве планов ограничена. Доказательство. Пусть [pic]= M > 0[pic]. Тогда величины xij = aibj /M (i = 1,2,3, ... m; j = 1,2,3, ..., n) являются планом, так как они удовлетворяют системе ограничений ( 2 ) и ( 3 ) . Действительно, подставляя значения в (2) и (3) , находим [pic]= ai , [pic] = bj . Выберем из значений Cij наибольшее C( = max Cij и заменим в линейной функции ( 1 ) все коэффициенты на C( тогда, учитывая ( 2 ) , получим [pic], Выберем из значений Cij наименьшее C((=min Cij и заменим в линейной функции все коэффициенты на C(( ; тогда, учитывая ( 2 ) имеем [pic] Объединяя два последних неравенства в одно двойное , окончательно получаем C((M ( Z ( C( M, т. е. линейная функция ограничена на множестве планов транспортной задачи. 2.2. Открытая модель транспортной задачи Транспортная задача, в которой суммарные запасы и потребности не совпадают, т. е. не выполняется условие [pic], называется открытой. Для открытой модели может быть два случая: a) суммарные запасы превышают суммарные потребности [pic]; b) суммарные потребности превышают суммарные запасы [pic]. Линейная функция одинакова в обоих случаях, изменяется только вид системы ограничений. Найти минимальное значение линейной функции [pic] при ограничениях [pic], i = 1, 2, ..., m, (случай а) [pic], j = 1, 2, ..., n; [pic], i = 1, 2, ..., m, (случай б) [pic], j = 1, 2, ..., n, xij ( 0 (i = 1, 2, ..., m; j = 1, 2, ..., n). Открытая модель решается приведением к закрытой модели. В случае (а), когда суммарные запасы превышают суммарные потребности, вводится фиктивный потребитель Bn+1, потребности которого bn+1 = [pic]. В случае (б), когда суммарные потребности превышают суммарные запасы, вводится фиктивный поставщик Am+1, запасы которого am+1 = [pic]. Стоимость перевозки единицы груза как фиктивного потребителя, так и стоимость перевозки единицы груза от фиктивного поставщика полагают равными нулю, так как груз в обоих случаях не перевозится. После преобразований задача принимает вид закрытой модели и решается обычном способом. При равных стоимостях перевозки единицы груза от поставщиков к фиктивному потребителю затраты на перевозку груза реальным потребителям минимальны, а фиктивному потребителю будет направлен груз от наименее выгодных поставщиков. То же самое получаем и в отношении фиктивного поставщика. Прежде чем решать какую-нибудь транспортную задачу, необходимо сначала проверить, к какой модели она принадлежит, и только после этого составить таблицу для ее решения.[pic] 3. Определение оптимального и опорного плана транспортной задачи Как и при решении задачи линейного программирования, симплексным методом, определение оптимального плана транспортной задачи начинают с нахождения какого-нибудь ее опорного плана. Число переменных Xij в транспортной задаче с m пунктами отправления и n пунктами назначения равно nm, а число уравнений в системах (2) и (3) равно n+m. Так как мы предполагаем, что выполняется условие (5), то число линейно независимых уравнений равно n+m-1 отличных от нуля неизвестных. Если в опорном плане число отличных от нуля компонентов равно в точности n+m-1, то план является не выраженным, а если меньше - то выраженным. Для определения опорного плана существует несколько методов. Три из них - метод северно-западного угла, метод минимального элемента и метод аппроксимации Фогеля - рассмотрены ниже. При составлении первоначального опорного плана методом северо-западного угла стоимость перевозки единицы не учитывается, поэтому построенный план далек от оптимального, получение которого связано с большим объемом вычислительных работ. Обычно рассмотренный метод используется при вычислениях с помощью ЭВМ. Как и для всякой задачи линейного программирования, оптимальный план транспортной задачи является и опорным планом. Для определения оптимального плана транспортной задачи можно использовать изложенные выше методы. Однако ввиду исключительной практической важности этой задачи и специфики ее ограничений [каждое неизвестное входит лишь в два уравнения системы (2) и (3) и коэффициенты при неизвестных равны единице] для определения оптимального плана транспортной задачи разработаны специальные методы. Два из них - метод потенциалов и Венгерский метод - рассматриваются ниже. 4. Методы определения первоначального опорного плана 4.1. Метод минимального элемента Суть метода заключается в том, что из всей таблицы стоимостей выбирают наименьшую и в клетку, которая ей соответствует, помещают меньшее из чисел [pic]и [pic]. Затем из рассмотрения исключают либо строку, соответствующую поставщику, запасы которого полностью израсходованы, либо столбец, соответствующий потребителю, потребности которого полностью удовлетворены, либо и строку и столбец, если израсходованы запасы поставщика и удовлетворены потребности потребителя. Из оставшейся части таблицы стоимостей снова выбирают наименьшую стоимость, и процесс распределения запасов продолжают, пока все запасы не будут распределены, а потребности удовлетворены. Пример Составить первоначальный опорный план методом минимального элемента для транспортной задачи вида: |2 |3 |4 |15| |11|6 |10|1 | |8 |9 |3 |3 | |4 |1 |2 |21| |10|20|10| | Решение: Задача сбалансирована. Строим первоначальный опорный план методом минимального элемента. 1. Выясним минимальную стоимость перевозок. [pic]Первая перевозка будет осуществляться с пункта производства [pic]в пункт потребления [pic]и она составит максимально возможное число единиц продукта [pic]:. В этом случае, потребности пункта потребления [pic]будут удовлетворены полностью. Значит, стоимости столбца 2 можно больше не рассматривать, так как перевозки [pic].Выясним минимальную стоимость перевозок (без учета столбца № 2). 2. [pic]Вторая и третья перевозки будут осуществляться с пункта производства [pic]и [pic]в пункт потребления [pic]и [pic]соответственно и составят максимально возможное число единиц продукта : [pic], [pic]; 3. [pic] 4. Четвертая перевозка осуществляется с пункта [pic]в пункт потребления [pic], т.к. [pic](без учета первого, второго столбца и четвертой строки). [pic]. 5. Пятая перевозка осуществляется с пункта [pic]в пункт потребления [pic], т.к. [pic](без учета первого, второго столбца, третьей и четвертой строки). [pic]. 6. Шестая перевозка осуществляется с пункта [pic]в пункт потребления [pic]т.к. [pic](без учета первого, второго столбца, первой, третьей и четвертой строки). [pic] Опорный план имеет вид; |10|5 |0 | |0 |1 |0 | |0 |3 |0 | |0 |11|10| 4.2. Метод аппроксимации Фогеля При определении опорного плана транспортной задачи методом аппроксимации Фогеля находят разность по всем столбцам и по всем строкам между двумя записанными в них минимальными тарифами. Эти разности записывают в специально отведенных для этого строке и столбце в таблице условий задачи. Среди указанных разностей выбирают минимальную. В строке (или в столбце), которой данная разность соответствует, определяют минимальная стоимость. Если минимальная стоимость одинакова для нескольких клеток столбца (строки), то для заполнения выбирают ту клетку, которая расположена в столбце (строке), соответствующем наибольшей разности между двумя минимальными стоимостями, находящимися в данном столбце (строке). Пример Найти методом аппроксимации Фогеля первоначальный опорный план транспортной задачи: (Здесь мы перенесли потребности в верхнюю строку для удобства построения плана). Рассмотрим задачу, приведенную для методов северо-западного угла и минимального элемента Решение: |2 |2 |2 | |2 |2 |2 | |2 |- |2 | |- |- |2 | |- |- |- | Опорный план имеет вид: |7|0 |8| |0|1 |0| |3|0 |0| |0|19|2| 5. Методы определения оптимального плана 5.1. Венгерский метод Идея метода была высказана венгерским математиком Эгервари и состоит в следующем. Строится начальный план перевозок, не удовлетворяющий в общем случае всем условиям задачи (из некоторых пунктов производства не весь продукт вывозится, потребность части пунктов потребления не полностью удовлетворена). Далее осуществляется переход к новому плану, более близкому к оптимальному. Последовательное применение этого приема за конечное число итераций приводит к решению задачи. Алгоритм венгерского метода состоит из подготовительного этапа и из конечного числа итераций. На подготовительном этапе строится матрица X0 (xij[0])m,n, элементы которой неотрицательны и удовлетворяют неравенствам: , i 1, …, m; , j 1, …, m. Если эти условия являются равенствами, то матрица Хo - решение транспортной задачи. Если среди условий имеются неравенства, то осуществляется переход к первой итерации. На k-й итерации строится матрица Хk (xij[0])m,n. Близость этой матрицы к решению задачи характеризует число Dk — суммарная невязка матрицы Хk: . В результате первой итерации строится матрица Хl, состоящая из неотрицательных элементов. При этом Dl D0. Если Dl 0, то Хl - оптимальное решение задачи. Если Dl 0, то переходят к следующей итерации. Они проводятся до тех пор, пока Dk при некотором k не станет равным нулю. Соответствующая матрица Хk является решением транспортной задачи. Венгерский метод наиболее эффективен при решении транспортных задач с целочисленными объемами производства и потребления. В этом случае число итераций не превышает величины D0/2 (D0 - суммарная невязка подготовительного этапа). Достоинством венгерского метода является возможность оценивать близость результата каждой из итераций к оптимальному плану перевозок. Это позволяет контролировать процесс вычислений и прекратить его при достижении определенных точностных показателей. Данное свойство существенно для задач большой размерности. 5.2. Метод потенциалов Метод потенциалов является модификацией симплекс-метода решения задачи линейного программирования применительно к транспортной задаче. Он позволяет, отправляясь от некоторого допустимого решения, получить оптимальное решение за конечное число итераций. Общая схема отдельной итерации такова. По допустимому решению каждому пункту задачи сопоставляется число, называемое его предварительным потенциалом. Пунктам Аi соответствуют числа ui, пунктам Bj - числа vj. Они выбираются таким образом, чтобы их разность на k-й итерации была равна Сij - стоимости перевозки единицы продукции между пунктами Аi и Вj: vj[k] – ui[k] Cij, i 1, ..., m; j 1, …, п. Если разность предварительных потенциалов для каждой пары пунктов Аi, Вj не превосходит Сij, то полученный план перевозок является решением задачи. В противном случае указывается способ получения нового допустимого плана, связанного с меньшими транспортными издержками. За конечное число итераций находится оптимальный план задачи. Список использованной литературы 1. Е. Г. Гольштейн, Д. Б. Юдин «Задачи линейного программирования транспортного типа», Москва, 1993. 2. И. Л. Акулич, В. Ф. Стрельчонок «Математические методы и компьютерные технологии решения оптимизационных задач», Рига, 2000. 3. www.fmi.asf.ru