ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 19.03.2024

Просмотров: 87

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Тема 2 Загальна задача лінійного програмування

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

Загальною задачею лінійного програмування є задача знаходження максимального (мінімального) значення функції

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

z Cj X j ,

(z C0

C1x1

C2 x2 ... Cnxn )

 

 

 

j 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

за умов функціональних обмежень:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

x

a

 

x

2

... a

 

x

n

b ,

 

 

 

 

 

11

1

12

 

 

1n

 

 

1

 

 

 

 

 

 

 

 

a22 x2

... a2n xn

b2 ,

 

n

bi ,i 1, 2, 3, ..., k;

a21x1

aij x j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

;

j 1

 

 

 

...............................................,

 

 

 

 

 

 

x

a

 

 

x

 

... a

 

 

x

 

b

 

 

 

 

a

 

k 2

2

kn

n

 

 

 

 

 

 

k1 1

 

 

 

 

 

 

k

 


16

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Дослідження операцій

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

aij x j

 

bi ,

 

i k 1,

k 2,

...,

 

m;

 

 

j 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

k 1,1

x a

k 1,2

x

2

...

a

k 1,n

x

n

 

b

,

 

 

 

 

1

 

 

 

 

 

 

 

k 1

 

 

 

 

 

 

 

 

 

 

 

 

 

ak 2,n xn

bk 2

,

ak 2,1 x1 ak 2,2 x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

..........

 

 

..........

 

 

..........

 

 

 

..........

 

 

 

..........

 

 

 

 

.........

 

,

 

a

x a

m

,2

x

2

...

a

m,n

x

n

b

m

 

 

 

 

m,1 1

 

 

 

 

 

 

 

 

 

 

 

 

нефункціональних обмежень:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X j 0,

 

j 1,

2, 3,

 

...,

 

 

n;

 

 

де aij; bi; Cj – задані постійні величини, k m.

Цільову функцію можливо оптимізувати на “max” або на “min” – це не є принципово, бо у точці Х* функція Z = f (x*) – досягає мінімуму, а функція Z = –f (x*) – досягає максимуму. Таким чином, є завжди можливість мінімізувати цільову функцію, не втрачаючи загальності підходу.

Цільова функція та всі функціональні обмеження мають лінійну форму відносно невідомих Xj, що і дає назву цій задачі математичного програмування – лінійне програмування.

Невідомі, які присутні у лінійній моделі, відповідно до нефункціональних обмежень невід’ємні, що теж не обмежує загальності підходу, бо є можливість завжди записати в іншому вигляді Xj = – (Xj), де (Xj)

від’ємне значення.

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

на канонічну, якщо k = 0; l = n, де всі функціональні обмеження мають вигляд рівностей;

стандартну (симетричну), якщо k = m; l = n, де всі функціональні обмеження мають вигляд нерівностей.

Будь-яку задачу лінійного програмування можна звести до канонічної задачі шляхом перетворення функціональних обмежень нерівнос-


Навчальний посібник для студентів вищих навчальних закладів

17

 

 

 

тей у обмеження рівності додаванням до нерівностей невідомих невід’ємних величин:

ai1x1 ai2 x2 ... ain xn yi bi ;

де yi 0; новим невідомим додають назви відповідно xn+1; xn+2; …; xn+m та відповідно Xj ≥ 0, j = 1, 2, 3, …, n; n + 1, …, n + m;

функціональні обмеження набувають вигляду:

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

aij x j

y j

 

bi ,i 1,

 

2,

3,

...,

m;

 

 

j 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

x

a

 

x

2

 

... a

 

x

n

x

n 1

b ,

 

 

 

11 1

12

 

 

 

1n

 

 

 

 

 

1

 

 

 

 

 

a22 x2

 

... a2n xn

xn 2

b2 ,

 

a21 x1

 

 

...........................................................,

.

 

 

x

a

 

 

x

 

 

... a

 

 

x

 

x

 

 

b

 

 

a

m

2

2

mn

n

n m

 

 

 

m1 1

 

 

 

 

 

 

 

 

 

m

Кількість невідомих моделі Xj ≥ 0 збільшилась до n + m. Будь-яку задачу лінійного програмування можна звести до стан-

дартної задачі лінійного програмування шляхом віднімання з лівої частини рівняння додаткових невід’ємних невідомих величин.

Таким чином, задача лінійного програмування може бути зведена від мінімізації до максимізації; здійснений перехід від функціональних обмежень у вигляді нерівностей до обмежень-рівностей і навпаки; замінені невідомі змінні від’ємні на невід’ємні.

Введені додаткові невідомі змінні мають чіткий економічний зміст. Так, наприклад, якщо в обмеженнях задачі лінійного програмування (нерівність) відбиваються витрати ресурсу та їх наявність, то додаткова змінна задачі (у формі рівняння) дорівнює обсягу невитраченого відповідного ресурсу. Якщо змінна не є невід’ємною, то її можливо замінити на дві невід’ємні:

xi = Ui Vi.

Система обмежень у вигляді рівностей сумісна, якщо є хоча б одне


18

Дослідження операцій

рішення; несумісна, якщо ранг матриці

aij , i 1, 2, ..., m; j 1, 2, 3, ..., n

дорівнює (r), а ранг розширеної матриці (доданий стовпець “bi”) більш ніж (r); надмірна, якщо одне з рівнянь можна отримати як лінійну комбінацію інших. У системі:

n – кількість невідомих;

m – кількість рівнянь.

Якщо система сумісна та не є надмірною, будемо вважати, що ранг її дорівнює (m); тоді:

m – базисні змінні;

(n – m) – вільні змінні, m < n.

Система у даному випадку має нескінченну кількість розв’язків, тому що ми маємо можливість надавати вільним змінним будь-які значення.

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

Сукупність усіх припустимих рішень системи рівнянь є опуклою множиною, або множина розв’язків задачі лінійного програмування є опуклою.

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

Оптимальне рішення задачі лінійного програмування відповідає одному з базисних припустимих рішень, тобто досягається у одній з вершин або граней множини розв’язків, має назву – оптимальний план задачі лінійного програмування.

Геометричну інтерпретацію множини допустимих розв’язків задачі лінійного програмування та графічний метод її розв’язання приведено у прикладі 6.

Приклад 6

Розглянемо задачу лінійного програмування у формі стандартної

Навчальний посібник для студентів вищих навчальних закладів

19

 

 

 

задачі – з обмеженнями у вигляді нерівностей. З метою наочності розглянемо простий випадок з двома невідомими змінними. Пригадаємо задачу про планування випуску продукції малим підприємством.

z (x) 10x1

20x2 , z max,

 

х2

 

 

Рис. 1. Графічний розв’язок

 

 

 

 

150

 

 

 

задачі

 

l3

 

 

 

 

 

l4

 

l2

 

 

 

 

 

 

110

Z(2) = 2060

 

 

 

 

 

 

 

 

 

96

C(70; 80)

 

 

 

 

 

 

 

 

 

 

Z(3) = 2300

 

70

 

 

 

 

l1

 

 

 

 

 

Z = 2300

30

Z(1) = 1400

 

 

 

 

Z = 800

 

 

 

 

 

 

 

 

l5

 

 

 

 

 

0

14

 

 

 

х1

70

80

100 110 120

140 150

 

50


20 Дослідження операцій

x1

3,5x2

350;

 

l1

2x 0,5x

2

240;

 

l

2

 

1

 

 

 

 

 

x2

150;

 

l3

x1

x1

x2

110;

 

l4

10 x 20 x

 

1400 ;

 

l

 

 

1

 

 

2

 

 

 

5

x1

0;

 

 

 

 

 

l6

 

0.

 

 

 

 

 

l7

x2

 

 

 

 

Нерівність – обмеження графічно відображається півплощиною, а границя – граничною прямою, рівняння якої утворюється перетворенням нерівності на рівняння l1 x1 + 3,5x2 = 350; x1 = 0, x2 = 350/3,5 = 100; x1 = 350, x2 = 0 (рис. 1).

Щоб з’ясувати, яка півплощина задовольняє нерівності, перевіримо, наприклад, чи включає точку (0,0) x1 + 3,5x2 350; напівплощина нижче граничної прямої – нерівність виконується – напівплощина нижче границі.

Таким чином перевіримо та побудуємо інші нерівності:

l2 2x1 + 0,5x2 = 240;

x1 = 0, x2 = 240/0,5 = 480; x2 = 0, x1 = 240/2 = 120;

l3 x1 + x2 = 150;

x1 = 0, x2 = 150; x2 = 0, x1 = 150;

l4 x1 + x2 = 110;

x1 = 0, x2 = 110; x2 = 0, x1 = 110;

l5 10x1 + 20x2 = 1400;

x1 = 0, x2 = 1400/20 = 70; x2 = 0, x1 = 1400/10 = 40.

Але точка (0,0) 10 ∙ 0 + 20 ∙ 0 = 0 ≥ 1400 не відповідає нерівності, тому нам потрібна півплощина вище граничної прямої.

Таким чином отримано багатокутник розв’язків, який є опуклим. З метою знаходження максимуму цільової функції z = 10x1 + 20x2 побудуємо лінію рівняння цільової функції, поклавши z = 0, 10x1 +


Смотрите также файлы