Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Решение стандартной транспортной задачи



Алгоритм решения стандартной транспортной задачи базируется на идее симплексного метода и включает в себя следующие шаги.

Шаг 1. Найти начальный опорный план. Перейти к шагу 2.

Шаг 2 . Выделить из числа небазисных переменных переменную, вводимую в базис. Если среди небазисных переменных нет таких, ввод которых в базис увеличивает значение целевой функции (условие оптимальности симплекс-метода), закончить вычисления. В противном случае перейти к шагу 3.

Шаг 3. Выбрать переменную, выводимую из базиса, используя условие допустимости симплекс-метода. Найти новое базисное решение и вернуться к шагу 2.

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

2. 1. Определение начального опорного плана

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

В силу сбалансированности ранг матрицы ограничений транспортной задачи равен n+m-1, следовательно, любой ее опорный план, в том числе и начальный, должен иметь n+m-1 базисных переменных. В задаче ЛП для получения начального опорного плана используется М-метод или метод искусственного базиса. При значительном числе переменных, что характерно для транспортной задачи, использование обоих этих методов связано с большим объемом вычислений. В транспортной задаче существуют гораздо более простые способы получения начального опорного плана.

Для определения начального опорного плана и дальнейшего решения транспортной задачи, она записывается в виде специальным образом организованной транспортной таблицы. Структуру транспортной таблицы разберем на задаче из примера 1. Напомним задачу.

В каждом из двух складов сосредоточено по однотипных средств. Необходимо перевести эти средства по четырем городам. Каждая j‑ я точка готова принять единиц товара. Стоимость перевозки средства из i‑ го склада в j‑ й город равна . Составить план, минимизирующий стоимость перевозки. Исходные данные, необходимые для решения задачи указаны в табл. 7, которая и называется транспортной.

Таблица 7

№ склада № города

Крайний левый столбец транспортной таблицы содержит номера складов, верхние строки - номера городов. В крайнем правом столбце указан запас продукта на каждом исходном пункте , в нижней строке - потребности в продукте на каждом из конечных пунктов . Крайняя справа клетка нижней строки содержит общее количество продуктов на всех исходных пунктах. В каждой из остальных клеток таблицы содержится: в верхнем правом углу - стоимость доставки единицы продукта из i‑ го исходного пункта в j‑ й конечный; в центре клетки - - общее количество продукта, доставленное из i‑ го исходного пункта в j‑ й конечный. Рассмотрим три способа построения начального опорного плана: способ северо-западного угла, способ наименьшего элемента и приближенный алгоритм Фогеля.

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

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

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

На этом построение начального опорного плана закончено. Полученный план отображен в таблице 8. Он представляет собой вектор X=(4, 6, 2, 0, 0, 0, 5, 3), значение целевой функции на этом этапе равно 249 ( ).

Таблица 8

№ склада № города
       
       

1 шаг

№ склада № города
      12-4=8
       

2 шаг

№ склада № города ’’
    8-6=2
       
’’

3 шаг

№ склада № города ’’’
 
       
’’’

3 шаг

№ склада № города ’’’’
 
      8-5=3
’’’

3 шаг

№ склада № города ’’’’’
 
   
’’’’’

Способ наименьшего элемента. При построении начального опорного плана способом северо-западного угла первой переменной назначаемой в качестве базисной всегда является переменная . В способе наименьшего элемента первой в качестве базисной назначается переменная, которой соответствует минимальная по всей таблице стоимость (для задачи минимизации). Затем, как и в способе северо-западного угла, выбранной базисной переменной присваивается значение . После этого вычеркивается соответствующий столбец или строка транспортной таблицы и корректируются величины и .

Корректировка выполняется в соответствии с соотношениями: , аналогично тому, как это делалось в способе северо-западного угла. Процедура повторяется до тех пор, пока не вычеркнутым останется одна строка или один столбец (пока хоть один ai или bj отличается от нуля).

Таблица 9

№ склада № города
       
       

Анализ данной таблицы показывает, что . Следовательно, первая базисная переменная есть переменная . Вычислим величину первой базисной переменной: . Соответственно получим .

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

Шаг 1

№ склада № города
       
     

Шаг 2

№ склада № города ’’
     
     
’’

Шаг 3

№ склада № города ’’’
   
     
’’’

Шаг 4

№ склада № города ’’’’
   
   
’’’’

Шаг 5

№ склада № города ’’’’’
 
   
’’’’’

Полученный с помощью способа наименьшего элемента вектор опорного плана оказался равным (4, 6, 0, 2, 0, 0, 7, 1), а значение целевой функции на нем - равным 225. Сравнение значений целевой функции на опорном плане, полученном по методу северо-западного угла, со значением, полученным по способу наименьшего элемента, доказывает, что последний план более близок к оптимальному.

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

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

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

В отмеченной строке или столбце выбираем переменную с самой низкой стоимостью , придаем ей максимально возможное значение, равное 7, и объявляем базисной переменной. После этого корректируем соответствующие величины аналогично тому, как это делалось в способе северо-западного угла, вычеркиваем строку или столбец, соответствующие выполненному ограничению (столбец 3).

На третьем шаге:

а) Если не вычеркнутой останется в точности одна строка или столбец с одним ненулевым , закончить вычисления;

б) Если остается не вычеркнутой только одна строка (столбец), с несколькими не равными нулю или , найти в этой строке базисные переменные, используя способ наименьшего элемента;

в) Если всем, не вычеркнутым строкам и столбцам, соответствуют, и равные нулю, найти базисные переменные, используя метод минимального элемента;

г) Во всех остальных случаях найти новые значения штрафов для не вычеркнутых строк и столбцов и перейти к шагу 2.

Таблица 10

Шаг 1

№ склада № города Штраф для строки
           
         
     
Штраф для столбцов        

Шаг 2

№ склада № города Штраф для строки
       
       
     
Штраф для столбцов        
       

Шаг 3

№ склада № города Штраф для строки
   
     
     
Штраф для столбцов        
       
       

Шаг 4

№ склада № города Штраф для строки
 
   
     
Штраф для столбцов        
       
       

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

Решение


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-07-13; Просмотров: 797; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.022 с.)
Главная | Случайная страница | Обратная связь