1 / 63

Prof. Boyan Bonev Ivanov, Ph.D. Email: bivanov@bas.bg Institute of Chemical Engineering-BAS

Приложно математично програмиране ЛЕКЦИЯ 6 Линейно програмиране. Prof. Boyan Bonev Ivanov, Ph.D. Email: bivanov@bas.bg Institute of Chemical Engineering-BAS. Лекции. Лекция 1 Въведение в математичното програмиране

katy
Download Presentation

Prof. Boyan Bonev Ivanov, Ph.D. Email: bivanov@bas.bg Institute of Chemical Engineering-BAS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Приложно математично програмиране ЛЕКЦИЯ 6 Линейно програмиране Prof. Boyan Bonev Ivanov, Ph.D. Email: bivanov@bas.bg Institute of Chemical Engineering-BAS

  2. Лекции Лекция 1 Въведение в математичното програмиране Лекция 2 Оптимизация при целеви функции с един управляващ параметър Лекция 3 Нелинейно програмиране – Градиентни методиЛекция 4 Нелинейно програмиране – Директни методи Лекция 5 Нелинейно програмиране – Методи с ограничения Лекция 6Линейно програмиране Лекция 7 Методи за булева и дискретна оптимизация Лекция 8 Методи за глобална оптимизация Лекция 9 Методи за многоцелева оптимизация

  3. Въведение в линейното програмиране

  4. План на лекцията • История на линейното програмиране • Примери за задачи от линейното програмиране • Графическа интерпретация на задачи от линейното програмиране • Стандартна форма на записване • Основни понятия използувани в линейното програмиране • Основи на симплексния метод • Симплексен метод за решаване задачата за максимум • Алгоритъм на симплексния метод • Геометрично представяне на Алгоритъма на симплексния метод

  5. Основоположник на линейното програмиране • 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)

  6. Примери за LP Разпределение на запасите на суровини.За произвеждане на 3 вида продукти са необходими суровини от 4 вида. Нека aij е разходния коефициент на j-тата суровина за произвеждане на i-тия продукт. Наличните запаси от суровина са bj, а цената на всеки продукт е ciРазходните коефициенти, запасите от суровини и цените на продуктите са дадени в таблицата.

  7. Примери за LP Задачата е да се определи колко продукт от трите вида може да се произведе при наличните запаси от суровини, така че да се получи максимална печалба.

  8. Примери за LP Задача за съставяне на оптимални смеси.Разполага се с nвида продукти за хранене xi (i=1,…n) съответно с цени ci (i=1,…n) . Задачата е да се състави оптимална хранителна смес с минимална цена. Хранителната смес трябва да отговаря на определени изисквания за съставките (белтъчни,въглехидрати, мазнини и др.) bj (j=1,…m).Нека съдържанието на j-тата съставка в i-тия продукт е aij. Задачата е да се определят количествата от отделните продукти така, че цената на получената смес да бъде минимална.

  9. LP Стандартна форма 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

  10. n Max Z = cj xj Subject to (s.t.)  aij xjbj i = 1, … , m xj 0 j = 1, … , m j =1 n j =1 LP Стандартна форма

  11. Основни положения от LP • Линейна целева функция, ограничения • Пропорционалност • Адитивност • Делимост • Непрекъснатост на променливите • Сигурност • Определени параметри

  12. Решение във вътрешна точка • Възможно ли е? ДА • Оптимално ли е? НИКОГА Решение в граничните точки Ограничение 2 Целева функция Целева функция Ограничение 1 Ограничение 3 X

  13. LP Специални случаи • Алтернативни оптимуми • Невъзможни проблеми • Безкрайни проблеми

  14. Алтернативни оптимуми Ограничение 2 Ограничение 1 Целева функция Ограничение 3

  15. Безкрайни проблеми

  16. Невъзможни проблеми

  17. LP Понятия • Независими променливи • Целева функция • Ограничения • Възможни решения • Възможни области • Гранични точки на решението • Оптимално решение • Оптималност на границата

  18. Методи за решаване на задачите на LP 1. Методи на последователното изключване Редуциране на броя на променливите, чрез последователно изключване на част от променливите в уравненията тип равенства 2. Методи на граничните точки Метода се базира на обстоятелството, че решението на задачата се намира на един от върховете на многостена, определящ допустимото пространство на търсене на решението. 3. Симплексен метод за решаване на задачата на линейното програмиране Симплексния метод в линейното програмиране представлява процедура за последователно подобряване на решението до достигане на условния екстремум. Тази процедура дава последователност от базисни решения, при които всяко следващо е по-добро от предидущото

  19. Алгоритъм на симплексния метод: 1. Преобразуват се всички неравенствени ограничения в равенствени чрез въвеждане на фиктивни променливи. Получава се нова изходна задача с ограничения тип равенства. 2. Приемат се n свободни и m базисни (опорни) променливи. В началото управляващите променливи се приемат за свободни. Останалите m базисни се изразяват чрез тях 3. Приема се начално базисно решение за свободните управляващи параметри x=0 и се получава начално базисно решение за базисните управляващи променливи. Необходимото условие базисното решение да бъде допустимо е всички базисни променливи да бъдат положителни 4. Получените стойности за базисното решение се заместват в целевата функция и се получава началната базисна стойност за Ц.Ф. 5. Проверява се за оптималност полученото решение до този етап 6. Определя се границата, до която може да се повиши съответния управляващ параметър, докато базисните променливи остават положителни.

  20. 7. За базисна променлива се приема тази която от свободните първа води до нарушаване на условието за положителност на базисните променливи 8. Преобразува се системата, чрез новата базисна променлива 9. Преобразува се Ц.Ф. чрез новата базисна променлива 10. Получава се ново базисно решение, като в преобразуваната Ц.Ф. Се заместват новите свободни променливи с x=0 и алгоритъма се повтаря от т.5

  21. Стандартна форма на представяне Изходна задача Max Z = 40x1+ 50x2 s.t. 1x1+ 2x2 40 4x1 + 3x2 120 x1 , x2 0 x1, x2- свободни управляващи променливи

  22. x2 40 20 x1 30 40 1. Преобразуване на ограниченията от неравенства в равенства чрез въвеждане на базисни променливи Z=2000 Max Z = 40x1+ 50x2 s.t. 1x1+ 2x2+ s1 = 40 4x1 + 3x2+ s2= 120 Z=1360 Z=1000 s1 , s2- базисни променливи Z=0 x1, x2- свободни управляващи променливи

  23. 2. Решаване на уравненията на ограниченията спрямо базисните променливи Max Z = 40x1+ 50x2 s.t. s1 = 40-1x1- 2x2 s2= 120-4x1-3x2 x1 , x2 , s1 , s2 0 s1 , s2 - базисни променливи x1, x2- свободни управляващи променливи

  24. x2 40 20 x1 30 40 3. Намиране на начално базисно решение за базисните променливи при 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

  25. x2 40 20 x1 30 40 4. Проверка за оптималност на полученото решение.Ако в 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

  26. x2 40 20 ? x1 30 40 5. Определя се границата до която x2 може да се повишава. Уравненията се видоизменят, като 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

  27. x2 40 20 ? x1 30 40 6. Преобразува се системата ограничения по отношение на новите базисни променливи (x2 иs2) В този случай за свободна променлива се приема s1, а за базиснаx2 x2= 40/2-1/2x1- 1/2s1 s2= 120-4x1-3x2 s2= 60-5/2x1+3/2s1 Max Z = 40x1+ 50x2 s.t. s1 = 40-1x1- 2x2 s2= 120-4x1-3x2 x1 , x2 , s1 , s2 0 x2= 20-1/2x1-1/2s1 Z = 40x1 + 50x2 Z= 1000+15x1-25s1

  28. x2 40 20 ? x1 30 40 7. Заместваме новите свободни променливи 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

  29. x2 40 20 ? x1 30 40 8. В базисните променливи има коефициент с положителен знак, което означава, че полученото решение може да се подобри само,ако се увеличи x1 s2 -Става свободен Z= MAX(1000+15x1-25s1) s2=60-5/2x1+3/2s1 5/2 по голямо от 1/2 x2=20-1/2x1-1/2s1 X1-Става базисен s1,s2-свободни променливи x1,x1-базисни променливи

  30. x2 40 20 ? x1 30 40 9. В базисните променливи има коефициент с положителен знак, което означава, че полученото решение може да се подобри само ако се увеличи 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-базисни променливи

  31. x2 40 20 x1 30 40 10. След преобразованията получаваме редуцираната задача, която е във вида: Z= MAX(1360-16s1-6s2) x1=8-0.8s1+0.2s2 Z=1360 x2=24+0.6s1-0.4s2 s1,s2-свободни променливи x1,x2-базисни променливи s1 = 0 s2 = 0 x1= 8 x2=24 Z = 1,360 X1=8 X2=24

  32. x2 40 20 x1 30 40 11. Проверява се новото базисно решение за оптималност. Изменението на която и да е от свободните променливи не може да доведе до увеличаване на 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

  33. 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

  34. Algebraic Representation Max Z = 40x1+ 50x2 s.t. 1x1+ 2x2+ s1 = 40 4x1 + 3x2+ s2 = 120 Simplex Method Tableau

  35. 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!

  36. 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

  37. 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

  38. 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

  39. Interior Point Solution • Feasible? Yes • Optimal? Never Corner Point Solutions X

  40. Alternate Optima

  41. Finite Number of CPF Solutions Example:m=50 constraints, n=100 decision variables Greater than thenumber of atoms in Universe!

  42. Solving Other Types of Linear Programs

  43. 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)

  44. 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

  45. X Finding a Feasible Solution? Minimization Problems Equality Constraints Not Feasible!

  46. 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?

  47. 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

  48. 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!

More Related