Transcript
Page 1: Задачи линейного программирования

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

Лекция 3

Page 2: Задачи линейного программирования

Линейное программирование

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

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

Page 3: Задачи линейного программирования

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

Слово программирование введено в связи с тем, что неизвестные переменные обычно определяют программу или план работы некоторого субъекта.

Page 4: Задачи линейного программирования

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

ЗЛП записывается в общем виде так:

при ограничениях

1 1 2 2( ) ... ... m a x(min)j j n nF x c x c x c x c x

11 1 12 2 1 1 1

12 2 22 2 2 2 2

1 1 2 2

... ... ,

... ... ,

...............................................................,

... ... ,

...............................

j j n n

j j n n

i i ij j in n i

a x a x a x a x b

a x a x a x a x b

a x a x a x a x b

1 1 2 2

.

...............................,

... ...

0, 1, , 1, .

m m mj j mn n m

j

a x a x a x a x b

x i m j n

Page 5: Задачи линейного программирования

Здесь -неизвестные, -заданные постоянные величины. Ограничения могут быть заданы уравнениями.

Наиболее часто встречаются задачи в виде: имеется ресурсов при ограничениях. Нужно определить объемы этих ресурсов , при которых целевая функция будет достигать максимума (минимума), т. е. найти оптимальное распределение ограниченных ресурсов. При этом имеются естественные ограничения >0.

jx , , ij i ja b c

n m

jx

Page 6: Задачи линейного программирования

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

Page 7: Задачи линейного программирования

В краткой записи ЗЛП имеет вид:

при ограничениях

1

( ) max(min)n

j jj

F x c x

1

,

0, 1, , 1, .

n

ij j ij

j

a x b

x i m j n

Page 8: Задачи линейного программирования

Для составления математической модели ЗЛП необходимо :

1)обозначить переменные; 2)составить целевую функцию; 3)записать систему ограничений в

соответствии с целью задачи; 4)записать систему ограничений с учетом

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

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

Page 9: Задачи линейного программирования

Примеры задач, которые сводятся к ЗПЛ.

1. задача оптимального распределения ресурсов при планировании выпуска продукции на предприятии (задача об ассортименте);

2. задача на максимум выпуска продукции при заданном ассортименте;

3. задача о смесях (рационе, диете и т.д.);4. транспортная задача;5. задача о рациональном использовании

имеющихся мощностей;6. задача о назначениях.

Page 10: Задачи линейного программирования

1.Задача оптимального распределения ресурсов.

Предположим, что предприятие выпускает различных изделий. Для их производства требуется различных видов ресурсов (сырья, рабочего и машинного времени, вспомогательных материалов). Эти ресурсы ограничены и составляют в планируемый период условных единиц. Известны также технологические коэффициенты , которые указывают, сколько единиц i-го ресурса требуется для производства изделия j-го вида. Пусть прибыль, получаемая предприятием при реализации единицы изделия j-го вида , равна . В планируемый период все показатели предполагаются постоянными.

n

m

1 2, , ..., mb b b

ija

jc, , ij i ja b c

Page 11: Задачи линейного программирования

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

Экономико-математическая модель задачи

1

1

max,

, 1, ,

0, j=1, .

n

j jj

n

ij j ij

j

F c x

a x b i m

x n

Page 12: Задачи линейного программирования

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

Page 13: Задачи линейного программирования

Примеры

Page 14: Задачи линейного программирования

Допустим, что будет изготовлено изделий вида А, -изделий вида В и -изделий вида С. Тогда для производства такого количества изделий потребуется затратить

станко-часов фрезерного оборудования.

Так как общий фонд рабочего времени станков данного типа не может превышать 120, то должно выполняться неравенство

1x

2x 3x

1 2 32 4 5x x x

1 2 32 4 5 120.x x x

Page 15: Задачи линейного программирования

Рассуждая аналогично, можно составить систему ограничений

1 2 3

1 2 3

1 2 3

1 2 3

1 2 3

2 4 5 120,

8 6 280,

7 4 5 240,

4 6 7 360.

0, 0, 0.

x x x

x x x

x x x

x x x

x x x

Page 16: Задачи линейного программирования

Теперь составим целевую функцию. Прибыль от реализации изделий вида А составит 10 , от реализации -изделий вида В -14 и от реализации -изделий вида С-12

Общая прибыль от реализации всех изделий составит

1x2x

3x3x

1x2x

1 2 310 14 12F x x x

Page 17: Задачи линейного программирования

Таким образом, приходим к следующей ЗЛП:

Требуется среди всех неотрицательных решений системы неравенств

найти такое, при котором целевая функция

принимает максимальное значение.

1 2 3

1 2 3

1 2 3

1 2 3

2 4 5 120,

8 6 280,

7 4 5 240,

4 6 7 360.

x x x

x x x

x x x

x x x

1 2 310 14 12F x x x

Page 18: Задачи линейного программирования

Пример 2

Продукцией гормолокозавода являются молоко, кефир и сметана, расфасованные в тару. На производство 1 т молока, кефира и сметаны требуется соответственно1010,1010 и 9450 кг молока. При этом затраты рабочего времени при разливе 1 т молока и кефира составляют 0,18 и 0,19 машино-часов. На расфасовке 1 т сметаны заняты специальные автоматы в течение 3,25 часов.

Page 19: Задачи линейного программирования

Всего для производства цельномолочной продукции завод может использовать 136000 кг молока. Основное оборудование может быть занято в течение 21,4 машино-часов, а автоматы по расфасовке сметаны – в течение 16,25 часов. Прибыль от реализации 1 т молока, кефира и сметаны соответственно равна 30, 22 и 136 руб. Завод должен ежедневно производить не менее 100 т молока, расфасованного в бутылки. На производство другой продукции нет ограничений.

Page 20: Задачи линейного программирования

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

Page 21: Задачи линейного программирования

Решение Пусть завод будет производить т

молока, т кефира и т сметаны.

Тогда ему необходимо

кг молока.

Так как завод может использовать ежедневно не более 136000 кг молока, то должно выполняться неравенство

1x2x 3x

1 2 31010 1010 9450x x x

1 2 31010 1010 9450 136000x x x

Page 22: Задачи линейного программирования

Ограничения на время по расфасовке молока и кефира

и по расфасовке сметаны .

Так как ежедневно должно вырабатываться не менее100 т молока, то .

По экономическому смыслу

1 20,18 0,19 21,4x x

33,25 16,25x

1 100x

2 30, 0.x x

Page 23: Задачи линейного программирования

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

при ограничениях

Так как целевая функция линейная и ограничения заданы системой неравенств, то эта задача является ЗЛП.

1 2 330 22 136x x x

1 2 330 22 136 maxF x x x

1 2 3

1 2

2

1

1 2 3

1010 1010 9450 136000,

0,18 0,19 21,4,

3, 25 16,25,

100,

0, 0, 0.

x x x

x x

x

x

x x x

Page 24: Задачи линейного программирования

Задача о смесях.

Имеется два вида продукции , содержащие питательные вещества

(жиры, белки и т.д.)

1 2, P P

1 2 3 4, , , s s s s

Page 25: Задачи линейного программирования

Таблица

Page 26: Задачи линейного программирования

Решение Общая стоимость рациона

при ограничениях с учетом необходимого минимума питательных веществ

1 23 4 minF x x

1 2

1 2

1 2

1 2

1 2

2 10,

3 2 8,

2 9,

2 2 11,

0, 0.

x x

x x

x x

x x

x x

Page 27: Задачи линейного программирования

Математическая постановка задачи: составить дневной рацион , удовлетворяющий системе ограничений и минимизирующий целевую функцию.

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

1 2( ; )X x x

Page 28: Задачи линейного программирования

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

Коэффициенты показывают удельный вес i-го компонента в единице j-го материала

jxjc

ib

ija

Page 29: Задачи линейного программирования

Экономико-математическая модель

задачи.

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

1

1

( ) min,

, 1, ,

0, 1, .

n

j jj

n

ij j ij

j

F X c x

a x b i m

x j n

Page 30: Задачи линейного программирования

Задача о раскрое На швейной фабрике ткань может быть

раскроена несколькими способами для изготовления нужных деталей швейных изделий. Пусть при j-ом варианте раскроя изготавливается деталей i-го вида, а величина отходов при данном варианте раскроя равна Зная, что деталей i-го вида следует изготовлять штук, требуется раскроить ткань так, чтобы было получено необходимое количество деталей каждого вида при минимальных общих отходах. Составить математическую модель задачи.

2100ì ijb2 ì .ijc

iB

Page 31: Задачи линейного программирования

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

Общая величина отходов по всем вариантам раскроя составит

jx2ì

2100ì

ijb

1 1 2 2 ... ( 1, ).i i in n ib x b x b x B i m

1 1 2 2 ... .n nF c x c x c x

Page 32: Задачи линейного программирования

Таким образом, приходим к следующей задаче:

Найти минимум функции

при условии, что ее переменные

удовлетворяют ограничениям

1 1 2 21

...n

n n j jj

F c x c x c x c x

1

( 1, ),

0 ( 1, )

n

ij j ij

j

b x B i m

x j n

Page 33: Задачи линейного программирования

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

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

(1) при условиях

(2)

где -заданные постоянные величины и

1

n

j jj

F c x

1

1

( 1, ),

( 1, ),

0 ( 1, , ),

n

ij j ij

n

ij j ij

j

a x b i k

a x b i k m

x j l l n

, , ij i ja b c

.k m

Page 34: Задачи линейного программирования

Опр.2.Функция (1) называется целевой, а условия (2)-ограничениями задачи.

Опр.3. Совокупность чисел

,

удовлетворяющих ограничениям задачи (1)-(2), называются допустимым решением (или планом).

1 2( , ,..., )nX x x x

Page 35: Задачи линейного программирования

Основная задача ЛП

Опр.4. Основной , или канонической ЗЛП называется задача, состоящая в определении значения целевой функции

при условии, что система ограничений представлена в виде системы уравнений:

1 1 2 2( ) ... ... max(min)j j n nF x c x c x c x c x

11 1 12 2 1 1 1

12 2 22 2 2 2 2

1 1 2 2

... ... ,

... ... ,

...............................................................,

... ... ,

...............................

j j n n

j j n n

i i ij j in n i

a x a x a x a x b

a x a x a x a x b

a x a x a x a x b

1 1 2 2

.

...............................,

... ...

0, 1, , 1, .

m m mj j mn n n

j

a x a x a x a x b

x i m j n

Page 36: Задачи линейного программирования

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

Если требуется найти минимум функции, то можно перейти к нахождению максимума, умножив целевую функции на (-1).

Ограничение –неравенство вида можно преобразовать в равенство добавлением к его левой части неотрицательной дополнительной переменной , а ограничение неравенство вида - в ограничение- равенство вычитанием из его левой части дополнительной неотрицательной переменной.

Page 37: Задачи линейного программирования

Пример. Записать в форме основной задачи ЛП задачу: найти

максимум функции

при условиях

1 2 4 53 2 5F x x x x

1 3 4 5

1 3 4 5

2 3 4 5

1 4 5

1 2 3 4 5

2 2,

2 3,

2 2 6,

5 8,

, , , , 0.

x x x x

x x x x

x x x x

x x x

x x x x x

Page 38: Задачи линейного программирования

Перейдем от ограничений –неравенств к ограничениям-равенствам.

У нас имеется 4 неравенства, поэтому введем 4 дополнительные переменные.

Тогда запишем уже основную задачу линейного программирования: максимизировать функцию

при условиях1 2 4 53 2 5F x x x x

1 3 4 5 6

1 3 4 5 7

2 3 4 5 8

1 4 5 9

1 2 3 4 5

2 2,

2 3,

2 2 6,

5 8,

, , , , 0.

x x x x x

x x x x x

x x x x x

x x x x

x x x x x

Page 39: Задачи линейного программирования

Свойства основной ЗЛП. Перепишем ЗЛП в векторной форме: найти максимум

функции при условиях

Здесь

1 1 2 2 ... n nF c x c x c x 1 1 2 2 0... ,

0 ( 1, ).

n n

j

x P x P x P P

x j n

1 11 12 1

2 21 22 20 1 2

1 2

; , ;...; .... ... ... ...

n

nn

m m m mn

b a a a

b a a aP P P P

b a a a

Page 40: Задачи линейного программирования

План называется опорным, если все компоненты базисного решения системы ограничений канонической задачи линейного программирования неотрицательны. Число положительных компонент опорного плана не может быть больше m, т.е.числа уравнений в ограничениях.

1 2( , ,..., )nX x x x

Page 41: Задачи линейного программирования

Опорный план называется невырожденным, если он содержит m положительных компонент. В противном случае он называется вырожденным.

План, при котором целевая функция ЗЛП принимает свое максимальное (минимальное ) значение , называется оптимальным.