Transcript x 1
Приложно математично програмиране ЛЕКЦИЯ 2 Линейно програмиране Prof. Boyan Bonev Ivanov, Ph.D. Email: [email protected] Institute of Chemical Engineering-BAS Лекции Лекция 1 Въведение в математичното програмиране Лекция 2 Линейно програмиране Лекция 3 Оптимизация при целеви функции с един управляващ параметър Лекция 4 Нелинейно програмиране – Градиентни методи Лекция 5 Нелинейно програмиране – Директни методи Лекция 6 Нелинейно програмиране – Методи с ограничения Лекция 7 Методи за булева и дискретна оптимизация Лекция 8 Методи за глобална оптимизация Лекция 9 Методи за многоцелева оптимизация Въведение в линейното програмиране План на лекцията • История на линейното програмиране • Примери за задачи от линейното програмиране • Графическа интерпретация на задачи от линейното програмиране • Стандартна форма на записване • Основни понятия използувани в линейното програмиране 4 Основоположник на линейното програмиране • 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) 5 Примери за LP Разпределение на запасите на суровини. За произвеждане на 3 вида продукти са необходими суровини от 4 вида. Нека aij е разходния коефициент на j-тата суровина за произвеждане на i-тия продукт. Наличните запаси от суровина са bj , а цената на всеки продукт е ci Разходните коефициенти, запасите от суровини и цените на продуктите са дадени в таблицата. Продукт Суровина 1 Суровина 2 Суровина 3 Суровина 4 Цена на продукта Продукт 1 a11 a12 a13 a14 С1 Продукт 2 a21 a22 a23 a24 С1 Продукт 3 a31 a32 a33 a34 С1 Запаси от суровини B1 B2 B3 B4 Примери за LP Задачата е да се определи колко продукт от трите вида може да се произведе при наличните запаси от суровини, така че да се получи максимална печалба. f MIN(c1 x1 c2 x2 c3 x3 c4 x4 ) x1 0, x2 0, x3 0 a11 x1 a21 x2 a31 x3 a41 x4 b1 a12 x1 a22 x2 a32 x3 a42 x4 b2 a13 x1 a23 x2 a33 x3 a43 x4 b3 a14 x1 a24 x2 a34 x3 a44 x4 b4 Примери за LP Задача за съставяне на оптимални смеси. Разполага се с n вида продукти за хранене xi (i=1,…n) съответно с цени ci (i=1,…n) . Задачата е да се състави оптимална хранителна смес с минимална цена. Хранителната смес трябва да отговаря на определени изисквания за съставките (белтъчни,въглехидрати, мазнини и др.) bj (j=1,…m). Нека съдържанието на jтата съставка в i-тия продукт е aij. Задачата е да се определят количествата от отделните продукти така, че цената на получената смес да бъде минимална. n f MIN ( ci xi ) i 1 xi 0, i 1,2,...,n n a x i 1 ij i b j , j 1,2,...,m 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 9 LP Стандартна форма n Max Z = cj xj j =1 Subject to (s.t.) n aij xj j =1 bj i = 1, … , m xj 0 j = 1, … , m 10 Основни положения от LP • Линейна целева функция, ограничения – Пропорционалност – Адитивност • Делимост – Непрекъснатост на променливите • Сигурност – Определени параметри 11 Решение в граничните точки X Решение във вътрешна точка • Възможно ли е? ДА • Оптимално ли е? НИКОГА 12 LP Специални случаи • Алтернативни оптимуми • Невъзможни проблеми • Безкрайни проблеми 13 Алтернативни оптимуми 14 Безкрайни проблеми 15 Невъзможни проблеми 16 LP Понятия • • • • • • • • Независими променливи Целева функция Ограничения Възможни решения Възможни области Гранични точки на решението Оптимално решение Оптималност на границата 17 Метод на линейното програмиране План на лекцията • Основи на симплексния метод • Симплексен метод за решаване задачата за максимум • Теория на симплексния метод • Симплексен метод за други проблеми 19 Пример за задача на 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 Печалба времетраене глина не отрицателност 20 Стандартна форма на представяне Изходна задача Max Z = 40x1 + 50x2 s.t. 1x1 + 2x2 40 4x1 + 3x2 120 x1 , x2 0 x1 , x2 - свободни управляващи променливи 21 Геометрично представяне Преобразуване на ограниченията от неравенства в равенства чрез въвеждане на базисни променливи Z=2000 x 2 Z=1360 40 s.t. 1x1 + 2x2 + s1 = 40 4x1 + 3x2 + s2 = 120 Z=1000 Z=0 Max Z = 40x1 + 50x2 20 s1 , s2- базисни променливи 30 40 x1 22 Стандартна форма на представяне Решаване на уравненията на ограниченията спрямо базисните променливи Max Z = 40x1 + 50x2 s.t. s1 = 40-1x1- 2x2 s2 = 120-4x1-3x2 x1 , x2 , s1 , s2 0 x1 , x2 - свободни управляващи променливи s1 , s2- базисни променливи 23 Геометрично представяне Намиране на начално базисно решение за базисните променливи при x1 = 0 x2 = 0 x2 40 Z=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 20 Z =0 30 40 x1 24 Геометрично представяне Проверка за оптималност на полученото решение.Ако в z има + коефициенти, то полученото решение може да се подобри. Избира се най-големия положителен член (40 или 50) >> 50 и се променя променливата пред този коефициент за случая x2 Max Z = 40x1 + 50x2 x2 40 s.t. X2-става базисна променлива s1 = 40-1x1- 2x2 s2 = 120-4x1-3x2 x1 , x2 , s1 , s2 0 x1 = 0 x2 = 0 s1 = 40 s2 = 120 20 Z =0 30 40 x1 25 Геометрично представяне Уравненията се видоизменят, като x1=0. За да останат s1 и s2 положителни, то x2 може да се изменя до 20. В този случай за свободна променлива се приема s1, а за базисна x2 x2 40 Max Z = 40x1 + S1, x1-стават свободни променливи S2,X2-стават базисни променливи s.t. s1 = 40 s2 = 120 50x2 - 2x2 - 3x2 x1 = 0 s1 = 0 x2 = 20 s2 = 60 20 ? Z = 1,000 30 40 x1 26 Геометрично представяне Преобразува се системата ограничения по отношение на новите базисни променливи (x2 и s2) В този случай за свободна променлива се приема s1, а за базисна x2 x2 40 x2 = 40/2-1/2x1- 1/2s1 s2 = 120-4x1-3x2 s2 = 60-5/2x1+3/2s1 x2 = 20-1/2x1-1/2s1 20 Z = 40x1 + 50x2 ? Z = 1000+15x1-25s1 30 40 x1 27 Геометрично представяне Заместваме новите свободни променливи x1=0 и s1=0 и се намира новото базисно решение Z=1000 Z = MAX(1000+15x1-25s1) x2 40 Z=1000 s2 = 60-5/2x1+3/2s1 x2 = 20-1/2x1-1/2s1 x1,s1-свободни променливи x2,s2-базисни променливи x1 = 0 s1 = 0 20 x2 = 20 s2 = 60 ? Z = 1,000 30 40 x1 28 Геометрично представяне В базисните променливи има коефициент с положителен знак, което означава, че полученото решение може да се подобри само ако се увеличи x1 s2 -Става свободен x2 40 Z = MAX(1000+15x1-25s1) 5/2 по голямо от 1/2 X1-Става базисен s2 = 60-5/2x1+3/2s1 x2 = 20-1/2x1-1/2s1 s1,s2-свободни променливи x1,x1-базисни променливи 20 ? 30 40 x1 29 Геометрично представяне В базисните променливи има коефициент с положителен знак, което означава, че полученото решение може да се подобри само ако се увеличи x1 Решаваме уравнението спрямо x1 и заместваме в уравнението за x2 и Z x2 40 Z = MAX(1000+15x1-25s1) 5/2 по голямо от 1/2 s2 = 60-5/2x1+3/2s1 x2 = 20-1/2x1-1/2s1 s1,s2-свободни променливи x1,x1-базисни променливи 20 ? 30 40 x1 30 Геометрично представяне След преобразованията получаваме редуцираната задача, която е във вида: Z = MAX(1360-16s1-6s2) x2 40 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 20 x1 = 8 x2 = 24 Z = 1,360 30 40 x1 31 Геометрично представяне Проверява се новото базисно решение за оптималност. Изменението на която и да е от свободните променливи не може да доведе до увеличаване на Z Z = MAX(1360-16s1-6s2) x2 40 Z=1360 Оптимално решение x1 = 8-0.8s1+0.2s2 x2 =24+0.6s1-0.4s2 Оптимални стойности на управляващите променливи s1 = 0 s2 = 0 20 x1 = 8 x2 = 24 30 40 x1 Z = 1,36032 33 34 Algebraic Representation Max Z = 40x1 + 50x2 s.t. 1x1 + 2x2 + s1 = 40 4x1 + 3x2 + s2 = 120 • 2 equations in 4 unknowns • Multiple solutions (4 feasible) • Guided search to move to optimal solution • “Simplex Method” 35 Algebraic Representation Max Z = 40x1 + 50x2 s.t. 1x1 + 2x2 + s1 = 40 4x1 + 3x2 + s2 = 120 Simplex Method Tableau Z C1 C2 x1 -40 1 4 x2 -50 2 3 s1 0 1 0 s2 0 0 1 RHS 0 40 120 36 Simplex Method Z C1 C2 x1 -40 1 4 x2 -50 2 3 s1 0 1 0 s2 0 0 1 RHS 0 40 120 • • • • 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! 37 Another Simplex Example Max Z = x1 + 2x2 + 2x3 s.t. Z C1 C2 C3 5x1 + 2x2 x1 + 4x2 2x1 x1 , + 3x3 + 2x3 + 3x3 x2 , x3 x1 -1 5 1 2 x3 -2 3 2 1 x2 -2 2 4 0 15 12 8 0 s1 0 1 0 0 s2 0 0 1 0 s3 RHS 0 0 0 15 0 12 1 8 38 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 Z C1 C2 C3 C4 x1 x2 s1 -4500 -4500 0 1 0 1 0 1 0 5000 4000 0 400 500 0 s2 0 0 1 0 0 s3 0 0 0 1 0 x1 , x2 0 s4 RHS 0 0 0 1 0 1 0 6000 1 600 39 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 40 Corner Point Solutions X Interior Point Solution • Feasible? Yes • Optimal? Never 41 Alternate Optima 42 Finite Number of CPF Solutions variables constraint s m n (m n)! constraint s m!n! n Example: m=50 constraints, n=100 decision variables (m n)! (50 100 )! 40 2.01 10 m!n! 50!100! Greater than the number of atoms in Universe! 43 Solving Other Types of Linear Programs Agenda (review) • 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 45 Today’s Agenda • Other LP Problems – – – – – Negative RHS’s Equality constraints Greater than constraints Negative RHS’s Minimization problems • Other Solution Techniques • Extra Credit – Two phase method – Goal programming • LP Solution Problems – Unbounded solutions – No feasible solutions 46 Finding a Feasible Solution? Minimization Problems Equality Constraints X Not Feasible! 47 Equality Constraints Max Z = 2x1 + 3x2 s.t. Note: x1 = x2 = 0 is not feasible 1x1 + 2x2 4 x1 + x2 = 3 x1 , x2 0 3 How to achieve feasibility? 2 (2,1) X 3 4 48 Start Big M MethodStrategy: 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 s.t. Add artificial variable a1 - M a1 M is a VERY big number 1x1 + 2x2 + s1 =4 x1 + x2 + a1 = 3 Note: x1 , x2 , s1, a1 0 x1 = x2 = 0 is now feasible 49 Big M Augmented Form Max Z = 2x1 + 3x2 s.t. Z C1 C2 – M a1 = 0 1x1 + 2x2 + s1 =4 x1 + x2 + a1 = 3 x1 , x2 , s1, a1 0 x1 –2 1 1 x2 –3 2 1 s1 0 1 0 Need to remove! a1 RHS M 0 0 4 1 3 50 Big M Augmented Form Max Z = 2x1 + 3x2 s.t. – M a1 = 0 1x1 + 2x2 + s1 =4 x1 + x2 + a1 = 3 x1 , x2 , s1, a1 0 Need to “reduce” objective function to form basis: 2x1 + 3x2 – M a1 = 0 M (x1 + x2 ) + a1 = 3 ) ___________________________ (M+2)x1 + (M+3)x2 = 3M 51 Big M Tableau Max Z = (M+2)x1 + (M+3)x2 = 3M s.t. 1x1 + 2x2 + s1 =4 x1 + x2 + a1 = 3 x1 , x2 , s1, a1 0 x1 x2 Z –(M+2) –(M+3) C1 1 2 C2 1 1 s1 0 1 0 Initial Solution x1 = 0 x2 = 0 s1 = 4 a1 = 3 a1 RHS 0 –3M 0 4 1 3 52 “Greater Than” Constraints Max Z = 2x1 + 5x2 + 3x3 s.t. 1x1 – 2x2 + x3 20 2x1 + 4x2 + x3 = 50 x1 , x2 , x3 0 Subtract slack variable to create equality 1x1 – 2x2 + x3 – s1 = 20 Add artificial variable for equality… 1x1 – 2x2 + x3 – s1 + a1 = 50 53 “Greater-Than” Big M Max Z = x1 + 2x2 + 2x3 s.t. – Ma1 – Ma2 = 0 1x1 – 2x2 + x3 – s1 + a1 = 20 2x1 + 4x2 + x3 + + a2 = 50 x1 , x2 , x3 , s1 , a1 , a2 0 Tableau with reduced objective function: x1 x2 x3 s1 Z -(3M+2) -(2M+5) -(2M+3) 1M C1 1 -2 1 -1 C2 2 4 1 0 a1 0 1 0 a2 0 0 1 RHS -70M 20 50 54 Negative Variables xj allowed to be any value (+ or –) Substitute xj = xj+ – xj – xj+ , xj – 0 55 Negative RHS’s 0.4x1 – 0.3x2 – 10 Is exactly equivalent to Multiply by –1 – 0.4x1 + 0.3x2 10 56 Minimization Problems Min Z = 0.4x1 + 0.3x2 Is exactly equivalent to Multiply by –1 Max Z = – 0.4x1 – 0.3x2 57 LP Solution Problems • Unbounded Solutions • No Feasible Solutions 58 Unbounded Solutions Z C1 C2 • • • • x1 -40 1 4 x2 -50 0 0 s1 0 1 0 s2 0 0 1 RHS 0 40 40/0= 120 120/0= Pivot cell is zero Can bring in unlimited x2 Z increases without limit! LP is “unbounded” 59 Unbounded LP’s 60 No Feasible Solutions An LP is infeasible if an artificial variable remains basic in the optimal solution Z C1 C2 x1 0 1 0 x2 s1 a1 RHS M+3 M+2 0 300 2 1 0 4 1 4 1 3 61 Interior Point Solution Approach x2 40 • Starts at feasible point • Moves through interior of feasible region • Always improves objective function • Theoretical interest 20 30 40 x1 62 Next week… LP Sensitivity and Duality