Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методы вычислений в классах языка С++.doc
Скачиваний:
17
Добавлен:
01.05.2025
Размер:
3 Мб
Скачать
☆

2.5. Элементы линейного программирования

2.5.1. Общая постановка задачи

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

Основная задача линейного программирования (ОЗЛП) возникает при числе уравнений, меньшем числа независимых переменных. В этом случае не остается ничего иного, как выбрать N переменных по числу уравнений в качестве базисных, а остальные оставить свободными; решений системы относительно базиса – бесконечное множество, если на них не наложить ограничений и не предъявить дополнительных требований.

В ОЗЛП такими требованиями, обеспечивающими возможность получения единственного решения, является требование неотрицательности корней xij≥0 системы линейных уравнений

a11x1+a12x2+...+a1nxn=b1

a21x1+a22x2+...+a2nxn=b2

.........................………..

am1x1+am2x2+...+amnxn=bm

и необходимость обеспечения минимума некоторой линейной целевой функции

min L=c1x1+c2x2+...+cnxn

2.5.2. Примеры задач линейного программирования

2.5.2.1. Задача о пищевом рационе

Имеется 4 вида продуктов П1, П2, П3, П4 стоимостью с1, с2, с3, с4 каждый и содержащих соответственно

П1 – а11 единиц белков, а12 углеводов, а13 жиров

П2 – а21 единиц белков, а22 углеводов, а23 жиров

П3 – а31 единиц белков, а32 углеводов, а33 жиров

П4 – а41 единиц белков, а42 углеводов, а43 жиров

Общая стоимость L=c1x1+c2x2+c3x3+c4x4 должна быть минимальной при условии обеспечения в рационе белков – b1 единиц, углеводов – b2 единиц, жиров – b3 единиц и неотрицательности значений x1≥0; x2≥0; x3≥0; x4≥0.

2.5.2.2. Задача о распределении ресурсов

Имеются ресурсы R1, R2, R3, ..., Rm в количествах b1, b2, b3, ..., bm соответственно. С помощью этих ресурсов могут производиться товары Т1, Т2, Т3, ..., Tn. Для производства одной единицы товара Tij необходимо aij единиц ресурса Ri (i=1, 2, ..., m; j=1, 2, ..., n), и каждая единица ресурса Ri стоит Di рублей. Каждая единица товара может быть реализована по цене Ci (i=1, 2, ..., n). Cпрос составляет Kj единиц товара Tj (j=1, 2, ..., n). Необходимо определить, какое количество какого товара необходимо произвести, чтобы прибыль от реализации была максимальной.

Если x1, x2, …, xn - количества товаров T1, T2, ..., Tn и положить x1=K1, x2=K2, ..., xn=Kn, а также учесть достаточность ресурсов, получаем систему:

a11x1+a12x2+...+a1nxn=b1

a21x1+a22x2+...+a2nxn=b2

………............................

am1x1+am2x2+...+amnxn=bm

Себестоимость единицы товара Tj равна Sj=a1jD1+a2jD2+...+amjDm.

Прибыль Qj от реализации единицы товара TjQj=Cj–Sj.

Общая прибыль L=Q1x1+Q2x2+...+Qnxn.

Задача: выбрать такие неотрицательные x1, x2, ..., xn, которые удовлетворяют ограничениям и обращают в максимум функцию L этих переменных. Аналогично формулируются другие практически важные задачи – об оптимальной загрузке оборудования, об оптимальном планировании перевозок и т. д.

2.5.2.3. Задача планирования перевозок (транспортная задача)

В p пунктах-отправителях имеется по kj единиц однотипных грузов, предназначенных для поставки в n пунктов – адресатов по gi штук в каждый, а стоимости перевозок единицы груза в каждый пункт различны для различных комбинаций отправитель–поставщик и равны cij, где j – номер пункта-отправителя (j=1, 2, …, p), i – номер пункта-получателя (i=1, 2, …, n). Обозначим количество грузов, перевозимых от отправителя j получателю i через xij≥0. Составим n уравнений (по одному для каждого получателя):

=gi, i=1, …, n.

плюс p ограничений по возможностям отправителей:

≤kj, j=1, …, p.

и линейный критерий оптимальности решения – минимум общей стоимости перевозок:

L= → min

Эта задача носит название транспортной задачи линейного программирования – она значительно проще общей задачи, так как все коэффициенты основной системы уравнений равны 1.