Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мои_лекции_СиАн.doc
Скачиваний:
12
Добавлен:
14.08.2019
Размер:
747.01 Кб
Скачать

§ 7.4. Задачи линейного программирования

Рассмотрим простейший случай: выбор показателя эффективности W явно диктуется целевой направленностью операции, а ее условия известны заранее (детерминированная задача). В этом случае показатель эффективности зависит только от двух групп параметров: заданных условий  и элементов решения х. Т. е. W = W{,x).

Пусть решение х представляет собой n-мерный вектор:

х = (х1, х2, ..., xn), где хi – элементы решения

Требуется найти такие значения х1, х2, ..., xn, которые обращают величину W в экстремум.

Трудности, возникающие при решении задач математического программирования, зависят:

а) от вида функциональной зависимости, связывающей W с элементами решения,

б) от «размерности» задачи, т. е. от количества элементов решения х1, х2, ..., xn и

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

Среди задач математического программирования самыми простыми (и лучше всего изученными) являются так называемые задачи линейного программирования. Характерно для них то, что:

а) показатель эффективности (целевая функция) W линейно зависит от элементов решения х1, х2, ..., xn и

б) ограничения, налагаемые на элементы решения, имеют вид линейных равенств или неравенств относительно х1, х2, ..., xn. Линейные зависимости часто встречаются на практике.

Приведем несколько примеров задач линейного программирования.

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

Ферма производит откорм скота с коммерческой целью. Для простоты допустим, что имеется всего четыре вида продуктов: П1, П2, П3, П4. Стоимость единицы каждого продукта равна соответственно c1, c2, c3, c4. Из этих продуктов требуется составить пищевой рацион, который должен содержать: белков — не менее b1 единиц; углеводов— не менее b2 единиц; жиров — не менее b3 единиц. Для продуктов П1, П2, П3, П4 содержание белков, углеводов и жиров (в единицах на единицу продукта) известно и задано таблицей

Элементы

Продукты

Белки

Углеводы

Жиры

П1

a11

a12

a13

П2

a21

a22

a23

П3

a31

a32

a33

П4

a41

a42

a43

где aij (i = 1, 2, 3, 4; j = 1, 2, 3) — некоторые определенные числа; первый индекс указывает номер продукта, второй — номер элемента (белки, углеводы, жиры). Требуется составить такой пищевой рацион (т. е. назначить количества продуктов П1, П2, П3, П4, входящих в него), чтобы условия по белкам, углеводам и жирам были выполнены и при этом стоимость рациона была минимальна.

Составим математическую модель. Обозначим через x1, x2, x3, x4 количества продуктов П1, П2, П3, П4, входящих в рацион. Показатель эффективности, который требуется минимизировать, — стоимость рациона (обозначим её L); она линейно зависит от элементов решения x1, x2, x3, x4: L = c1 x1 + c2 x2 + c3 x3 + c4 x4..

Итак, вид целевой функции известен и она линейна. Запишем теперь в виде формул ограничительные условия по белкам, углеводам и жирам:

Эти линейные неравенства представляют собой ограничения, налагаемые на элементы решения x1, x2, x3, x4. Таким образом, поставленная задача сводится к следующей: найти такие неотрицательные значения переменных x1, x2, x3, x4, чтобы они удовлетворяли ограничениям — неравенствам и одновременно обращали в минимум линейную функцию этих переменных: L = c1 x1 + c2 x2 + c3 x3 + c4 x4 min

  1. Задача о планировании производства.

Предприятие производит изделия трех видов: И1, И2, И3. По каждому виду изделия предприятию спущен план, по которому оно обязано выпустить не менее b1 единиц изделия И1, не менее b2 единиц изделия И2 и не менее b3 единиц изделия И3. План может быть перевыполнен, но в определенных границах; условия спроса ограничивают количества произведенных единиц каждого типа: не более соответственно 1, 2, 3 единиц. На изготовление изделий идет какое-то сырье; всего имеется четыре вида сырья: S1, S2, S3, S4, причем запасы ограничены числами 1, 2, 3, 4 единиц каждого вида сырья. Теперь надо указать, какое количество сырья каждого вида идет на изготовление каждого вида изделий. Обозначим ai j количество единиц сырья вида Sj (j = 1,2,3,4), потребное на изготовление одной единицы изделия Иi, (i = 1, 2, 3). Первый индекс у числа ai j — вид изделия, второй — вид сырья. Значения ai j сведены в матрицу.

Сырьё

Изделия

S1

S2

S3

S4

И1

a11

a12

a13

a14

И2

a21

a22

a23

a24

И3

a31

a32

a33

a34

При реализации одно изделие Иi приносит предприятию прибыль ci. Требуется так спланировать производство (сколько каких изделий производить), чтобы план был выполнен или перевыполнен (но при отсутствии «затоваривания»), а суммарная прибыль обращалась в максимум.

Запишем задачу в форме ЗЛП.

Элементами решения будут x1, x2, x3 – количества единиц изделий U1, U2, U3, которые мы произведём.

Запишем условия – ограничения.

Обязательность выполнения плана:

Отсутствие затоваривания:

Нам должно хватить сырья:

Теперь целевая функция: прибыль, приносимая планом

L = c1 x1 + c2 x2 + c3 x3 max

Таким образом, мы снова получили ЗЛП.

  1. Задача о загрузке оборудования.

Ткацкая фабрика располагает двумя видами станков, из них N1 станков типа 1 и N2 станков типа 2. Станки могут производить три вида тканей: Т1, Т2, Тз, но с разной производительностью. Данные aij производительности станков даны в таблице (первый индекс — тип станка, второй — вид ткани).

Ткань

Станок

T1

T2

T3

1

a11

a12

a13

2

a21

a22

a23

Каждый метр ткани вида T1 приносит фабрике доход c1, вида Т2 — доход c2, Т3 доход с3. Фабрике предписан план, согласно которому она должна производить в месяц не менее b1 метров ткани Т1, b2 метров ткани Т2, b3 метров ткани Т3. Количество метров каждого вида ткани не должно превышать соответственно 1, 2, 3 метров. Кроме того, все без исключения станки должны быть загружены. Требуется так распределить загрузку станков производством тканей Т1, Т2, Т3, чтобы суммарный месячный доход был максимален.

На первый (легкомысленный) взгляд эта задача - родная сестра предыдущей. Но если мы примем за x1, x2, x3 количества тканей трёх видов, то не сможем учесть возможности оборудования. Что же здесь является элементами решения? Возможно, количество станков 1 и 2 вида, занятыми производством тканей каждого вида. Для удобства обозначим элементы решения буквами x с двумя индексами: первый – тип станка, второй - вид ткани. Всего будет шесть элементов решения

x11 x12 x13

x21 x22 x23

Здесь xij -количество станков iого вида, занятых изготовлением ткани jого вида.

Запишем условия-ограничения.

Все станки должны быть задействованы:

Обеспечим выполнение плана:

Ограничим перевыполнение плана:

Запишем суммарный доход от производства всех видов тканей. Суммарное количество метров ткани Т1, произведённое всеми станками, равно a11 x11 + a21 x21, и принесёт доход c1(a11 x11 + a21 x21). Суммарный доход равен

L = c1(a11 x11 + a21 x21) + c2 (a12 x12 + a22 x22) + c3 (a13 x13 + a23 x23) max

  1. Задача о снабжении сырьем.

Имеются три промышленных предприятия: П1, П2, П3, требующих снабжения определенным видом сырья. Потребности в сырье каждого предприятия равны соответственно a1, a2, a3 единиц. Имеются пять сырьевых баз, расположенных от предприятий на каких-то расстояниях и связанных с ними путями сообщения с разными тарифами. Единица сырья, получаемая предприятием Пi, с базы Бj обходится предприятию в ci j рублей (первый индекс — номер предприятия, второй — номер базы)

Базы

Предприятия

Б1

Б2

Б3

Б4

Б5

П1

с11

с12

с13

с14

с15

П2

с21

с22

с23

с24

с25

П3

с31

с32

с33

с34

с35

Возможности снабжения сырьем с каждой базы ограничены ее производственной мощностью: b1, b2, b3, b4, b5 единиц сырья. Требуется составить такой план снабжения предприятий сырьем (с какой базы, куда и какое количество сырья везти), чтобы потребности предприятий были обеспечены при минимальных расходах на сырье.

Поставим задачу линейного программирования. Обозначим xij количество сырья, получаемого i-ым предприятием c j-ой базы. Всего план будет состоять из 15 элементов решения:

Введём ограничения по потребностям. Они состоят в том, что каждое предприятие получит нужное ему количество сырья (ровно столько, сколько ему нужно):

Теперь запишем ограничения-неравенства, вытекающие из производственных мощностей баз:

Запишем суммарные расходы на сырьё, которые мы хотим минимизировать. С учётом данных таблицы тарифов получим .