Практическая работа

Практическая работа на тему Будування математичної моделі економічної задачі і розв язання її за допомогою графічного метода

Работа добавлена на сайт bukvasha.net: 2014-12-19

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 22.11.2024


Практичне завдання з математичного програмування
Будування математичної моделі економічної задачі і розв'язання її за допомогою графічного метода, методів Жордана-Гаусса, потенціалу та симплекс-метода

Завдання 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). Звести дану задачу до канонічного вигляду.
Розв'язок
Введемо умовні позначення:
 SYMBOL 183 \f "Symbol" \s 10     кількість змінних задачі (типів виробів) — n = 2;
 SYMBOL 183 \f "Symbol" \s 10     змінні задачі оптимізації: х1 — кількість виробів типу В1, х2 — кількість виробів типу В2;
 SYMBOL 183 \f "Symbol" \s 10     кількість обмежень-нерівностей (верстатів) — m = 3;
 SYMBOL 183 \f "Symbol" \s 10     коефіцієнти аij обмежень-нерівностей (час обробки виробів j на верстатах i): а11 = 1, а21 = 2, а31 = 2,236068; а12 = 2, а22 = 5, а32 = 3;
 SYMBOL 183 \f "Symbol" \s 10     праві частини bі обмежень-нерівностей (максимальний час роботи і-го верстату) — b1 = 50, b2 = 75, b3 = 50;
 SYMBOL 183 \f "Symbol" \s 10     коефіцієнти с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 ≤ 50,
1 + 2 ≤ 75,                                                     (1)
2,236068х1 + 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
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.
Х2
Х1
0
2
3)
4
2
4
1)
2)
n
Точка оптимуму
 

Рисунок 1. Графік до розв’язання Завдання 2
Завдання 3
Розв'язати систему лінійних рівнянь методом повного виключення змінних (метод Гаусса) з використанням розрахункових таблиць:
1 + х2 - х3 - х4 = 2
1 + х3 - 7х4 = 3
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
1 + х2 ≤ 4,
х1 + 2х2 ≤ 5,                                              (1)
х1 ≥ 0, х2 ≥ 0.
1. Для застосування симплекс-методу потрібно привести вихідну систему (1) до канонічного (стандартного) вигляду шляхом введення двох m = 2 нових змінних х3 та х4:
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
Dk
0
-6
-4
0
0
Оскільки ми шукаємо максимум цільової функції, то треба знайти саму мінімальну симплексну різницю Dk серед від'ємних симплекс-різниць, тобто мінімальну за абсолютною величиною (модулем). Такою є симплексна різниця D2 < 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
Dk
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
Dk
7
0
0
1,33333
0,33333
Таким чином, на даному кроцi симплекс-метода всi значення Di ≥ 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
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
Dk
0
-8
-10
0
0
При розв'язку задачі мінімізації цільової функції в базис вводиться вектор з найбільшою за модулем від'ємною симплексною різницею D. Оскільки ми шукаємо саме мінімум цільової функції, а максимальним за абсолютною величиною (модулем) є D2 < 0 = -10, то до базису треба включити вектор AТ2. Тепер зробимо перевірку того, який з векторів — А3 чи А4 — треба виключити з базису. Для цього підрахуємо величини Ообi = ai0 / ai2 та знайдемо номер базисного індексу j, який відповідає максимальному значенню Ооб = mах Ообі, оскільки в даному випадку D2 = -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
Dk
15
2
0
5
0
Як бачимо, тепер до базису "проситься" вектор АТ1. Оскільки D1 = 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
Dk
7
0
0
1
2
Таким чином, на даному кроці симплекс-метода всі значення Di ≥ 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 компонентів вектора D симплекс-різниць — D3 ≡ х1 = 1 і D4 ≡ х2 = 2 — є оптимальним рішенням двоїстої (вихідної) задачі. Те саме можна сказати про рішення прямої задачі: оптимальні розв'язки двоїстої (спряженої) задачі виявилися в останніх m компонентах вектора D в таблиці3.
Економічна інтерпретація отриманого розв'язку спряженої задачі полягає в тому, що в цій задачі коефіцієнти B = (b1, b2) цільової функції виручки Z' = BY (в грн) мають розмірність об'ємів виробництва продукції типів І та ІІ, а змінні Y = (у1, у2) — розмірність вартості (в грн) одиниць цих продуктів. Отже, тепер ми знаємо, як зміна вартості одиниці того чи іншого продукту вплине на виручку підприємства.
В прямій задачі — все навпаки: коефіцієнти С = (с1, с2) цільової функції виручки Z = СХ (в грн) мають розмірність вартості (в грн) одиниць продукції типів І та ІІ, а змінні Х = (у1, у2) — розмірність об'ємів виробництва цих продуктів. Отже, за розв'язком прямої задачі оптимізації ми знаємо, як зміна об'єму виробництва того чи іншого продукту вплине на виручку підприємства.

1. Реферат Развитие революции в России условиях двоевластия
2. Реферат на тему Animal Testing Essay Research Paper When it
3. Реферат Порядок и правовые последствия признания субъекта хозяйствования банкротом
4. Реферат Курская битва. Историческое значение сражения
5. Реферат Первичные преобразователи
6. Реферат Непрерывное Вейвлет-преобразование
7. Реферат на тему Antigone Essay Research Paper ANTIGONE In the
8. Диплом на тему Организация бухгалтерского учета в коммерческих банках на примере З
9. Диплом Особенности развития коммуникативных навыков у детей с задержкой психического развития
10. Реферат Косвенные налоги в РФ и перспективы их развития 3