Автор работы: Пользователь скрыл имя, 27 Апреля 2012 в 11:57, курсовая работа
Моделирование в научных исследованиях стало применяться еще в глубокой древности и постепенно захватывало все новые области научных знаний: техническое конструирование, строительство и архитектуру, астрономию, физику, химию, биологию и, наконец, общественные науки. Большие успехи и признание практически во всех отраслях современной науки принес методу моделирования ХХ в.
Будем
заполнять таблицу перевозками
постепенно начиная с левой верхней
ячейки ("северо-западного угла" таблицы).
Будем рассуждать при этом следующим
образом. Пункт В1
подал заявку на 18 единиц
груза. Удовлетворим эту заявку за счёт
запаса 48, имеющегося в пункте
А1 , и запишем перевозку
18 в клетке (1,1). После этого заявка
пункта В1
удовлетворена, а в пункте А1
осталось ещё 30 единиц груза.
Удовлетворим за счёт них заявку
пункта В2 (27 единиц),
запишем 27 в клетке (1,2); оставшиеся
3 единицы пункта А1
назначим пункту В3.
В составе заявки пункта В3
остались неудовлетворёнными 39
единиц. Из них 30 покроем за
счёт пункта А2, чем его
запас будет исчерпан, и ещё 9
возьмём из пункта А3.
Из оставшихся 18 единиц пункта
А3 12 выделим пункту
В4; оставшиеся 6
единиц назначим пункту В5,
что вместе со всеми 20 единицами
пункта А4 покроет
его заявку. На этом распределение
запасов закончено; каждый пункт
назначения получил груз, согласно
своей заявки. Это выражается в том,
что сумма перевозок в каждой строке
равна соответствующему запасу,
а в столбце - заявке. Таким образом, нами
сразу же составлен план перевозок,
удовлетворяющий балансовым условиям.
Полученное решение является
опорным решением транспортной
задачи:
Таблица № 2
|
Составленный нами план перевозок, не является оптимальным по стоимости, так как при его построении мы совсем не учитывали стоимость перевозок Сij .
Другой способ - способ минимальной стоимости по строке - основан на том, что мы распределяем продукцию от пункта Ai не в любой из пунктов Bj, а в тот, к которому стоимость перевозки минимальна. Если в этом пункте заявка полностью удовлетворена, то мы убираем его из расчетов и находим минимальную стоимость перевозки из оставшихся пунктов Bj. Во всем остальном этот метод схож с методом северо-западного угла. В результате, опорный план, составленный способом минимальной стоимости по строке выглядит, так как показано в таблице № 3.
При этом методе может получиться, что стоимости перевозок Cij и Cik от пункта Ai к пунктам Bj и Bk равны. В этом случае, с экономической точки зрения, выгоднее распределить продукцию в тот пункт, в котором заявка больше. Так, например, в строке 2: C21 = C24, но заявка b1 больше заявки b4, поэтому 4 единицы продукции мы распределим в клетку (2,1).
|
Способ минимальной стоимости по столбцу аналогичен предыдущему способу. Их отличие состоит в том, что во втором способе мы распределяем продукцию от пунктов Bi к пунктам Aj по минимальной стоимости Cji.
Опорный план, составленный способами минимальных стоимостей, обычно более близок к оптимальному решению. Так в нашем примере общие затраты на транспортировку по плану, составленному первым способом F0 = 1039, а по второму F0 = 723.
Клетки таблицы, в которых стоят ненулевые перевозки, являются базисными. Их число должно равняться m + n - 1. Необходимо отметить также, что встречаются такие ситуации, когда количество базисных клеток меньше чем m + n - 1. В этом случае распределительная задача называется вырожденной. И следует в одной из свободных клеток поставить количество перевозок равное нулю. Так, например, в таблице № 3:
m + n - 1 = 4 + 5 - 1 = 8,
а базисных клеток 7, поэтому нужно в одну из клеток строки 3 или столбца 2 поставить значение “0”. Например в клетку (3,5).
Составляя
план по способам минимальных стоимостей
в отличии от плана по способу северо-западного
угла мы учитываем стоимости перевозок
Cij, но все же не можем утверждать,
что составленный нами план является оптимальным.
Глава
III
3.1
Решение транспортной
задачи с использованием
модифицированного
распределительного
метода
С помощью рассмотренных методов построения первоначального опорного плана можно получить вырожденный или невырожденный опорный план. Построенный план транспортной задачи как задачи линейного программирования можно было бы довести до оптимального с помощью симплексного метода. Однако из-за громоздкости симплексных таблиц, содержащих тп неизвестных, и большого объема вычислительных работ для получения оптимального плана используют более простые методы. Наиболее часто применяются метод потенциалов (модифицированный распределительный метод) и метод дифференциальных рент.
Модифицированный распределительный метод. Этот первый точный метод решения транспортной задачи предложен в 1949 году Кантаровичем А. В. И Гавуриным М. К. по существу он является детализацией метода последовательного улучшения плана применительно к транспортной задаче. Однако в начале он был изложен вне связи с общими методами линейного программирования. Несколько позднее аналогичный алгоритм был разработан Данциом, который исходил из общей идеи линейного программирования. В американской литературе принято называть модифицированным распределительным методом. Метод потенциалов позволяет определить отправляясь от некоторого опорного плана перевозок построить решение транспортной задачи за конечное число шагов (итераций).
Этот метод позволяет
Пусть имеется транспортная задача с балансовыми условиями
Стоимость перевозки единицы груза из Ai в Bj равна C ij ; таблица стоимостей задана. Требуется найти план перевозок xij, который удовлетворял бы балансовым условиям и при этом стоимость всех перевозок бала минимальна.
Идея метода потенциалов для решения транспортной задачи сводиться к следующему. Представим себе что каждый из пунктов отправления Ai вносит за перевозку единицы груза (всё равно куда) какую-то сумму ai ; в свою очередь каждый из пунктов назначения Bj также вносит за перевозку груза (куда угодно) сумму bj . Эти платежи передаются некоторому третьему лицу (“перевозчику“). Обозначим ai + bj = čij ( i=1..m ;j=1..n) и будем называть величину čij “псевдостоимостью” перевозки единицы груза из Ai в Bj. Заметим, что платежи ai и bj не обязательно должны быть положительными; не исключено, что “перевозчик” сам платит тому или другому пункту какую-то премию за перевозку. Также надо отметить, что суммарная псевдостоимость любого допустимого плана перевозок при заданных платежах (ai и bj ) одна и та же и от плана к плану не меняется.
До сих пор мы никак не связывали платежи (ai и bj) и псевдостоимости čij с истинными стоимостями перевозок C ij. Теперь мы установим между ними связь. Предположим, что план xij невырожденный (число базисных клеток в таблице перевозок ровно m + n -1). Для всех этих клеток xij >0. Определим платежи (ai и bj) так, чтобы во всех базисных клетках псевдостоимости были ровны стоимостям:
čij = ai + bj = сij , при xij >0.
Что касается свободных клеток (где xij = 0), то в них соотношение между псевдостоимостями и стоимостями может быть, какое угодно.
Оказывается
соотношение между
ai + bj = čij= сij ,
а для всех свободных клеток xij =0,
ai + bj = čij≤ сij ,
то план является оптимальным и никакими способами улучшен быть не может. Нетрудно показать, что это теорема справедлива также для вырожденного плана, и некоторые из базисных переменных равны нулю. План обладающий свойством :
čij= сij (для всех базисных клеток ) (1)
čij≤ сij ( для всех свободных клеток ) (2)
называется потенциальным планом, а соответствующие ему платежи (ai и bj ) — потенциалами пунктов Ai и Bj ( i=1,...,m ; j=1,...,n ). Пользуясь этой терминологией вышеупомянутую теорему можно сформулировать так:
Всякий
потенциальный
план является
оптимальным.
Итак, для решения транспортной задачи нам нужно одно - построить потенциальный план. Оказывается его можно построить методом последовательных приближений, задаваясь сначала какой-то произвольной системой платежей, удовлетворяющей условию (1). При этом в каждой базисной клетке получиться сумма платежей, равная стоимости перевозок в данной клетке; затем, улучшая план следует одновременно менять систему платежей. Так, что они приближаются к потенциалам. При улучшении плана нам помогает следующее свойство платежей и псевдостоимостей: какова бы ни была система платежей (ai и bj ) удовлетворяющая условию (1), для каждой свободной клетки цена цикла пересчёта равна разности между стоимостью и псевдостоимостью в данной клетке : gi,j= сi,j - či,j.