Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
DONDIK / Мат основы прин решений-заоч.doc
Скачиваний:
114
Добавлен:
15.04.2015
Размер:
1.35 Mб
Скачать

3.2.5. Задача о перевозках (транспортная задача).

Имеется m складов, n пунктов потребления, связанных сетью дорог с определенными тарифами перевозок. При этом сij – стоимость перевозки единицы груза из i-го склада в j-й пункт потребления. На складах имеются запасы однородного товара в количествах a1 ,…, ai ,…, am. Пункты потребления подают заявки, соответственно, на единицы товара b1 ,…, bj ,…, bn . Необходимо составить план перевозок, т. е. Указать, с какого склада, в какие пункты потребления и какое количество товаров нужно отправлять, чтобы заявки были выполнены, а общие расходы на перевозки были бы минимальными.

В качестве управляемых переменных берется количество товара, направляемого из i-го склада в j-й пункт потребления xij . Если между соответствующими пунктами нет перевозок, то принимается xij = 0.

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

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

или в свернутом виде

. (3.11)

Заявки, поданные пунктами потребления, должны быть выполнены, следовательно:

или . (3.12)

Полная стоимость перевозок, которую по условиям задачи необходимо минимизировать, включает суммарную стоимость перевозок между всеми складами и всеми пунктами потребления, т. е.

. (3.13)

Это и будет целевая функция транспортной задачи.

3.3. Основная задача линейного программирования

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

Для переменных x1 , …, xn найти такие неотрицательные значения

xj 0 , , (3.14)

которые обращали бы в максимум целевую функцию

(3.15)

и удовлетворяли системе равенств

. (3.16)

Основную задачу линейного программирования можно представить в матричном виде

F = C X max , (3.17)

A X = B , (3.18)

X  0, (3.19)

где C = [c1 , …, cj , …, cn] – матрица-строка коэффициентов целевой функции;

–матрица коэффициентов системы ограничений;

–матрица-столбец коэффициентов правых частей ограничений, записанная в транспонированном виде;

–матрица-столбец переменных.

В частных задачах может потребоваться не максимизация, а минимизация целевой функции. В этом случае для сохранения алгоритма максимизации решается задача при целевой функции с обратным знаком, т. е. если F min min, то в задаче беретсяF max = – Fmin.

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

Например, a11 x1 + … + a1n xn b1 (a11 x1 + … + a1nxn b1 ) , или

a11 x1 + … + a1n xn b1 0.

Вводится новая переменная xn+1, равная левой части неравенства

xn+1 = a11 x1 + … + a1n xn b1 .

На эту новую переменную также накладывается условие неотрицательности xn+1 0. Перенеся новую переменную в левую часть неравенства, получим

a11 x1 + … + a1n xn xn+1 = b1 или (a11 x1 + … + a1n xn + xn+1 = b1 ).

В целевую функцию дополнительные переменные входят с нулевыми коэффициентами:

F = c1 x1 + … + cn xn – 0 xn+1 max.

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

xj = xj xj , xj 0, xj 0.

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

Чтобы решить задачи линейного программирования надо ответить на три вопроса:

  1. Имеет ли задача допустимые решения, т. е. совместна ли система ограничений?

  2. Имеет ли целевая функция экстремум?

  3. Каков этот экстремум, при каких значениях переменных достигается?

Набор чисел X = [x1, …, xj , …, xn], удовлетворяющий условиям (3.14) и (3.16), называетсядопустимым решением.

Решение, при котором линейный функционал (3.15) достигает экстремума, называется оптимальным решением.

При анализе системы может оказаться:

  1. условия (3.16) противоречивы, т. е. не существует набора чисел, удовлетворяющих этим условиям, в этом случае задача не имеет решения;

  2. условия (3.16) непротиворечивы, но Fне имеет экстремума, тогда задача тоже неразрешима.

Если – матрица системы, то– расширенная матрица системы, у которой добавлен столбец свободных членов.

Если в матрице произвольным образом выбрать kстрок иkстолбцов, то элементы, лежащие на их пересечении, образуютквадратную матрицу k – го порядка.

Определитель ее называется минором k – го порядка матрицыА.

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

Теорема Кронекера-Капелли утверждает, что для того, чтобы система AX=Bимела хотя бы одно решение, т. е. была совместна, необходимо и достаточно, чтобы ранг матрицы системы был равен рангу расширенной матрицы.

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

Если r–ранг системы, тоr n(число неизвестных),r m(число уравнений).

Возьмем r = mи далее везде будем предполагать, чтоm– число независимых уравнений.

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

В первом случае, когда число уравнений равно числу переменных (m=n), система имеет единственное решение x1 ,…, xj ,…, xn. В линейном программировании это редкий случай и практического значения не имеет.

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

Если хотя бы одна переменная отрицательная, то решение задачи недопустимо.

Соседние файлы в папке DONDIK