Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Chiselni_metodi_za_dopomogoyu_Excel.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
8.81 Mб
Скачать

§3. Канонічна форма задачі лінійного програмування. Опорні розв’язки

За означенням 2 задача лінійного програмування поставлена, якщо задані

  1. лінійна цільова функція f = ;

  2. система обмежень

= bi (i = 1, 2, …, m1 ≤ m), ≤ bi (i = m1 + 1, … , m), xj ≥ 0 (j = 1, 2, …, n1 ≤ n);

  1. визначено, до якого типу відноситься дана задача – максимізації або мінімізації.

Зазначимо, що нерівність ≥ bi можна перетворити у ≤ bi , змінивши знак у її коефіцієнтів; нерівності xj ≥ 0 виділені окремо зважаючи на попередні приклади, бо це зручно для конкретних задач. Задачу мінімізації можна звести до задачі максимізації, якщо змінити знак у цільової функції, тобто замість f = (min) написати f = (max). Отже, будь – яку задачу лінійного програмування можна записати так:

f = (max),

= bi (i = 1, 2, …, m1 ≤ m),

≤ bi (i = m1 + 1, … , m), (1)

xj ≥ 0 (j = 1, 2, …, n1 ≤ n).

Зокрема, якщо m1 = 0, то система обмежень складається лише з нерівностей; якщо m1 = m, то з рівнянь, окрім останньої строки.

Означення 4. Матриця А системи (1) вимірності m × n

називається матрицею умов, стовпці А1 , А2 , … , Аn цієї матриці – векторами умов,

, , ... , ;

а вектор В називається вектором обмежень задачі (1).

Означення 5. Задача лінійного програмування має канонічну форму, якщо всі її змінні невід’ємні, а всі інші умови системи обмежень – рівняння (тобто у (1) m1 = m, n1 = n).

Отже, в канонічній формі задача лінійного програмування має вид:

f = (max) або (min),

= bi (i = 1, 2, …, m)

xj ≥ 0 (j = 1, 2, …, n). (2)

У векторній формі систему обмежень задачі (2) можна записати так:

, xj ≥ 0 (j = 1, 2, …, n),

де А1 , А2 , … , Аn – вектори умов, а В вектор обмежень цієї задачі. Будь – яку задачу лінійного програмування можна звести до канонічної форми. Справді, кожну змінну xj задачі (1) (n1 ≤ j ≤ n) замінимо на різницю yj – zj двох нових невід’ємних змінних yj і zj. Крім того, у нерівностях ≤ bi (i = m1 + 1, … , m) системи (1) введемо нові змінні ti , вважаючи, що + ti = bi , звідки ti ≥ 0 (i = m1 + 1, … , m).

Приклад. Звести до канонічної задачу: знайти мінімум лінійної функції f = 2х1 + 3х2 + х3 за обмежень

Розв’язання. Введемо в першу нерівність системи змінну х4 ≥ 0, а в третю – х5, х5 ≥ 0:

Змінна х2 не підпорядкована умові невід’ємності. Тому замінимо цю змінну різницею х2 = х6 – х7 , де х6 ≥ 0, х7 ≥ 0. Підставивши значення х2 у цільову функцію і систему обмежень, дістанемо задачу у канонічній формі:

f = 2х1 + 3х6 – 3х7 + х3 (min)

Систему обмежень задачі лінійного програмування в канонічній формі можна розв’язати методом Гаусса, як і будь – яку систему лінійних рівнянь. Якщо вона сумісна, то має або єдиний розв’язок або нескінченну множину розв’язків, кожен з яких отримується із загального в результаті фіксації вільних (неосновних) змінних. Розв’язок є допустимим, якщо всі його координати невід’ємні.

Означення 6. 1) Опорним розв’язком задачі лінійного програмування у канонічній формі називають такий допустимий розв’язок її системи обмежень, у якому всі вільні змінні дорівнюють нулю.

2) Опорний розв’язок називають невиродженим, якщо всі його основні змінні додатні, в противному разі опорний розв’язок називають виродженим.

Традиційним є таке еквівалентне

Означення 6. Опорним розв’язком задачі (2) називається її допустимий розв’язок, якщо вектори умов з номерами його додатних координат утворюють лінійно незалежну систему векторів.

Справді, як показано у розділі , набір змінних системи лінійних рівнянь буде набором основних змінних загального розв’язку за одної умови: набір вектор – стовпців матриці цієї системи з номерами цих змінних утворює максимальну лінійно незалежну систему, тобто базис вектор – стовпців. Звідси 6 → 6′ : якщо всі вільні змінні у розв’язку дорівнюють нулю, то всі змінні з додатними значеннями основні, а тому їх вектори умов утворюють лінійно незалежну систему. Зворотно 6′ → 6: якщо вектори умов з номерами додатних координат розв’язку утворюють лінійно незалежну систему, то її можна розширити до базису, відповідно розширити набір змінних і обрати змінні цього набору, як основні. Тоді у якості вільних залишаються тільки змінні із значенням нуль. Звідси

Означення 7. Базисом опорного розв’язку називають такий базис векторів умов, який містить всі вектори умов, що відповідають додатним координатам цього розв’язку.

Отже, довільний опорний розв’язок має базис. У невиродженого опорного розв’язку він тільки один, його складають всі вектори умов, що відповідають додатним координатам цього розв’язку; вироджений може мати декілька базисів.

Приклад. В задачі лінійного програмування у канонічній формі

f = 3х1 + 4х2 – х3 + х4 (min)

α1 = (0;0;1/2;5/2) і α2 = (1;0;1;1) є допустимими розв’язками. Водночас вектори умов А3 = та А4 = утворюють, очевидно, лінійно незалежну систему векторів і базис векторів умов. Тому α1 є невиродженим опорним розв’язком цієї задачі, вектори А3 і А4 складають базис цього опорного розв’язку. Вектори А1 = , А3 = та А4 = лінійно залежні, тому α2 не є опорним розв’язком.

Щоби знайти опорний розв’язок достатньо вибрати деякий базис векторів умов задачі так, щоби вектор обмежень В розкладався по ньому з невід’ємними коефіцієнтами. Якщо , , … , – такий базис і В = ∙ + ∙ + … + , ≥ 0, ≥ 0, … , ≥ 0, то α = (0 ;…; ;…; ;…; ;…; 0) є опорним розв’язком задачі. Так у прикладі 1/2 ∙ А3 + 5/2 ∙ А4 = 1/2 ∙ + 5/2 ∙ = = В.

При розв’язанні конкретних задач ми будемо користуватись означенням 6. Воно зручно також для встановлення геометричного змісту опорного розв’язку. А саме зазначимо, що опорний розв’язок є крайньою точкою опуклої множини Ω допустимих розв’язків задачі лінійного програмування. Справді, нехай опорний розв’язок х є опуклою комбінацією допустимих розв’язків y, z: х = λ ∙ y + μ ∙ z, де у, z є Ω, λ, μ ≥ 0, λ + μ = 1. Оскільки всі координати векторів y і z невід’ємні, а вільні координати вектора х дорівнюють нулю, то ці координати дорівнюють нулю також у векторів y і z. Але тоді вектори y і z є частковими розв’язками тої ж системи лінійних рівнянь, що й х, з тими ж значеннями вільних змінних, звідки х = y = z. Згідно з означенням 3 це й означає, що х є крайньою точкою множини допустимих розв’язків Ω. З іншого боку легко зрозуміти, що будь – який допустимий розв’язок х, що має додатну вільну координату буде опуклою комбінацією деяких допустимих розв’язків y, z ≠ х, тобто лише опорні розв’язки є крайніми точками Ω. Отже, враховуючи висновки попереднього параграфа, отримаємо

Висновки. 1. Опорні розв’язки задачі лінійного програмування у канонічній формі і тільки вони є вершинами множини Ω допустимих розв’язків, яка є многогранником у Rn із скінченим числом вершин. Звідси

2. Якщо множина Ω не пуста, то задача лінійного програмування у канонічній формі має опорний розв’язок, кількість опорних розв’язків скінченна.

3. Множина оптимальних розв’язків задачі лінійного програмування у канонічній формі (якщо вони існують) є теж опуклим многогранником, вершинами якого є деякі опорні розв’язки. Отже, довільний оптимальний розв’язок є опуклою комбінацією деяких оптимальних опорних розв’язків.

На цих висновках оснований симплекс – метод – найбільш поширений алгебраїчний метод розв’язування задач лінійного програмування (симплекс – синонім многогранника).

Якщо коротко, то суть його в тому, що достатньо шукати лише опорні розв’язки, а їх скінченна кількість і їх можна знайти методом Гаусса.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]