Prof. Boyan Bonev Ivanov, Ph.D. Email: [email protected] Institute of Chemical Engineering-BAS
description
Transcript of Prof. Boyan Bonev Ivanov, Ph.D. Email: [email protected] Institute of Chemical Engineering-BAS
Prof. Boyan Bonev Ivanov, Ph.D.
Email: [email protected]
Institute of Chemical Engineering-BAS
Приложно математично програмиране
ЛЕКЦИЯ 7
Методи за булева и дискретна оптимизация
Лекции
Лекция 1 Въведение в математичното програмиране
Лекция 2 Оптимизация при целеви функции с един управляващ
параметър
Лекция 3 Нелинейно програмиране – Градиентни методи
Лекция 4 Нелинейно програмиране – Директни методи
Лекция 5 Нелинейно програмиране – Методи с ограничения
Лекция 6 Линейно програмиране
Лекция 7 Методи за булева и дискретна оптимизация
Лекция 8 Методи за глобална оптимизация
Лекция 9 Методи за многоцелева оптимизация
1. Обща постановка на задачите с дискретни и булеви променливи 1.1. Линейни целочислени задачи 1.2. Линейни задачи с булеви променливи 1.3. Линейни задачи със смесен тип променливи 1.4. Нелинейни задачи със смесен тип променливи
2. Методи за оптимизация при задачи със дискретни и булеви променливи 2.1. Метод на локалното търсене 2.2. Метод на случайното търсене 2.3. Симплексен метод
План на лекцията
Обща постановка на задачите с дискретни и булеви променливи
Линейни целочислени задачи – обща постановка
Max Z = c1x1 + c2x2 + … + cnxn
Subject to (s.t.)
a11x1 + a12x2 + … + a1nxn b1 a21x1 + a22x2 + … + a2nxn b2
…am1x1 + am2x2 + … + amnxn bm
x1 0, x2 0, …, xn 0
x1 0, x2 0, …, xn 0 - са цели числа
5
Пример на задача LIP
Max Z = 33x1 + 12x2
s.t.–x1 + 2x2 45x1 + 2x2 162x1 – x2 4
x1, x2 0 са цели числа
2 x11
x2
1
2
3
Оптимално LP решение
x1 = 8/3x2 = 4/3
ZLP* = 104
НЕвъзможно,субоптимално
Приблизително LP решение
x1 = 2x2 = 1
ZRLP* = 78 Възможно,НЕ оптимално
Оптимално LIP решение
x1 = 2x2 = 3
ZIP* = 102Възможно иоптимално
Обща постановка на задачите с дискретни и булеви променливи
Линейни задачи с булеви променливи – обща постановка
Max Z = c1x1 + c2x2 + … + cnxn
Subject to (s.t.)
a11x1 + a12x2 + … + a1nxn b1 a21x1 + a22x2 + … + a2nxn b2
…am1x1 + am2x2 + … + amnxn bm
x1 0, x2 0, …, xn 0
x1 0, x2 0, …, xn 0 - са булеви
7
Пример на задача LIP
Max Z = 33x1 + 12x2
s.t.–x1 + 2x2 45x1 + 2x2 162x1 – x2 4
x1, x2 0 са булеви
2 x11
x2
1
2
3
Оптимално LP решение
x1 = 8/3x2 = 4/3
ZLP* = 104
Приблизително LP решение
x1 = 1x2 = 0
ZRLP* = 33
Оптимално LIP решение
x1 = 1x2 = 1
ZIP* = 45
Обща постановка на задачите с дискретни и булеви променливи
Линейни задачи със смесен тип променливи – обща постановка
Max Z = c1x1 + c2x2 + … + cnxn
Subject to (s.t.)
a11x1 + a12x2 + … + a1nxn b1 a21x1 + a22x2 + … + a2nxn b2
…am1x1 + am2x2 + … + amnxn bm
x1 0, x2 0, …, xn 0
INTIGERi XX BINARYJ XX CONTINUEK XX
9
Пример на задача LIP
Max Z = 33x1 + 12x2
s.t.–x1 + 2x2 45x1 + 2x2 162x1 – x2 4
x1, 0 е двоично x2 0 е целочислено
2 x11
x2
1
2
3
Оптимално LP решение
x1 = 8/3x2 = 4/3
ZLP* = 104
Приблизително LP решение
x1 = 1x2 = 1
ZRLP* = 45
Оптимално LIP решение
x1 = 1x2 = 2
ZIP* = 57
Обща постановка на задачите с дискретни и булеви променливи
Нелинейни задачи със смесен тип променливи – обща постановка
Целева функция
Допустима област
Целева функция -нелинейна;
Вектор на независимите променливи
Областни ограничения - нелинейни;
Функционални ограничения- нелинейни;
INTIGERi Xx BINARYJ Xx CONTINUEK Xx
11
Пример на задача MINLP
Max Z = x1x2
s.t.–x1 + 2x2 45x1 + 2x2 162x1 – x2 4
x10 е двоично x20 е целочислено
2 x11
x2
1
2
3
Оптимално NLP решение
x1 = 2.1x2 = 3.2
ZLP* = 6.75
Оптимално MINLP решение
x1 = 1x2 = 2
ZIP* = 2
12
Пример на задача MINLP
Max Z = x1x2
s.t.–x1 + 2x2 45x1 + 2x2 162x1 – x2 4
x10 е целочислено x20 е непрекъснато
2 x11
x2
1
2
3
Оптимално NLP решение
x1 = 2.1x2 = 3.2
ZNLP* = 6.75
Оптимално MINLP решение
x1 = 2x2 = 3
ZNLP* = 6
Методи за оптимизация при задачи със дискретни и булеви променливи
Метод на локалното търсене
Алгоритъм на метода
1. Избира се начална дискретна точка в допустимото пространство
2. Прави се сканиране в областта около началната точка и се изчислява Ц.Ф. За точките в допустимото пространство
3. Дискретната точка с най-добър резултат се приема за начална и алгоритъма се повтаря в т.2
4. Критерия за спиране на търсенето е достигане на точка, от която не може да се намери по-добър резултат
Методи за оптимизация при задачи със дискретни и булеви променливи
Метод на локалното търсене - графическа интерпретация
Max Z = x1x2
s.t.–x1 + 2x2 45x1 + 2x2 162x1 – x2 4
x10 , x20 и целочислени
2 x11
x2
1
2
3
Оптимално MINLP решение
x1 = 2x2 = 3
ZIP* = 6
Оптимално NLP решение
x1 = 2.1x2 = 3.2
ZNLP* = 6.75
Методи за оптимизация при задачи със дискретни и булеви променливи
Метод на случайното търсене
Алгоритъм на метода:
1. От зададена начална дискретна точка в допустимото пространство се изпълнява случайно търсене като променливите се приемат за непрекъснати
2. С прекратяване на търсенето координатите на най-добрата точка се трансформират в най-близката дискретна точка 5.0** i
di xENTIERx
3. Около трансформираната дискретна точка се извършва сканиране по близките дискретни точки. Точката с най-добър резултат се приема за решение на задачата
Методи за оптимизация при задачи със дискретни и булеви променливи
Метод на случайното търсене-графическа интерпретация
x1
x2
x1min x1max
x2min
x2max
17
x1
x2
Методи за оптимизация при задачи със дискретни и булеви променливи
Симплексен метод - графическа интерпретация
18
19
Solving Integer Programs
21
IP Branch and Bound
• Successively solve relaxed IP problems
• Determine upper and lower bounds for relaxed problems
• Eliminate branches that exceed bounds
• When only one “node” remains, optimal solution has been found
22
B&B Formulation
Max Z = 1,000x1 + 1,500x2
s.t.80,000x1 + 40,000x2 400,00015x1 + 30x2 200x1, x2 0 and integer
Optimal IP Solutionx1 = 1x2 = 6
ZIP* = 10,000
Relaxed LP Solutionx1 = 2.22x2 = 5.56
ZLP* = 10,557
Rounded LP Solutionx1 = 2x2 = 5
ZRLP* = 9,500
23
110,055 (2.22, 5.56)
9,500 (2, 5)
7InfeasibleFathomed
510,033 (1.33, 6)
10,000 (1,6)
210,000 (2.5, 5)
9,500 (2, 5)
610,026 (1, 6.17)
10,000 (1,6)
9InfeasibleFathomed
810,000 (1,6)Fathomed
x2 6x2 5
x1 1
x2 6
x1 2
x2 7
B&B Solution
x1 3x1 2
39,500 (2, 5)Fathomed
49,000 (3, 4)Fathomed
Z*= -
Z*= 9,500
Z*= 10,000