Будування математичної моделі економічної задачі і розв'язання її за допомогою графічного метода, методів Жордана-Гаусса, потенціалу та симплекс-метода
Розв'язання системи лінійних рівнянь методом повного виключення змінних (метод Гаусса) з використанням розрахункових таблиць. Будування математичної моделі задачі лінійного програмування. Умови для застосування симплекс-методу. Розв'язка спряженої задачі.
Рубрика | Математика |
Вид | практическая работа |
Язык | украинский |
Дата добавления | 09.11.2009 |
Размер файла | 42,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Практичне завдання з математичного програмування
Будування математичної моделі економічної задачі і розв'язання її за допомогою графічного метода, методів Жордана-Гаусса, потенціалу та симплекс-метода
Завдання 1
Два вироби В1 і В2 обробляються послідовно на двох верстатах. Кожен виріб типу В1 потребує 1 год. для обробки на І-му верстаті, 2 год. -- на ІІ-му і А = 5^(1/2) = 2,236068 год. -- на ІІІ-му. Кожен виріб типу В2 потребує 2 год. для обробки на І-му верстаті, А = 5 год. -- на ІІ-му і 3 год. -- на ІІІ-му. Час роботи на І-му верстаті не повинен перевищувати 10*5 = 50 год., на ІІ-му -- 15*5 = 75 год., на ІІІ-му -- 50 год.
Необхідно:
Скласти план виробництва при максимальному прибутку, якщо відомо, що продаж одного виробу типу В1 приносить прибуток 5 грн, а типу В2 -- 3 грн.
Для цього:
1). Побудувати математичну модель задачі лінійного програмування.
2). Звести дану задачу до канонічного вигляду.
Розв'язок
Введемо умовні позначення:
кількість змінних задачі (типів виробів) -- n = 2;
змінні задачі оптимізації: х1 -- кількість виробів типу В1, х2 -- кількість виробів типу В2;
кількість обмежень-нерівностей (верстатів) -- m = 3;
коефіцієнти аij обмежень-нерівностей (час обробки виробів j на верстатах i): а11 = 1, а21 = 2, а31 = 2,236068; а12 = 2, а22 = 5, а32 = 3;
праві частини bі обмежень-нерівностей (максимальний час роботи і-го верстату) -- b1 = 50, b2 = 75, b3 = 50;
коефіцієнти сj цільової функції Z (прибуток), що максимізується -- с1 = 5, с2 = 3.
Одиниці вимірювання ті самі, що й в умові завдання.
1. Отже, використовуючи наведені вище дані, сформулюємо вихідну математичну модель задачі лінійного програмування: знайти кількості х1, х2 виробів В1, В2 такі, що максимізували б прибуток (цільову функцію)
Z = с1х1 + с2х2 > max
за обмежень на час роботи верстатів
а11х1 + а12х2 ? b1
а21х1 + а22х2 ? b2
а31х1 + а32х2 ? b3
і, звісно, додатних значеннях змінних задачі -- хі ? 0, і = 1, 2.
Підставляючи сюди вихідні дані, отримаємо шукану модель (1):
х1 + 2х2 ? 50,
2х1 + 5х2 ? 75, (1)
2,236068х1 + 3х2 ? 50;
Z = 5х1 + 3х2 > max.
2. Аби звести дану задачу до канонічного (стандартного) вигляду
Z = СХ > mах; АХ = В; Х ? 0, (2)
введемо допоміжні (балансові) змінні х3,4,5 ? 0, які представляють собою різниці між максимальним і фактичним (знайденим в результаті розв'язку задачі оптимізації) часом роботи кожного з трьох верстатів. Тоді й отримаємо нашу задачу в канонічному вигляді (2), де:
Х = { хі }, і = 1 ч n = 5,
С = (5, 3, 0, 0, 0),
1 2 1 0 0
А = 2 5 0 1 0
2,236068 3 0 0 1
В = (50, 75, 50).
Як бачимо, вихідна задача максимізації цільової функції Z в нормальній формі (1) набула канонічного вигляду (2) за рахунок перетворення обмежень-нерівностей на обмеження-рівності шляхом введення балансових змінних.
Завдання 2
Розв'язати задачу лінійного програмування, сформульовану в Завданні 1, графічним методом:
Z = 3x1 + 2x2 > max
2х1 + х2 ? 4,
х1 + 2х2 ? 5, (1)
х1 ? 0, х2 ? 0.
Розв'язок
Використовуючи крайні значення знаків ? обмежень несуворих нерівностей, тобто знаки =, побудуємо такі три графіки:
1) х1 = - x2/2 + 2,
2) х1 = -2x2 + 5,
3) x1 = Z - 2x2/3
Ці графіки показані на рис. 1, на якому многокутник розв'язків, як видно, обмежений знизу (оскільки в системі обмежень (1) фігурують знаки ?) тільки додатною чвертю декартової системи х1,2 ? 0.
На цьому рисунку цільова функція показана штриховою лiнiєю, яка, залежно від величини Z, може переміщуватися паралельно сама собі. Стрілкою з буквою n на рис. 1 позначений напрямок градієнта цільової функції (тобто напрямок збільшення Z). Зрозуміло, що її максимум знаходиться в точці перетину ліній обмежень 1) і 2), в якій х1 = 1 > 0, х2 = 2 > 0. Це й є графічний розв'язок задачі. При цьому цільова функція буде мати таке значення:
Z = 3*1 + 2*2 = 7.
Рисунок 1. Графік до розв'язання Завдання 2
Завдання 3
Розв'язати систему лінійних рівнянь методом повного виключення змінних (метод Гаусса) з використанням розрахункових таблиць:
2х1 + х2 - х3 - х4 = 2
4х1 + х3 - 7х4 = 3
2х1 - 3х2 + х4 = 1
Розв'язок
Взагалі кажучи, ця недовизначена система може або мати безліч розв'язків, або не мати жодного (тобто бути несумісною). Для з'ясування цього застосуємо метод Гаусса (точніше, Жордана-Гаусса), який реалізуємо у вигляді таблиць 2 - 4. В таблиці 1 вміщені вихідні дані.
Таблиця 1. Вихідна матриця системи
А1 |
А2 |
А3 |
А4 |
В |
|
2 |
1 |
-1 |
-1 |
2 |
|
4 |
0 |
1 |
-7 |
3 |
|
2 |
-3 |
0 |
1 |
1 |
Згідно методу Жордана-Гаусса, провідний елемент ars замінюємо одиницею, решту елементів провідного (r-го) рядка ділимо на провідний елемент ars, а решту елементів провідного (s-го) стовпчика замінюємо нулями. Елементи, які не належать до провідного рядка або стовпчика, обчислюються за правилом прямокутника:
a'ij = aij - aisarj / ars, (1)
b'i = bi - aisbr / ars, (2)
j = 1, …, n = 4, і r,
i = 1, …, m = 3, j s,
де ars -- провідний елемент (у наших таблицях підкреслений). Розрахунки за формулами (1), (2) зведемо в наступні таблиці, послідовно вибираючи провідними діагональні елементи матриці А.
На першому кроці провідним вибираємо елемент а11.
Таблиця 2. Перший крок методу
А1 |
А2 |
А3 |
А4 |
В |
|
1 |
0,5 |
-0,5 |
-0,5 |
1 |
|
0 |
-2 |
3 |
-5 |
-1 |
|
0 |
-4 |
1 |
2 |
-1 |
На другому кроці провідним вибираємо елемент а22 = -2.
Таблиця 3. Другий крок методу
А1 |
А2 |
А3 |
А4 |
В |
|
1 |
0 |
0,25 |
-1,75 |
0,75 |
|
0 |
1 |
-1,5 |
2,5 |
0,5 |
|
0 |
0 |
-5 |
12 |
1 |
Далi, в третьому рiвняннi провідним вибираємо елемент а33 = -5.
Таблиця 4. Третій крок методу з провідним а33
А1 |
А2 |
А3 |
А4 |
В |
|
1 |
0 |
0 |
-1,15 |
0,8 |
|
0 |
1 |
0 |
-1,1 |
0,2 |
|
0 |
0 |
1 |
-2,4 |
-0,2 |
Якщо покласти х4 = 0, то отримаємо рішення х1 = 0,8, х2 = 0,2, х3 = -0,2. Підстановка їх у вихідну систему дає тотожне задоволення обмежень-рівностей:
2*0,8 + 0,2 + 0,2 - 0 = 2
4*0,8 - 0,2 - 7*0 = 3
2*0,8 - 3*0,2 + 0 = 1
Якщо на третьому кроці в третьому рiвняннi провідним вибрати елемент а34 = 12, то отримаємо таке рішення:
Таблиця 5. Третій крок методу з провідним а34
А1 |
А2 |
А3 |
А4 |
В |
|
1 |
0 |
-0,47917 |
0 |
0,89583 |
|
0 |
1 |
-0,45833 |
0 |
0,29167 |
|
0 |
0 |
-0,41667 |
1 |
8,333E-02 |
Якщо тут покласти х3 = 0, то отримаємо рішення х1 = 0,89583, х2 = 0,29167, х4 = 0,08333. Підстановка їх у вихідну систему також дає тотожності:
2*0,89583+ 0,29167 - 0 - 0,08333 = 2
4*0,89583 + 0 - 7*0,08333 = 3
2*0,89583 - 3*0,29167 + 0,08333 = 1
Отже, ця недовизначена система має безліч розв'язків. Тому можна й далі таким же чином шукати різні розв'язки цієї системи, як завгодно "вручну" визначаючи будь-яку її змінну.
Завдання 4
1). Розв'язати симплекс-методом задачу лінійного програмування, яка представлена в завданні 2.
2). Побудувати двоїсту задачу до заданої задачі лінійного програмування.
3). Знайти розв'язок двоїстої задачі та дати економічну інтерпретацію отриманого розв'язку.
Розв'язок
Отже, наша вихідна система лінійного програмування (ЛП) із завдання 2 з n = 2 буде така:
Z = 3x1 + 2x2 > max
2х1 + х2 ? 4,
х1 + 2х2 ? 5, (1)
х1 ? 0, х2 ? 0.
1. Для застосування симплекс-методу потрібно привести вихідну систему (1) до канонічного (стандартного) вигляду шляхом введення двох m = 2 нових змінних х3 та х4:
2х1 + х2 + х3 = 4,
х1 + 2х2 + х4 = 5, (2)
х1,2,3,4 ? 0.
Також треба знайти початкове базисне рішення, тобто будь-яке рішення, що не порушує обмежень задачі (2). (Виходячи із тривіальності заданої системи, можна було б відразу вказати таке рішення, яке одночасно було б й оптимальним:
х1 = 1 > 0, х2 = 2 > 0, х3 = х4 = 0.)
Формально початковий базисний розв'язок можна взяти, прийнявши до уваги, що x3 та х4 зустрічаються в кожному рівнянні системи (2) по одному разу:
х1,2 = 0, x3 = 4, х4 = 5.
Далi скористаємося алгоритмом симплекс-метода i заповнимо наступні таблиці за відомими формулами математичного програмування. Позначимо через Аk вектор, складений з коефіцієнтів аik при змінній хk в i-ому обмеженні, через СБ -- вектор, складений з координат сбi, що відповідають базисним змінним (на цьому 1-му кроці методу це -- x3, х4). Тепер вирахуємо симплексні різниці Дk за формулою
Дk = Ak CБ - Zk = ?бik, k = 1ч n + m, і = 1 ч m (3)
де підсумовування ведеться по індексу і,
бik = аik сбi - сk. (4)
Отже, Дk дорівнює сумі добутків базисних сбi на аik мінус сk.
Таблиця 1. Перший крок симплекс-методу
i |
Б |
Сб |
сk |
3 |
2 |
0 |
0 |
|
A0 |
A1 |
A2 |
A3 |
A4 |
||||
1 |
A3 |
0 |
4 |
2 |
1 |
1 |
0 |
|
2 |
A4 |
0 |
5 |
1 |
2 |
0 |
1 |
|
k |
0 |
-6 |
-4 |
0 |
0 |
Оскільки ми шукаємо максимум цільової функції, то треба знайти саму мінімальну симплексну різницю k серед від'ємних симплекс-різниць, тобто мінімальну за абсолютною величиною (модулем). Такою є симплексна різниця 2 < 0 = -4, отже до базису треба включити вектор A2. Тепер зробимо перевірку того, який з векторів -- А3 чи А4 -- треба виключити з базису. Для цього підрахуємо величини Оо6i = ai0 / ai2 та знайдемо номер базисного індексу j, який відповідає мінімальному значенню Оо6 = min Оо6і.
Оскільки Оо6і = ai0 / ai2, Оо6 = min (4/1 = 4; 5/2 = 2,5) = 2,5, то j = 4 (в попередній таблиці виділений) і з базису виключається вектор A4. Тепер на місце вектора А4 вводимо до базису вектор А2 та робимо перерахунок системи в таблиці 1 за методом Жордана-Гаусса (алгоритм див. у завданні 3), взявши за провідний елемент а22 = 2 (який у попередній таблиці підкреслений хвилястою лінією).
Таблиця 2. Другий крок симплекс-методу
i |
Б |
Сб |
сk |
3 |
2 |
0 |
0 |
|
A0 |
A1 |
A2 |
A3 |
A4 |
||||
1 |
A3 |
0 |
1,5 |
1,5 |
0 |
1 |
-0,5 |
|
2 |
A2 |
2 |
2,5 |
0,5 |
1 |
0 |
0,5 |
|
k |
5 |
-5 |
0 |
0 |
1 |
Видно, що до базису "проситься" вектор А1. Оскільки Оо6 = min (1,5/1,5 = 1; 2,5/0,5 = 5) = 1, то j = 3 і з базису виключається вектор A3. Тепер на місце вектора А3 вводимо вектор А1 та знову робимо перерахунок системи в таблиці 2 за методом Жордана-Гаусса, взявши за провідний елемент а11 = 1,5.
Таблиця 3. Третій крок симплекс-методу
i |
Б |
Сб |
сk |
3 |
2 |
0 |
0 |
|
A0 |
A1 |
A2 |
A3 |
A4 |
||||
1 |
A1 |
3 |
1 |
1 |
0 |
0,666667 |
-0,33333 |
|
2 |
A2 |
2 |
2 |
0 |
1 |
-0,33333 |
0,66667 |
|
k |
7 |
0 |
0 |
1,33333 |
0,33333 |
Таким чином, на даному кроцi симплекс-метода всi значення i ? 0, отже ми отримали таке рішення задачі: Х = (1; 2; 0; 0;) з цільовою функцією
Zmax = 3*1 + 2*2 = 7.
Безпосередня підстановка цього рішення у вихідну систему підтверджує його правильність:
2*1 + 2 + 0 = 4,
1 + 2*2 + 0 = 5.
Між іншим, в таблиці 3 маємо також розв'язок спряженої задачі (див. далі).
2. В матрично-векторному вигляді взаємно двоїсті (пряма і спряжена) задачі лінійного програмування записуються у вигляді (5), (6):
Z = СХ min (max) при АХ ? В, Х ? 0; (5)
Z' = BY max (min) при АTY ? C, Y ? 0. (6)
Враховуючи, що цільова функція Z нашої прямої задачі дослужується на максимум i всі обмеження записані у вигляді нерівностей типу ?, двоїста спряжена задача, згідно з правилами лінійного програмування, матиме такий вигляд:
Z' = 4у1 + 5у2 > min
2у1 + у2 ? 3,
у1 + 2у2 ? 2, (5)
у1 ? 0, у2 ? 0.
В даному випадку вихідної системи (1) коефіцієнтами цільової функції Z' стають праві частини В обмежень типу ? ; якщо якесь обмеження мало б знак типу ?, ми б просто змінили знаки коефіцієнтів обох частин цього обмеження. Правими частинами обмежень спряженої задачі стають коефіцієнти C цільової функції Z прямої задачі, що максимізується. Нарешті, коефіцієнтами обмежень типу ? спряженої задачі стають елементи векторів Аk, k = 1 ч m. Змінні Y = {уj} спряженої задачі також повинні бути невід'ємними. Система обмежень спряженої задачі має розмірність n Ч m, на відміну від m Ч n у прямій задачі.
3. Після введення балансових змінних y3,4 одразу отримаємо базовий розв'язок канонічної системи:
y1,2 = 0, y3 = 3, y4 = 2.
і можемо зробити перший крок симплекс-методу для двоїстої задачі.
Таблиця 4. Перший крок симплекс-методу
i |
Б |
Вб |
bk |
4 |
5 |
0 |
0 |
|
A0 |
AТ1 |
AТ2 |
AТ3 |
AТ4 |
||||
1 |
AТ3 |
0 |
3 |
2 |
1 |
1 |
0 |
|
2 |
AТ4 |
0 |
2 |
1 |
2 |
0 |
1 |
|
k |
0 |
-8 |
-10 |
0 |
0 |
При розв'язку задачі мінімізації цільової функції в базис вводиться вектор з найбільшою за модулем від'ємною симплексною різницею . Оскільки ми шукаємо саме мінімум цільової функції, а максимальним за абсолютною величиною (модулем) є 2 < 0 = -10, то до базису треба включити вектор AТ2. Тепер зробимо перевірку того, який з векторів -- А3 чи А4 -- треба виключити з базису. Для цього підрахуємо величини Ообi = ai0 / ai2 та знайдемо номер базисного індексу j, який відповідає максимальному значенню Ооб = mах Ообі, оскільки в даному випадку 2 = -10 < 0.
Так як Ообі = ai0 / ai2, Ооб = mах (3/1 = 3; 2/2 = 1) = 3, то j = 3 і з базису виключається вектор AТ3. Тепер на місце вектора АТ3 вводимо до базису вектор АТ2 та робимо перерахунок системи в таблиці 4 за методом Жордана-Гаусса, взявши за провідний елемент а12 = 1.
Таблиця 5. Другий крок симплекс-методу
i |
Б |
Вб |
bk |
4 |
5 |
0 |
0 |
|
A0 |
AТ1 |
AТ2 |
AТ3 |
AТ4 |
||||
1 |
AТ2 |
5 |
3 |
2 |
1 |
1 |
0 |
|
2 |
AТ4 |
0 |
-4 |
-3 |
0 |
-2 |
1 |
|
k |
15 |
2 |
0 |
5 |
0 |
Як бачимо, тепер до базису "проситься" вектор АТ1. Оскільки 1 = 2 > 0, то в даному випадку треба шукати Оо6 = mіn (3/2 = 1,5; -4/-3 = 1,3333333) = 1,3333333; отже, j = 4 і з базису виключається вектор A4. Тепер на місце вектора АТ4 вводимо вектор АТ1 та знову робимо перерахунок системи в таблиці 5 за методом Жордана-Гаусса, взявши за провідний елемент а12 = -3.
Таблиця 6. Третій крок симплекс-методу
i |
Б |
Вб |
bk |
4 |
5 |
0 |
0 |
|
A0 |
AТ1 |
AТ2 |
AТ3 |
AТ4 |
||||
1 |
AТ2 |
5 |
0,33333 |
0 |
1 |
-0,33333 |
0,66667 |
|
2 |
AТ1 |
4 |
1,33333 |
1 |
0 |
0,66667 |
-0,33333 |
|
k |
7 |
0 |
0 |
1 |
2 |
Таким чином, на даному кроці симплекс-метода всі значення i ? 0, отже ми отримали таке рушення задачі: Y = (1,33333; 0,33333; 0; 0;) ? 0 з цільовою функцією
Z'mіn = 4* 1,33333+ 5* 0,33333 = 7.
Безпосередня підстановка цього рішення у вихідну систему підтверджує його правильність:
2*1,33333 + 0,33333 + 0 = 3,
1,33333 + 2*0,33333 + 0 = 2.
Як бачимо, дійсно, значення цільових функцій прямої Z і двоїстої Z' задач в оптимальній точці співпадають. Крім того, розв'язок двоїстої до даної - прямої задачі (див. п. 4.1) - можна знайти за останньою симплексною таблицею 6: останні m компонентів вектора симплекс-різниць -- 3 ? х1 = 1 і 4 ? х2 = 2 -- є оптимальним рішенням двоїстої (вихідної) задачі. Те саме можна сказати про рішення прямої задачі: оптимальні розв'язки двоїстої (спряженої) задачі виявилися в останніх m компонентах вектора в таблиці3.
Економічна інтерпретація отриманого розв'язку спряженої задачі полягає в тому, що в цій задачі коефіцієнти B = (b1, b2) цільової функції виручки Z' = BY (в грн) мають розмірність об'ємів виробництва продукції типів І та ІІ, а змінні Y = (у1, у2) -- розмірність вартості (в грн) одиниць цих продуктів. Отже, тепер ми знаємо, як зміна вартості одиниці того чи іншого продукту вплине на виручку підприємства.
В прямій задачі -- все навпаки: коефіцієнти С = (с1, с2) цільової функції виручки Z = СХ (в грн) мають розмірність вартості (в грн) одиниць продукції типів І та ІІ, а змінні Х = (у1, у2) -- розмірність об'ємів виробництва цих продуктів. Отже, за розв'язком прямої задачі оптимізації ми знаємо, як зміна об'єму виробництва того чи іншого продукту вплине на виручку підприємства.
Подобные документы
Розв'язання графічним методом математичної моделі задачі з організації випуску продукції. Розв'язання транспортної задачі методом потенціалів. Знаходження умовних екстремумів функцій методом множників Лагранжа. Розв'язання задач симплекс-методом.
контрольная работа [48,5 K], добавлен 16.07.2010Поняття та значення симплекс-методу як особливого методу розв'язання задачі лінійного програмування, в якому здійснюється скерований рух по опорних планах до знаходження оптимального рішення. Розв'язання задачі з використанням програми Simplex Win.
лабораторная работа [264,1 K], добавлен 30.03.2015Послідовність графічного розв'язання задачі лінійного програмування. Сумісна система лінійних нерівностей, умови невід'ємності, визначення півплощини з граничними прямими. Графічний метод для визначення оптимального плану задачі лінійного програмування.
задача [320,6 K], добавлен 31.05.2010Складання плану виробництва при максимальному прибутку. Введення додаткових (фіктивних) змінних, які перетворюють нерівності на рівності. Розв’язування задачі лінійного програмування графічним методом та економічна інтерпретація отриманого розв’язку.
контрольная работа [298,3 K], добавлен 20.11.2009Розв'язання завдання графічним способом. Зображення розв'язку системи нерівностей, визначення досягнення максимуму та мінімуму функції. Розв'язання транспортної задачі методом потенціалів та симплекс-методом, формування оціночної матриці з елементів.
задача [134,9 K], добавлен 31.05.2010Розв’язання систем лінійних рівнянь методом Жордана-Гауса. Еквівалентні перетворення системи, їх виконання як елемент методів розв’язування системи рівнянь. Базисні та вільні змінні. Лінійна та фундаментальна комбінації розв’язків, таблиці коефіцієнтів.
контрольная работа [170,2 K], добавлен 16.05.2010Застосування систем рівнянь хемотаксису в математичній біології. Виведення системи визначальних рівнянь, розв'язання отриманої системи визначальних рівнянь (симетрій Лі). Побудова анзаців максимальних алгебр інваріантності математичної моделі хемотаксису.
дипломная работа [1,9 M], добавлен 09.09.2012Основні поняття чисельних методів розв’язання систем лінійних алгебраїчних рівнянь. Алгоритм Гаусса зведення системи до східчастого виду послідовним застосуванням елементарних перетворень. Зворотній хід методу Жордана-Гаусса. Метод оберненої матриці.
курсовая работа [165,1 K], добавлен 18.06.2015Сутність симплекс-методу у вирішенні задач лінійного програмування. Рішення задачі на відшукання максимуму або мінімуму лінійної функції за умови, що її змінні приймають невід'ємні значення і задовольняють деякій системі лінійних рівнянь або нерівностей.
реферат [28,5 K], добавлен 26.02.2012Застосування методу Гауса (або методу послідовного виключення невідомих) для розв'язання систем лінійних рівнянь. Економний спосіб запису за допомогою компактної схеми Гауса. Алгоритм знаходження рангу матриці, метод Гауса з вибором головного елемента.
курсовая работа [879,9 K], добавлен 02.10.2010