Базис та базисне рішення - Студопедія

У задачі ЛП базиси та базисні рішення грають ключову роль організації пошуку оптимального рішення, якщо воно існує. З їхньою допомогою генеруються чергові вершини області допустимих рішень, і організується перехід із однієї вершини до іншої. Вдалий вибір початкового базису і базового рішення може значно прискорити процес пошуку.

Ілюструємо можливість такого вибору на прикладі завдання з обмеженнями у вигляді

Якщо уявити обмеження цього завдання якAx = b,то матрицяАнабуде формуА = [a1, a2, a3],деa1 = (4, 2) T , a2 = (1, 3) T , a3 = (5, 2) T . x = (x1,x2,x3) T . Векториa1, a2, a3,як легко переконатися в цьому, є лінійно незалежними, тому будь-яку двійку з них можна вибрати в якості початкового базису. Прикладами такого вибору є, наприклад,(2х2)– матриціВ1 = [a1, a2], B2 = [a2, a3], B3 = [a1, a3].Ці матриці дійсно є базисом для векторів матриціА.

Шляхом розкладанняА=[B, N]матричне рівнянняAx = bпредставляється як

або що еквівалентно,

Так як за визначенням матрицяBмає зворотну матрицю, рішення останнього рівняння щодо векторахB,отримаємо у вигляді

Приймаючи у цьому виразіxN = 0,отримаємо базисне рішення у вигляді

Якщо вона неотрицательно, тобто.хB≥ 0, отримаємо допустиме базисне рішення. Цьому рішенню відповідає вершина множини допустимих рішень, яку можна визначити у вигляді

х 1 = .(4.5)

У цій точці значення цільової функції дорівнюєf(x 1 ) = c T x 1 = cB T xB.

Розглянемо усі три можливості.

хB = (х1в х2в) Т = В1 -1 b= (0.6, 3.8)Т,

хB = (х2в х3в) Т = В2 -1 b= =(16/13,

38/13) Т, х 2 = (0, 16/13, 38/13) Т;

хB = (х1в х3в) Т = В3 -1 b ==(2, 1) Т,

Усі три вершини є допустимими.

1.5. Табличний симплекс-метод (симплекс-алгоритм)

Cімплекс - метод заснований на ітеративному процесі перебору (або перетворення) вершин області допустимих рішень та перевірки у цих вершинах умови оптимальності. Вершини, як зазначалося вище, генеруються з допомогою базисів. Табличний варіант алгоритму дуже зручний для машинного рахунку, оскільки пов'язаний з перетворенням таблиць - масивів даних, які містять відомості про поточний базис, базисне рішення, правило зупинки і, нарешті, про оптимальне рішення. У процесі перетворення таблиць, що є реалізацію процедуриповного виключення Гаусса,формується також інформація про двоїстих змінних розв'язуваної задачі.

Нехай завдання подано у канонічній формі

, (5.1)

дезіх –вектори розмірності (п х1),тобто. с Е п , Х Е п , А -матриця розмірності(mхп), b - (пх1)- вектор.

Припустимо, що матрицяАдопускає подання у виглядіА=[B, N], де B – (mхm) –матриця повного рангу. Для простоти припустимо, щоB -одинична матриця, тобто.B = I. Це може мати місце, наприклад, якщо обмеження вихідної задачі мають виглядAx ≤ b.У разі невід'ємного вектораb,тобтоb ≥ 0,це припущення допомагає знайти перше базисне рішення у вигляді

xB = B -! b = I -1 b = b ≥ 0. (5.2)

Тоді перша вершина дорівнюватиме

де через0п-mпозначений нульовий вектор зп-mкоординатами. Для побудови вихідної таблиціпозначимо черезIBіIN,множини індексів векторів зBіNвідповідно і обчислимо так звані симплекс -різниці для векторів, що належатьNза формулою

(СР)j = cj-. (5.4)

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

тоді знайдене базисне рішення є оптимальним. Інакше пошук рішення продовжується.

Легко помітити, що для всіх базисних векторів завжди є умова

т. е. вектори зВмають нульову симплекс - різницю на всіх етапах симплексних перетворень.

Нехай потрібно вирішити завдання

Зручно уявити такі дії як послідовності кроків алгоритму. Він складається з попереднього та основного етапів.

Попередній етап. Уявити завдання у канонічній формі

Крок 1.Розкладання матриці А. Записати обмеження у вигляді матричного рівнянняAx = b, x≥ 0, і подати матрицюАу вигляді

,

виділивши в ній(mxm) -матрицюBповного рангу. Зручно в даному випадку вибрати як початковий базис одиничну матрицюB = [a3, a4, a5] = I,отже,N = [a1, a2], IB , IN = .Як бачимо,B = I –одинична матриця розмірності(3х3).Якщо отримання базисуВнеможливо, то завдання немає решения.

Крок 2.Знаходження базисного рішення. Початковому базисуВвідповідає базисне рішення у вигляді

Вершина, що відповідає цьому базисному рішенню, дорівнюєх 1=(0, 0, 12, 2, 3) Т . Останні три координатих 1збігаються з відповідними координатамихB,а перші дві координати дорівнюють нулю. Значення цільової функції у цій точці дорівнює

Крок 3.Обчислення симплекс - різниць і побудова правила зупинки.Обчислимо симплекс - різниці для небазових векторів зN.

(СР)1=c1– ,

(СР)2=c2– .

Легко помітити, що через нульовий векторсВ = (0, 0, 0) Тмає місце умова

Оскільки симплекс - різниці(СР)1і(СР)2позитивні, пошук оптимального рішення продовжується.

Крок 4.Побудова та перетворення вихідної таблиці Т0.

Вихідна симплекс – таблиця, відповідна розв'язуваної задачі, наведено на рис. 2.2.

i0 = 5
J0 = 2
базисне

Мал. 2.2. Вихідна симплекс – таблиця.

Вона містить матрицюА,векторb,базисне рішенняxB = bі так званийіндексний рядок,у якому перший її елемент – це поточне значення цільової функціїf(x) = f(xB) = cB T xB,а решта її елементів – це так званііндекси Dj = - (CP)j, j = 1, …, n,значення яких визначається як симплекс - різниці зі зворотним знаком. Цифрова частина симплекс - таблиці називається їїголовною частиною:вона і піддається перетворенню від ітерації до ітерації.

Крок 5. Перевірка правила зупинки

ЯкщоDj ³ 0, j = 1, …, n,зупинитися; Знайдене базисне рішення є оптимальним, а значення цільової функції найбільше. У разі обидві величиниDjнегативні. Це означає, що обидві симплекс -Різниці(CP)j, j = 1, 2,позитивні, отже, пошук продовжується.

Крок 6. Вибір напрямного стовпця і напрямного рядка.Напрямний стовпець з індексомj0вибирається за найбільшим значенням(CP)j > 0.У нашому випадку це(CP)2 = 3,отже,j0 = 2.Напрямний рядок з індексомi0вибирається за правилом

.

Згідно з цим правилом, серед усіх відносин типу деxib– базисні змінні (їх чисельні значення містяться в стовпціb),-позитивні елементи стовпця, що направляє, вибирається найменше відношення з індексомi0. У нашому випадку – це рядок з індексомi0= 5. Якщо в стовпчику позитивних елементів немає, завдання не має рішення через необмеженість цільової функції.

Вибору напрямного рядка і стовпця з індексамиi0іj0відповідно відповідає виключення з базисного рішення змінної та включення замість неї змінну , причому, новій змінній у базисі присвоюється значення

l0 = .

У поточній таблиці елемент називаєтьсяпровідним елементомі відзначається кружком.

Чи не знайшли те, що шукали? Скористайтеся пошуком: