Вы находитесь на странице: 1из 21

Введение в линейное программирование

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


графическая интерпретация
• Примеры математических постановок задач
линейного программирования
• Моделирование цепи поставок

v 0.7 @ 2015-03-02
Прямые и обратные задачи

• Прямые задачи отвечают на вопрос:


«что будет, если в заданных условиях мы
примем некоторое решение x из множества
допустимых решений X?»
F(x) | x∈ X = ?
• Обратные задачи отвечают на вопрос:
«как выбрать решение x, чтобы показатель
эффективности F(x) принял экстремальное
значение?»

𝑥𝑥 ∗ = 𝐴𝐴𝐴𝐴𝐴𝐴 max 𝐹𝐹 𝛼𝛼, 𝑥𝑥


𝑥𝑥∈𝑋𝑋

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

• В задаче линейного программирования*


целевая функция и все ограничения линейны:
F ( x1 , x2 ) =c1 x1 + c2 x2 → min/ max
при условии что:
a11 x1 + a12 x2 ≤ b1
a x ≥ b
 21 1 2

 a 31 x1 + a32 x 2 =
b3
 x1 ≥ 0, x2 ≥ 0
* Термин происходит от англ. Programming – разработка программ, планов действий

3
Геометрическая интерпретация задачи
линейного программирования
• Целевая функция - уравнение вида: F(x1,x2) = c1x1 + c2x2
задает плоскость в 3х-мерном пространстве
• Ограничение-равенство вида: a1x1+a2x2 = b1
задает прямую в плоскости OXY
• Ограничение-неравенство вида: a1x1+a2x2 ≤ b1
задает одну из полуплоскостей
плоскости OXY
3

x1 ≥ 0
2⋅ x1 + 6⋅ x2 ≤ 12
2
x1
( )
c1 x1
x2 ≤ 2 −
3
c1( x1)
x1
1
( )
c1 x1 → 2 −
3

x2 ≥ 0
0
0 2 4 6 8
x1
4
Пример задачи планирования производства

• Предприятие производит краску для наружных (A) и внутренних (B) работ


• Расходы ключевых видов сырья (в 100 кг/т краски), а также прибыль от
продажи 1т краски (в тыс. руб) приведены в таблице

Ресурс на тонну А на тонну B Доступно


Связующее 6 4 24
Пигмент 1 2 6
Доход /т 5 4 → max

• Маркетинговые ограничения:
– невозможно продать более 2 т краски B работ в день
– Производство краски B не должно превышать производство краски A
более чем на 1 т

• Необходимо составить план производства, обеспечивающий


наибольшую прибыль

5
Математическая постановка задачи
Ресурс на тонну А на тонну B Доступно
Связующее 6 4 24
Пигмент 1 2 6
Доход /т 5 4 → max

• Маркетинговые ограничения:
– невозможно продать более 2 т краски B работ в день
– Производство краски B не должно превышать производство краски A более чем на 1 т
• Необходимо составить план производства, обеспечивающий
наибольшую прибыль
• Математическая постановка задачи: c1 : 6 x1 + 4 x2 ≤ 24
c : 1x + 2 x ≤ 6
F ( x1 , x2 ) = 5 x1 + 4 x2 → max  2 1 2

c3 : x2 ≤ 2
при условии: c : x − x ≤ 1
 4 2 1

c5 : x1 ≥ 0, c6 : x2 ≥ 0

6
Программа для графического решения

http://geogebra.org
Для работы программы нужна Java 7
Линии уровня

8
Линии уровня

9
Графическое решение
A, B, C, D, E, F –
угловые точки
Примечание: в GeoGebra
приходится использовать
переменные x, y вместо x1 и x2

связывающие
ограничения

оптимальное
решение
не связывающие
ограничения
• Оптимальное решение достигается в точке C – пересечение ограничений c1 и c2
• Координаты можно найти, решив систему, составленную из уравнений прямых,
соответствующих этим ограничениям:
c1 : 6 x1 + 4 x2 =
24 x1 = 3

c2 : 1x1 + 2 x2 =6 x2 = 1.5
• Значение целевой функции получается подстановкой координат в уравнение для
целевой функции:

F ( x1 , x2 ) = 5 x1 + 4 x2 = 5 ⋅ 3 + 4 ⋅1.5 = 21
10
Пример: «Задача о распределении ресурсов
(планировании производства)»
Ресурс/продукт P1 P2 … PN Запас ресурса
A1 a11 a12 … a1N b1
A2 a21 a22 … a2N b2
… … … … … …
AM aM1 aM2 … aMN bM
Цена
C1 C2 … CN
продукта
Количество
x1 x2 … xN
продукта

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

𝐹𝐹 = 𝐶𝐶1 𝑥𝑥1 + 𝐶𝐶2 𝑥𝑥2 + ⋯ + 𝐶𝐶𝑁𝑁 𝑥𝑥𝑁𝑁 = � 𝐶𝐶𝑗𝑗 𝑥𝑥𝑗𝑗 → max


𝑗𝑗=1

𝑎𝑎11 𝑥𝑥1 + 𝑎𝑎12 𝑥𝑥2 + ⋯ + 𝑎𝑎1𝑁𝑁 𝑥𝑥𝑁𝑁 ≤ 𝑏𝑏1


𝑎𝑎 𝑥𝑥 + 𝑎𝑎22 𝑥𝑥2 + ⋯ + 𝑎𝑎2𝑁𝑁 𝑥𝑥𝑁𝑁 ≤ 𝑏𝑏2 𝑥𝑥𝑗𝑗 ≥ 0, 𝑗𝑗 = 1 … 𝑁𝑁
при условии: � 21 1

𝑎𝑎𝑀𝑀1 𝑥𝑥1 + 𝑎𝑎𝑀𝑀2 𝑥𝑥2 + ⋯ + 𝑎𝑎𝑀𝑀𝑀𝑀 𝑥𝑥𝑁𝑁 ≤ 𝑏𝑏𝑀𝑀
11
Пример: «Задача о распределении ресурсов
(планировании производства)» - общий вид
Ресурс/продукт P1 P2 … PN Запас ресурса
A1 a11 a12 … a1N b1
A2 a21 a22 … a2N b2
… … … … … …
AM aM1 aM2 … aMN bM
Цена
C1 C2 … CN
продукта
Количество
x1 x2 … xN
продукта

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

N N

F ∑C x j j → max ∑a
j =1
ij ⋅ x j ≤ bi , i =
1 M
j =1

x j ≥ 0, j =
1 N
12
Пример: «Задача о диете»
Потребность
Вещество/продукт P1 P2 … PN в питатель-
ном веществе
A1 a11 a12 … a1N b1
A2 a21 a22 … a2N b2
… … … … … …
AM aM1 aM2 … aMN bM
Стоимость
C1 C2 … CN
продукта
Количество
x1 x2 … xN
продукта

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

𝐹𝐹 = � 𝐶𝐶𝑗𝑗 𝑥𝑥𝑗𝑗 → min 𝐹𝐹 = 𝐶𝐶 ⋅ 𝑥𝑥 → min


𝑗𝑗=1
при условии: при условии:
𝑁𝑁

� 𝑎𝑎𝑖𝑖𝑖𝑖 ⋅ 𝑥𝑥𝑗𝑗 ≥ 𝑏𝑏𝑖𝑖 , 𝑖𝑖 = 1 … 𝑀𝑀 𝐴𝐴 ⋅ 𝑥𝑥 ≥ 𝐵𝐵


𝑗𝑗=1
𝑥𝑥 ≥ 0
𝑥𝑥𝑗𝑗 ≥ 0, 𝑗𝑗 = 1 … 𝑁𝑁 14
Пример: «Задача о загрузке оборудования»
Минимальное Стоимость
Ткань/
1 2 количество метра ткани
Тип станка
ткани
T1 a11 a12 b1 c1
T2 a21 a22 b2 c2
T3 a31 a32 b3 c3
Всего N машин
Требуется найти распределить загрузку оборудования таким образом, чтобы
максимизировать прибыль и выполнить план выпуска продукции

c1 ⋅ ( a11 x11 + a12 x12 ) + c2 ⋅ ( a21 x21 + a22 x22 ) + c3 ⋅ ( a31 x31 + a32 x32 ) =
F=
3 2
= i∑c ⋅ ∑a
=i 1 =j 1
ij ⋅ xij → max xij ≥ 0,=
i 1 3,=
j 1 2

Минимальный объем выпуска: Доступные мощности:


2 3

∑a
j =1
ij ⋅ xij ≥ bi , i =
1 3 ∑x
i =1
ij ≤ Nj, j =
1 2
15
Пример: Транспортная задача
Стоимость
доставки РЦ
• Требуется составить наиболее
экономичный план перевозок с учетом
Регион Восток Центр Север Потребность
потребностей получателей грузов и
Адмиралтейский 780 780 880 300 возможностей отправителей
Ломоносов 1230 1230 10000 300
• Целевая функция:
Выборг 10000 2400 2400 400
M N
Приморск
Запас РЦ
10000
350
2400
400
2400
400
150
1150
F(X )
= ∑∑ C X
=i 1 =j 1
ij ij → min

Объем перевозок РЦ
• Ограничения по спросу:
Регион Восток Центр Север Всего по региону N
Адмиралтейский
Ломоносов
50
300
250
0
0
0
300
300
∑ X=
j =1
ij Di ∀
=i 1..M

Выборг 0 0 400 400


• Ограничения по поставкам:
Приморск 0 150 0 150 M

Всего по РЦ 350 400 400 1150 ∑ X=


i =1
ij Sj j 1..N
∀=
Затраты РЦ
• Условие неотрицательности:
Регион Восток Центр Север Всего по региону
Адмиралтейский 39 000 195 000 0 234 000 X ij ≥ 0 ∀i, j
Ломоносов 369 000 0 0 369 000
• Баланс спроса/поставок
Выборг 0 0 960 000 960 000
M N
Приморск
Всего по РЦ
0
408 000
360 000
555 000
0
960 000
360 000
1 923 000
i ∑D = ∑S
=i 1 =j 1
j

16
Моделирование цепи поставок

Перевозчик

$
C/$
C/$ C/$ C/$ C/$

$
C/$ C/$
C/$

C/$ C/$ C/$ C/$

C/$
C/$
$
Производство, Производство, Покупатель
Поставщик сортировка сортировка

Затраты ($) Ограничения (C)


• Закупка товаров, сырья, материалов • Уровень обслуживания (% и время
• Транспортные тарифы выполнения заказа)
• Складские тарифы/затраты • Складские площади, объем обработки
• Инвестиции в здания и оборудование • Целевой уровень запасов
• Инвестиции в запасы • Производственные мощности
• Затраты на производство • Объемы перевозок
• Налоги, пошлины • Возможности поставщиков и 3PL
• Сценарные параметры (число складов…)
• Спецификации и технология производства
17
Оптимизационное решение
Используемые методы Критерии оптимизации
o Смешанное целочисленное  Экономические
линейное программирование • Чистая прибыль, затраты, NPV
(Mixed-Integer Linear
Programming)
 Сервис
• Объем удовлетворенного спроса
o Программирование в
• Объем спроса в пределах заданного
ограничениях (Constraint времени выполнения поставки
Programming) • Суммарное опоздание, временное
o Локальный поиск (Local Search) смещение
o Эвристики (Heuristics & Meta-
Heuristics)

Цели моделирования:
– разработка и анализ сценариев (поддержка принятия решений)
– разработка планов и графиков для непосредственного исполнения

18
Журналы

источник: SCOPUS, 30.01.14


публикации по запросу “MIP or MILP”

Материалы можно искать в базе SCOPUS и Google Scholar


Группа в Diigo https://groups.diigo.com/group/scmod_ru
Рекомендуемая литература

1. Вентцель, Е.С. Исследование операций: задачи, принципы, методология. — М.: Наука,


1988. — 208 с.
2. Исследование операций в экономике / под ред. Н.Ш. Кремера.— М. : Банки и биржи,
Юнити, 1997. — 407 с.
3. Таха, Х. Введение в исследование операций. — 7-е изд. : пер. с англ.
— М. : Вильямс, 2005. — 912 с.
4. Мур, Дж. Экономическое моделирование в Microsoft Excel / Дж. Мур, Л. Уэдерфорд. — М.
: Вильямс, 2004. – 1024 с.
5. Шапиро, Дж. Моделирование цепи поставок / пер. с англ. под ред. В.С. Лукинского –
СПб.: Питер, 2006 – 720 с.

21
Курс «Исследование
операций»

Заходякин Глеб Викторович,


кафедра Логистики и экономической информатики
e-mail: postlogist@gmail.com
www: http://moodle.muctr.ru