Курсовая работа: Економічні задачі лінійного програмування і методи їх вирішення
. (9)
Оскільки xi (θ) при θ = 0 визначають план задачі, то найбільше θ, яке не порушує обмеження xi (θ) ≥ 0, визначається із умови
. (10)
де I = {i | xik > 0}.
В силу невиродженості задачі мінімум досягається не більш ніж для одного i = J та θ > 0. Значення лінійної форми при θ = θ0 визначається із рівнянь (9), (4), (2)
,
де Δk = zk — ck . Очевидно, Δj = 0 для j = 1, …, m.
Нехай — початковий базис із m одиничних векторів. Всі дані задачі записуються у вигляді симплекс-таблиці (першої ітерації обчислювального процесу). Симплекс-алгоритм розв'язання задачі лінійного програмування складається із наступних операцій:
1. знайти Δk = minj Δj . Якщо Δk = 0, тоді план, який розглядається оптимізовано; якщо Δk < 0, вектор Ak вводиться в базис;
2. знайти θ0 та l, для якого , із формули (10). Якщо I = Λ — порожня множина, лінійна форма необмежена зверху; якщо I ≠ Λ вектор Al виводиться із базису;
3. за знайденими l, k обчислити нові значення елементів таблиці за формулами
4.
(12)
,
де та перейти до виконання операції (1) з новими значеннями всіх xij = x'ij .
Перетворення (12) замінює вектор коефіцієнтів Xk = (x1k , …, xmk ) на одиничний вектор Xk з xlk = 1. В силу монотонного збільшення x0 повернення до вже пройденого плану неможливе, а із скінченності кількості опорних планів випливає скінченність алгоритму.
Початковий опорний план з одиничним базисом можна отримати, розв'язавши описаним алгоритмом допоміжну задачу
,
при обмеженнях
;
,
яка містить одиничний базис, який складається із векторів An+1 , …, An+m . Цим векторам відповідають штучні змінні із значеннями , i = 1, …, m. Якщо в оптимальному розв'язку цієї задачі , вихідна задача не має розв'язку. Якщо ж та задача невироджена, оптимальний базис складається лише тільки із векторів вихідної задачі, які за формулами (12) перетворені в одиничну матрицю. Якщо задача має невироджені плани, значення z0 може не збільшуватись на ряді ітерацій. Це відбувається через те, що значення відповідних дорівнює нулю та визначається неоднозначно. В таких випадках монотонність методу порушується і може трапитись зациклювання, тобто, повернення до вже пройденого базису. Невелика зміна вектора обмежень задачі, яка полягає в заміні величин bi на bi + εi , де εi достатньо малі, при вдалому виборі εi не змінюють множину векторів оптимального опорного плану вихідної задачі і робить її невиродженою.
Описаний вище алгоритм називається першим (або прямим) алгоритмом симплекс-методу. Також відомий другий алгоритм (алгоритм із оберненою матрицею). В ньому перетворюється лише матриця A-1 , обернена до базисної матриці.
3. Прикладний розділ
3.1 Вирішення задачі лінійного програмування симплекс-методом
Для розробки математичної моделі задачі позначимо:
x1 – кількість продукту А;
x2 – кількість продукту В;