630 likes | 815 Views
Приложно математично програмиране ЛЕКЦИЯ 2 Линейно програмиране. Prof. Boyan Bonev Ivanov, Ph.D. Email: bivanov@bas.bg Institute of Chemical Engineering-BAS. Лекции. Лекция 1 Въведение в математичното програмиране Лекция 2 Линейно програмиране
E N D
Приложно математично програмиране ЛЕКЦИЯ 2 Линейно програмиране Prof. Boyan Bonev Ivanov, Ph.D. Email: bivanov@bas.bg Institute of Chemical Engineering-BAS
Лекции Лекция 1 Въведение в математичното програмиране Лекция 2Линейно програмиране Лекция3Оптимизация при целеви функции с един управляващ параметър Лекция4Нелинейно програмиране – Градиентни методиЛекция5Нелинейно програмиране – Директни методи Лекция6Нелинейно програмиране – Методи с ограничения Лекция 7 Методи за булева и дискретна оптимизация Лекция 8 Методи за глобална оптимизация Лекция 9 Методи за многоцелева оптимизация
Въведение в линейното програмиране
План на лекцията • История на линейното програмиране • Примери за задачи от линейното програмиране • Графическа интерпретация на задачи от линейното програмиране • Стандартна форма на записване • Основни понятия използувани в линейното програмиране
Основоположник на линейното програмиране • George Dantzig • Junior Statistician U.S. Bureau of Labor Statistics (1937-39) • Head of USAF Combat Analysis Branch (1941-46) • PhD Mathematics, Cal Berkeley (1946) • Invented “Simplex” method for solving linear programs (1947)
Примери за LP Разпределение на запасите на суровини.За произвеждане на 3 вида продукти са необходими суровини от 4 вида. Нека aij е разходния коефициент на j-тата суровина за произвеждане на i-тия продукт. Наличните запаси от суровина са bj, а цената на всеки продукт е ciРазходните коефициенти, запасите от суровини и цените на продуктите са дадени в таблицата.
Примери за LP Задачата е да се определи колко продукт от трите вида може да се произведе при наличните запаси от суровини, така че да се получи максимална печалба.
Примери за LP Задача за съставяне на оптимални смеси.Разполага се с nвида продукти за хранене xi (i=1,…n) съответно с цени ci (i=1,…n) . Задачата е да се състави оптимална хранителна смес с минимална цена. Хранителната смес трябва да отговаря на определени изисквания за съставките (белтъчни,въглехидрати, мазнини и др.) bj (j=1,…m).Нека съдържанието на j-тата съставка в i-тия продукт е aij. Задачата е да се определят количествата от отделните продукти така, че цената на получената смес да бъде минимална.
LP Стандартна форма Max Z = c1x1 + c2x2 + … + cnxn Subject to (s.t.) a11x1 + a12x2 + … + a1nxnb1 a21x1 + a22x2 + … + a2nxnb2 … am1x1 + am2x2 + … + amnxnbm x1 0, x2 0, …, xn 0
n Max Z = cj xj Subject to (s.t.) aij xjbj i = 1, … , m xj 0 j = 1, … , m j =1 n j =1 LP Стандартна форма
Основни положения от LP • Линейна целева функция, ограничения • Пропорционалност • Адитивност • Делимост • Непрекъснатост на променливите • Сигурност • Определени параметри
Решение във вътрешна точка • Възможно ли е? ДА • Оптимално ли е? НИКОГА Решение в граничните точки X
LP Специални случаи • Алтернативни оптимуми • Невъзможни проблеми • Безкрайни проблеми
LP Понятия • Независими променливи • Целева функция • Ограничения • Възможни решения • Възможни области • Гранични точки на решението • Оптимално решение • Оптималност на границата
План на лекцията • Основи на симплексния метод • Симплексен метод за решаване задачата за максимум • Теория на симплексния метод • Симплексен метод за други проблеми
Пример за задача на LP Product Mix LP. A potter produces two products, a pitcher and a bowl. It takes about 1 hour to produce a bowl and requires 4 pounds of clay. A pitcher takes about 2 hours and consumes 3 pounds of clay. The profit on a bowl is $40 and $50 on a pitcher. She works 40 hours weekly, has 120 pounds of clay available each week, and wants more profits. Max Z = 40x + 50y Печалба s.t. 1x + 2y 40 времетраене 4x + 3y 120 глина x, y 0 не отрицателност
Стандартна форма на представяне Изходна задача Max Z = 40x1+ 50x2 s.t. 1x1+ 2x2 40 4x1 + 3x2 120 x1 , x2 0 x1, x2- свободни управляващи променливи
x2 40 20 x1 30 40 Геометрично представяне Преобразуване на ограниченията от неравенства в равенства чрез въвеждане на базисни променливи Z=2000 Max Z = 40x1+ 50x2 s.t. 1x1+ 2x2+ s1 = 40 4x1 + 3x2+ s2= 120 Z=1360 Z=1000 Z=0 s1 , s2- базисни променливи
Стандартна форма на представяне Решаване на уравненията на ограниченията спрямо базисните променливи Max Z = 40x1+ 50x2 s.t. s1 = 40-1x1- 2x2 s2= 120-4x1-3x2 x1 , x2 , s1 , s2 0 x1, x2- свободни управляващи променливи s1 , s2- базисни променливи
x2 40 20 x1 30 40 Геометрично представяне Намиране на начално базисно решение за базисните променливи при x1= 0x2= 0 Max Z = 40x1+ 50x2 s.t. s1 = 40-1x1- 2x2 s2= 120-4x1-3x2 x1 , x2 , s1 , s2 0 x1 = 0 x2= 0 s1 = 40 s2= 120 Z = 0 Z=0
x2 40 20 x1 30 40 Геометрично представяне Проверка за оптималност на полученото решение.Ако в z има + коефициенти, то полученото решение може да се подобри. Избира се най-големия положителен член (40 или 50) >> 50 и се променя променливата пред този коефициент за случаяx2 Max Z = 40x1+ 50x2 s.t. s1 = 40-1x1- 2x2 s2= 120-4x1-3x2 x1 , x2 , s1 , s2 0 X2-става базисна променлива x1 = 0 x2= 0 s1 = 40 s2= 120 Z = 0
x2 40 20 ? x1 30 40 Геометрично представяне Уравненията се видоизменят, като x1=0. За да останат s1 и s2 положителни, то x2може да се изменя до 20. В този случай за свободна променлива се приема s1, а за базисна x2 Max Z = 40x1+ 50x2 s.t. s1 = 40- 2x2 s2 = 120- 3x2 S1, x1-стават свободни променливи S2,X2-стават базисни променливи x1 = 0 s1 = 0 x2=20 s2=60 Z = 1,000
x2 40 20 ? x1 30 40 Геометрично представяне Преобразува се системата ограничения по отношение на новите базисни променливи (x2 иs2) В този случай за свободна променлива се приема s1, а за базисна x2 x2= 40/2-1/2x1- 1/2s1 s2= 120-4x1-3x2 s2= 60-5/2x1+3/2s1 x2= 20-1/2x1-1/2s1 Z = 40x1 + 50x2 Z= 1000+15x1-25s1
x2 40 20 ? x1 30 40 Геометрично представяне Заместваме новите свободни променливи x1=0 и s1=0 и се намира новото базисно решение Z=1000 Z= MAX(1000+15x1-25s1) s2=60-5/2x1+3/2s1 x2=20-1/2x1-1/2s1 Z=1000 x1,s1-свободни променливи x2,s2-базисни променливи x1 = 0 s1 = 0 x2=20 s2=60 Z = 1,000
x2 40 20 ? x1 30 40 Геометрично представяне В базисните променливи има коефициент с положителен знак, което означава, че полученото решение може да се подобри само ако се увеличи x1 s2 -Става свободен Z= MAX(1000+15x1-25s1) s2=60-5/2x1+3/2s1 5/2 по голямо от 1/2 x2=20-1/2x1-1/2s1 s1,s2-свободни променливи X1-Става базисен x1,x1-базисни променливи
x2 40 20 ? x1 30 40 Геометрично представяне В базисните променливи има коефициент с положителен знак, което означава, че полученото решение може да се подобри само ако се увеличи x1 Решаваме уравнението спрямо x1 и заместваме в уравнението за x2 и Z Z= MAX(1000+15x1-25s1) s2=60-5/2x1+3/2s1 5/2 по голямо от 1/2 x2=20-1/2x1-1/2s1 s1,s2-свободни променливи x1,x1-базисни променливи
x2 40 20 x1 30 40 Геометрично представяне След преобразованията получаваме редуцираната задача, която е във вида: Z= MAX(1360-16s1-6s2) x1=8-0.8s1+0.2s2 Z=1360 x2=24+0.6s1-0.4s2 s1,s2-свободни променливи x1,x1-базисни променливи s1 = 0 s2 = 0 x1= 8 x2=24 Z = 1,360 X1=8 X2=24
x2 40 20 x1 30 40 Геометрично представяне Проверява се новото базисно решение за оптималност. Изменението на която и да е от свободните променливи не може да доведе до увеличаване на Z Z= MAX(1360-16s1-6s2) Z=1360 Оптимално решение x1=8-0.8s1+0.2s2 x2=24+0.6s1-0.4s2 Оптимални стойности на управляващите променливи s1 = 0 s2 = 0 x1= 8 x2=24 Z = 1,360
Algebraic Representation • 2 equations in 4 unknowns • Multiple solutions (4 feasible) • Guided search to move to optimal solution • “Simplex Method” Max Z = 40x1+ 50x2 s.t. 1x1+ 2x2+ s1 = 40 4x1 + 3x2+ s2= 120
Algebraic Representation Max Z = 40x1+ 50x2 s.t. 1x1+ 2x2+ s1 = 40 4x1 + 3x2+ s2 = 120 Simplex Method Tableau
Simplex Method • s1 and s2 represent “basic” variables • x1 and x2 are “non-basic” variables • Basic solutions represent corner points • Systematically change basic solution to improve objective function … • … while maintaining feasibility!
Another Simplex Example Max Z = x1+ 2x2 + 2x3 s.t. 5x1+ 2x2+ 3x3 15 x1+ 4x2+ 2x3 12 2x1+3x3 8 x1 , x2,x3 0
Yet Another Simplex Example Max Z = 4,500 x1+ 4,500 x2 s.t. x1 1 x2 1 5,000x1+4,000x2 6,000 400x1+ 500x2 600 x1 , x2 0
Theory of the Simplex Method • The optimal solution of an LP must be a corner-point feasible (CPF) solution • If there are alternate optima, then at least two must be adjacent CPF solutions • There are a finite number of CPF solutions • A CPF solution is optimal if there are no other adjacent CPF solutions that are better
Interior Point Solution • Feasible? Yes • Optimal? Never Corner Point Solutions X
Finite Number of CPF Solutions Example:m=50 constraints, n=100 decision variables Greater than thenumber of atoms in Universe!
The Simplex Method Simplex Method for max problems Theory of the Simplex Method Simplex Method for other LP problems Unbounded and infeasible problems Interior point methods Agenda (review)
Other LP Problems Negative RHS’s Equality constraints Greater than constraints Negative RHS’s Minimization problems LP Solution Problems Unbounded solutions No feasible solutions Other Solution Techniques Extra Credit Two phase method Goal programming Today’s Agenda
X Finding a Feasible Solution? Minimization Problems Equality Constraints Not Feasible!
3 X 2 (2,1) 3 4 Equality Constraints Max Z = 2x1+ 3x2 s.t. 1x1+ 2x2 4 x1 + x2= 3 x1 , x2 0 Note: x1 = x2= 0 is notfeasible How to achieve feasibility?
M is a VERY big number Big M Method Strategy: Start feasible, then drive artificial variables from the basis with M Max Z = 2x1+ 3x2 s.t. 1x1+ 2x2 4 x1 + x2= 3 x1 , x2 0 Max Z = 2x1+ 3x2 - M a1 s.t. 1x1+ 2x2+ s1 = 4 x1 + x2+ a1 = 3 x1 , x2 , s1, a1 0 Add artificial variable a1 Note: x1 = x2= 0 is nowfeasible
Big M Augmented Form Max Z = 2x1+ 3x2 –M a1 = 0 s.t. 1x1+ 2x2+ s1 = 4 x1 + x2+ a1 = 3 x1 , x2 , s1, a1 0 Need toremove!