Математическое программирование

Автор работы: Пользователь скрыл имя, 08 Июля 2011 в 08:18, доклад

Описание работы

симплекс-метод

Файлы: 1 файл

математическое программирование.DOC

— 398.50 Кб (Скачать файл)

Однородный груз, имеющийся в m пунктах отправления (производства) А1, А2, ..., Аm соответственно в количествах а1, а2, ..., аm единиц, требуется доставить в каждый из n пунктов назначения (потребления) В1, В2, ..., Вn соответственно в количествах b1, b2, ..., bn единиц. Стоимость перевозки (тариф) единицы продукта из Ai в Bj известна для всех маршрутов AiBj и равна Cij (i=1,m; j=1,n). Требуется составить такой план перевозок, при котором весь груз  из пунктов отправления вывозиться и запросы всех пунктов потребления удовлетворяются  (закрытая модель), а суммарные транспортные расходы минимальны.

Условия задачи удобно располагать в таблицу, вписывая в клетки количество перевозимого груза из Ai в Bj груза Xij > 0, а в маленькие клетки - соответствующие тарифы Cij:

  1. Математическая модель транспортной задачи.

Из предыдущей таблицы легко усматривается и составляется математическая модель транспортной задачи для закрытой модели  
 

Число r = m + n - 1, равное рангу системы (1), называется рангом транспортной задачи. Если число заполненных клеток (Xij 0) в таблице равно r, то план называется невырожденным, а если это число меньше r, то план вырожденный - в этом случае в некоторые клетки вписывается столько нулей (условно заполненные клетки), чтобы общее число заполненных клеток было равно r.

Случай открытой модели даi дbj легко сводится к закрытой модели путем введения фиктивного потребителя Bn+1 c потребностью bn+1=дai-дbj, либо - фиктивного поставщика Аm+1 c запасом am+1=дbj-дai ; при этом тарифы фиктивных участников принимаются равными 0.

  1. Способы составления 1-таблицы (опорного плана).
  1. Способ северо-западного угла (диагональный). Сущность способа заключается в том, что на каждом шаге заполняется левая верхняя клетка (северо-западная) оставшейся части таблицы, причем максимально возможным числом: либо полностью вывозиться груз из Аi, либо полностью удовлетворяется потребность Bj. Процедура продолжается до тех пор, пока на каком-то шаге не исчерпаются запасы ai и не удовлетворяются потребности bj . В заключение проверяют, что найденные компоненты плана Xij удовлетворяют горизонтальным и вертикальным уравнениям и что выполняется условие невырожденности плана.
  2. Способ наименьшего тарифа. Сущность способа в том, что на каждом шаге заполняется та клетка оставшейся части таблицы, которая имеет наименьший тариф; в случае наличия нескольких таких равных тарифов заполняется любая из них. В остальном действуют аналогично предыдущему способу.
  1. Метод потенциалов решения транспортной задачи.

Определение: потенциалами решения называются числа ai®Ai, bj®Bj, удовлетворяющие условию ai+bj=Cij (*) для всех заполненных клеток (i,j).

Соотношения (*) определяют систему из m+n-1 линейных уравнений с m+n неизвестными, имеющую бесчисленное множество решений; для ее определенности одному неизвестному придают любое число (обычно a1=0), тогда все остальные неизвестные определяются однозначно.

Критерий оптимальности. Если известны потенциалы решения X0 транспортной задачи и для всех незаполненных клеток выполняются условия ai+bj Ј Ci j, то X0 является оптимальным планом транспортной задачи.

Если план не оптимален, то необходимо перейти к следующему плану (таблице) так, чтобы транспортные расходы не увеличились.

Определение: циклом пересчета таблицы называется последовательность клеток, удовлетворяющая условиям:

  1. одна клетка пустая, все остальные занятые;
  2. любые две соседние клетки находятся в одной строке или в одном столбце;
  3. никакие 3 соседние клетки не могут быть в одной строке или в одном столбце .

Пустой клетке присваивают знак « + », остальным - поочередно знаки « - » и « + ».

Для перераспределения плана перевозок с помощью цикла перерасчета сначала находят незаполненную клетку (r, s), в которой ar+bs>Crs, и строят соответствующий цикл; затем в минусовых клетках находят число X=min{Xij}. Далее составляют новую таблицу по следующему правилу:

  1. в плюсовые клетки добавляем X;
  2. из минусовых клеток отнимаем Х;
  3. все остальные клетки вне цикла остаются без изменения.

Получим новую таблицу, дающее новое решение X, такое, что f(X1) Ј f(X0); оно снова проверяется на оптимальность через конечное число шагов обязательно найдем оптимальный план транспортной задачи, ибо он всегда существует. 
 

  1. Алгоритм метода потенциалов.
  2. проверяем тип модели транспортной задачи и в случае открытой модели сводим ее к закрытой;
  3. находим опорный план перевозок путем составления 1-й таблицы одним из способов - северо-западного угла или наименьшего тарифа;
  4. проверяем план (таблицу) на удовлетворение системе уравнений и на невыражденность; в случае вырождения плана добавляем условно заполненные клетки с помощью « 0 »;
  5. проверяем опорный план на оптимальность, для чего:

а) составляем систему уравнений потенциалов по заполненным клеткам;

б) находим одно из ее решений при a1=0;

в) находим суммы ai+bj=Cўij («косвенные тарифы») для всех пустых клеток;

г) сравниваем косвенные тарифы с истинными: если косвенные тарифы не превосходят соответствующих истинных(Cўij Ј Cij) во всех пустых клетках, то план оптимален (критерий оптимальности). Решение закончено: ответ дается в виде плана перевозок последней таблицы и значения min f.

    Если критерий оптимальности не выполняется, то переходим к следующему шагу.

  1. Для перехода к следующей таблице (плану):

а) выбираем одну из пустых клеток, где косвенный тариф больше истинного (Cўij= ai+bj > Cij );

б) составляем цикл пересчета для этой клетки и расставляем знаки « + », « - » в вершинах цикла путем их чередования, приписывая пустой клетке « + »;

в) находим число перерасчета по циклу: число X=min{Xij}, где Xij - числа в заполненных клетках со знаком « - »;

г) составляем новую таблицу, добавляя X в плюсовые клетки и отнимая X из минусовых клеток цикла

  1. См. п. 3 и т.д.

Через конечное число шагов (циклов) обязательно приходим к ответу, ибо транспортная задача всегда имеет решение. 

Информация о работе Математическое программирование