Смекни!
smekni.com

Будування математичної моделі економічної задачі і розвязання її за допомогою графічного метода (стр. 1 из 2)

Практичне завдання з математичного програмування

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


Завдання 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,

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

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

Розв'язати систему лінійних рівнянь методом повного виключення змінних (метод Гаусса) з використанням розрахункових таблиць:

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). (Виходячи із тривіальності заданої системи, можна було б відразу вказати таке рішення, яке одночасно було б й оптимальним: