Математичне програмування в економiцi


Математичне програмування


Тема 1. Предмет, особливостi та сфери застосування математичного програмування в економiцi. Класифiкацiя задач

Математичне програмування тАУ математична дисциплiна, яка займаiться вивченням методiв розвтАЩязування, аналiзу та використання задач зi знаходження екстремуму функцii на множеннi допустимих варiантiв функцii. Математичне програмування використовують при розвтАЩязаннi рiзноманiтних практичних задач, у тому числi i економiчних.

Загалом послiдовнiсть використання економiко-математичних моделей така:

- формуiться економiчна проблема;

- створюiться математична модель задачi, у якiй логiчнi звтАЩязки економiчноi моделi перетворюються на математичнi спiввiдношення: функцii. рiвняння, нерiвностi;

- розвтАЩязуiться математична задача, перевiряiться рiшення;

- перекладаiться розвиток на економiчну мову i аналiзуiться результат.

Математичне програмування тАУ це частковий випадок системного аналiзу однiii чiтко вираженоi мети, досягнення якоi здiйснюiться за одним критерiiм.

У загальному виглядi математична формулювання задачi виглядаi таким чином:

- необхiдно знайти найбiльше або найменше значення цiльовоi функцii f (x1, x2, x3тАж, xn);

- якщо треба виконати умови gi (x1, x2, x3тАж, xn) £ bi, i = 1,2,3тАж,m;

- де: f, gi тАУ вiдомi функцii,

bi - деякi дiйснi числа, n > m.

Задачу оптимiзацii з точки зору економiки можна сформулювати таким чином:

- знайти такi значення змiнних. що надають ефективностi дiяльностi максимальне чи мiнiмальне значення;

- за умов виконання обмежень, якi повтАЩязанi зi змiнними, , за допомогою котрих, змiнних, здiйснюiться керування дiяльнiстю.

Конкретна цiль, поставлена у економiчнiй задачi, пояснюiться цiльовою функцiiю (критерiiм ефективностi), екстремум якоi i треба знайти.

Обмеження вiдображають умови, при розвтАЩязаннi економiчноi задачi, наприклад, брак ресурсiв, гранична вартiсть i таке iнше. Змiннi, з яких будуiться цiльова функцiя, та на якi накладаються обмеження, використовують як тАЬiнструменттАЭ, за допомогою якого досягаiться той чи iнший варiант цiлi. Як змiннi задовольняють усiм обмеженням, так отриманий варiант називають припустимим (допустимим).

Задача математичного програмування полягаi в тому, щоб з усiх допустимих варiантiв значень iнструментальних змiнних (невiдомих моделi) знайти такi, при яких функцiя цiлi (критерiй оптимальностi) досягаi екстремума.

РозвтАЩязати задачу тАУ це знайти ii оптимальне рiшення, або зтАЩясувати його вiдсутнiсть.

Функцiя цiлi (критерiй оптимальностi) повинна обтАЩiктивно характеризувати суспiльно-корисну значущiсть соцiально-економiчного явища або процесу. Критерiй оптимальностi можливо зтАЩясувати лише з економiчноi сутностi проблеми тАУ задача, яку розвтАЩязуi фахiвець економiст. Принципово неможливо визначити цiльову функцiю на етапi розвтАЩязання задачi математиком. такою ж мiрою це все стосуiться також обмежень задачi оптимiзацii.

Класифiкацiя моделей задач математичного програмування залежить вiд властивостей функцii цiлi та функцiй обмежень.

Якщо функцiя цiлi та усi функцii обмежень лiнiйнi, така задача математичного програмування маi назву задачi лiнiйного програмування; якщо ж хоча б одна з функцiй нелiнiйна, така задача маi назву задачi нелiнiйного програмування.

Якщо у математичнiй моделi ураховуiться поетапно час, така задача маi назву задачi динамiчного програмування; у iншому випадку тАУ задачi статичного програмування.

В залежностi вiд того, який характер мають вихiднi данi моделi тАУ детермiнований або стохастичний тАУ задачi мають назву вiдповiдно детермiнованого та стохастичного програмування.

Серед задач нелiнiйного програмування особливо досконало дослiдженi задачi опуклого програмування тАУ задачi знаходження екстремума опуклоi функцii, заданоi на опуклiй замкненiй множинi. У свою чергу, серед задач опуклого програмування найпростiшi i найдосконало дослiдженi задачi квадратичного програмування, у яких функцiя цiлi тАУ квадратична, а обмеження тАУ лiнiйнi.

Якщо змiннi задачi математичного програмування приймають тiльки цiлочисельнi значення, така задача маi назву задачi цiлочислового програмування; у iншому випадку тАУ задачi неперервного програмування.

У задачi дробово-лiнiйного програмування цiльова функцiя являi собою спiввiдношення двох лiнiйних функцiй, а обмеження тАУ лiнiйнi.

Якщо у задачi математичного програмування вiдсутнi усi обмеження. така задача маi назву задачi безумовного програмування.

У якостi прикладiв економiчних проблем, якi доцiльно розвтАЩязувати. використовуючи методи та моделi математичного програмування, розглянемо такi:

Приклад 1. Задача про планування випуску продукцii малого пiдприiмства.

Плануiться виробляти жiночi та чоловiчi костюми. На жiночiй костюм потрiбно 1 м. шерстi, 2 м. шовку та 1 людино-тиждень працевитрат. На чоловiчий костюм потрiбно 3,5 м. шерстi, 0,5 м. шовку i також 1 людино-тиждень працевитрат. Загалом пiдприiмство маi 350 м. шерстi, 240 м. шовку та 150 людино-тижнiв працевитрат. За попередньою домовленiстю iз замовником мають виробити 110 костюмiв жiночих та чоловiчих загалом. Акцiонери, якi вклали грошi у пiдприiмство та сировину (тканину), вимагають прибуток не менше, нiж 1400 грн. Замовник купуi жiночий костюм на 10 грн. дорожче собiвартостi, чоловiчий тАУ на 20 грн. Потрiбно зтАЩясувати: скiльки необхiдно виготовити жiночих та чоловiчих костюмiв, щоб задовольнити усiм вимогам та отримати найбiльший прибуток.

РозвтАЩязок задачi: Позначимо кiлькiсть жiночих костюмiв, якi потрiбно виготовити, через х1; кiлькiсть чоловiчих тАУ х2. Загальний прибуток (критерiй оптимiзацii, мета, цiль) виробництва складаi:

Z = f (x) = 10 x1 + 20 x2 ;

витрати: шерстi = 1 ´ х1 + 3,5 ´ х2;

шовку = 2 ´ х1 + 0,5 ´ х2;

трудомiсткостi = х1 + х2;

результати: кiлькiсть загальна костюмiв х1 + х2;

прибуток 10 x1 + 20 x2.

Функцiональнi обмеження задачi мають вигляд:

х1 + 3,5 х2 £ 350;

2 х1 + 0.5 х2 £ 240; обмеження ресурсiв

х1 + х2 £ 150;

х1 + х2 ³ 110; обмеження планового завдання

10 х1 + 20 х2 ³ 1400;

Нефункцiональнi обмеження вочевидь складають:

х1 ³ 0;

х2 ³ 0.

РозвтАЩязок задачi математичного програмування у даному прикладi складаi: х1 = 70; х2 = 80; f (x)max = 2300 грн.

Приклад 2. Задача про постачання вантажiв вiд постачальникiв до замовникiв.

Вiд трьох постачальникiв, розташованих у пунктах А1, А2, А3 до чотирьох замовникiв, розташованих у пунктах В1, В2, В3, В4, треба перевезти однорiдний вантаж. Наявнiсть вантажу по пунктах постачальникiв: А1= 50т, А2 = 40 т, А3 = 20т. Потреба у вантажi: В1 = 30т, В2 = 25т, В3 = 35т, В4 = 20т. Вiдстанi мiж пунктами замовникiв та постачальникiв наведенi у таблицi.

Таблиця

Замовники

Постачальники

В1

В2

В3

В4

Запаси

А1

С11

3

х11

С12

2

х12

С13

4

х13

С14

1

х14

a1 = 50

А2

С21

2

х21

С22

3

х22

С23

1

х23

С24

5

х24

а2 = 40

А3

С31

3

х31

С32

2

х32

С33

4

х33

С34

4

х34

а3 = 20

Потреба

b1 = 30

b2 = 25

b3 = 35

b4 = 20

110

РозвтАЩязок задачi. Позначимо xij тАУ кiлькiсть вантажу. який буде перевезено з тАЬiтАЭтАУого пункта постачання у тАЬjтАЭтАУий пункт замовлення; cij тАУ вiдстань вiд тАЬiтАЭ-ого постачальника до тАЬjтАЭ-ого замовника. Мета: розшукати вартiсть перевезення вантажiв з найменшою витратою транспортного моменту.

Z = f (x) = S S Cij´ Xij

Задача збалансована, тобто наявнiсть вантажу дорiвнюi потреби у вантажу:

S Xij = аi, i = 1, 2, 3; - умова вивезення вантажу вiд кожного з трьох постачальникiв до 4 замовникiв;

S Xij = вj j тАУ 1, 2, 3, 4; - умова отримання кожним замовником необхiдноi кiлькостi вантажу.

Нефункцiональнi обмеження: хij ³ 0.

РозвтАЩязок задачi складаi:

х11 = 25; х12 = 5; х14 = 20; х13 = 0;

х21 = 5; х23 = 35; х22 = 0; х24 = 0;

х31 = 20; х32 = 0; х33 = 0; х34 = 0;

f (x)min = 190т.км.

Приклад 3. Задача про рацiональний розкрiй.

Пiдприiмство одержуi прут сталевого прокату довжиною l = 800 см. Треба виготовити деталi трьох (i) рiзновидiв: l1 = 250 см, а1 = 150 штук; l2 = 190 см, а2 = 140 штук; l3 = 100 см, а3 = 48 штук.

Скласти рацiональний план розкрою вихiдного матерiалу (деталей) з найменшими виходами (залишками).

РозвтАЩязок задачi. Побудуiмо таблицю можливих варiантiв розкрою.

Таблиця

Номер способу (j)

bij

Залишок cj
Кiлькiсть пруткiв за тАЬjтАЭ-способом

l1 = 250

l2 = 190

l3 = 100

j = 130050

x1

j = 221110

x2

j = 32030

x3

j = 412170

x4

j = 511360

x5

j = 610550

x6

j = 704040

x7

j = 803230

x8

j = 902420

x9

j = 1001610

x10

j = 110080

x11

Потрiбна кiлькiсть деталей

а1 = 150

а2 = 140

а3 = 48

--
i = 1i = 2i = 3

Позначимо:

- тАЬхjтАЭ - кiлькiсть одиниць (пруткiв) первинного матерiалу, який буде розкроiно за тАЬjтАЭ варiантом (способом);

- аi тАУ потрiбна кiлькiсть деталей тАЬiтАЭ-ого рiзновиду (li - довжини);

- сj тАУ залишок при розкроi одиницi первинного матерiалу (прутка) за тАЬjтАЭ-тим способом (варiантом);

- bij тАУ кiлькiсть деталей тАЬiтАЭ-ого виду, яку отримують при виготовленi з одиницi первинного матерiалу (прутка) за тАЬjтАЭ-тим варiантом (способом).

Залишок за тАЬjтАЭ-тим способом вiд розкрою = cj ´ xj, загалом

Z = SCj´XjВоmin,

j=1

за умов:

S bij´ xj³ aj, i = 1,2,3тАжm;

j=1

xj ³ 0, j = 1,2,3тАжn.

Найбiльш трудомiстка частина задачi тАУ визначення способiв (варiантiв) розкрою, яка здiйснюiться за формулою:


m

S li´ bij + Cj³ l, j = 1,2,3тАжn;

i=1

0 £ Cj £ min (li).

Цiльова функцiя:

Z = 50 ´ х1 + 10 ´ х2 + 0 ´ х3 + 70 ´ х4 + 60 ´ х5 + 50 ´ х6 + +40 ´ х7 + 30 ´ х8 + 20 ´ х9 + 10 ´ х10 + 0 ´ х11; Во min;

обмеження:

1 + 2х2 + 3х3 + 1х4 + х5 + х6 ³ 150;

х2 + 2х4 + х5 + 4х7 + 3х8 + 2х9 + х10 ³ 140;

х2 + 3х3 + х4 + 3х5 + 5х6 + 2х8 + 4х9 + 6х10 + 8х11 ³ 48;

xj ³ 0, j = 1,2,3тАж11.

РозвтАЩязок задачi складаi:

Z* = 2300, x* = (8; 48; 0; 0; 0; 0; 23; 0; 0; 0; 0;).

Приклад 4. Задача комплектного розкрою деталей.

На розкрiй поступають варiанти заготовок (t = 2) у обсязi тАЬbiтАЭ (i = 1,2,3тАжm) кожного. Потрiбно виготовити комплекти деталей, якi налiчують по тАЬlkтАЭ штук (l1 = 1 деталь, l2 = 2 деталi) деталей кожного рiзновиду деталей. Кожна одиниця тАЬiтАЭ-ого (одного з двох) рiзновидiв заготовки може бути розкроiна ni (j = 1,2тАжni) рiзними способами. При розкроi одиницi тАЬtтАЭ-ого матерiалу заготовки тАЬjтАЭ-тим способом отримаiмо тАЬatjkтАЭ одиниць тАЬkтАЭ тАУ а деталi. Потрiбно скласти програму виготовлення якомога бiльше комплектiв деталей, маючи вказанi заготовки та задану комплектацiю. Дамо конкретнi данi: заготовки (t = 1) тАЬАтАЭ мають довжину 5 м, кiлькiсть b1 = 100 штук; заготовки (t = 2) тАЬВтАЭ мають довжину 4 м, кiлькiсть b2 = 175 штук; деталi D1 мають довжину 2,0 м, деталi D2 - довжину 1,25 м; до одного комплекту залучають одну (l1 = 1) деталь D1 та двi (l2 = 2) деталi D2. Треба виготовити якомога бiльше комплектiв деталей.

РозвтАЩязок задачi. Позначимо: xtj - кiлькiсть одиниць тАЬtтАЭ-ого рiзновиду заготовок, якi розкроюваються тАЬjтАЭ-тим способом; х тАУ загальна кiлькiсть комплектiв. Побудуiмо таблицю варiантiв розкрою заготовок.

Таблиця

Варiанти заготовокДовжина заготов-ки, мСпосiб розкрою
Розмiр деталi

Кiлькiсть загото-вок, bi

План розкрою, xtj

2 м (D1)

1,25 м (D2)

t = 1

5 м

(А)

j = 112

b1=100

х11

j = 220

х12

j = 304

х13

t = 2

4 м

(В)

j = 120

b2=175

х21

j = 211

х21

j = 303

х21

-Комплект

l1 = 1

l2 = 2

-

Цiльова функцiя: Z = x Во max;

обмеження:

по кiлькостi заготовок:

х11 + х12 + х13 £ 100;

х21 + х22 + х23 £ 175;

по комплектностi:

х11 + 2×х12 + 0×х13 + 2×х21 + х22 + 0×х23 ³ х;

2×х11 + 0×х12 + 4×х13 + 0×х21 + х22 + 3×х23 ³ 2х;

хij³ 0; х ³ 0.

Оптимальний план складаi:

Z* = 264; х* = (0; 0; 100; 132; 0; 43)

Приклад 5. Задача про складання сумiшi.

На пiдприiмствi потрiбно виготовити сумiш, якi мiстить 30% речовини П1, 20% речовини П2, 40% речовини П3 та 10% речовини П4. Для виготовлення сумiшi можливо використати три рiзновиди сировини М1, М2, М3 з рiзними спiввiдношеннями речовин та рiзною вартiстю. Потрiбно скласти сумiш з мiнiмальною вартiстю та наданим складом речовин. РЖсходнi данi наведенi у таблицi.

Таблиця

РечовиниСировинаКiлькiсть сировини у сумiшi

М1

М2

М3

П1

0,30,10,60,3

П2

0,10,20,20,2

П3

0,50,60,10,4

П4

0,10,10,10,1
Вартiсть за одиницю сировини423
-

х1

х2

х3

РозвтАЩязок задачi. Позначимо тАЬxiтАЭ - кiлькiсть використаноi сировини тАЬMiтАЭ.

Цiльова функцiя:

Z = 4 x1 + 2x2 + 3x3 Во min;

обмеження:

0,3х1 + 0,1х2 + 0,6х3 ³ 0,3;

0,1х1 + 0,2х2 + 0,2х3 ³ 0,2;

0,5х1 + 0,6х2 + 0,1х3 ³ 0,4;

0,1х1 + 0,1х2 + 0,1х3 ³ 0,1;

хi ³ 0.

Оптимальний план х* = (0; 0,6; 0,4); Z* = 2,4.


Тема 2. Загальна задача лiнiйного програмування та деякi з методiв ii розвтАЩязування

У загальному виглядi розвтАЩязання задачi математичного програмування майже неможливо. Найдосконало вивченi задачi лiнiйного програмування. Це пояснюiться тим, що бiльшiсть реальних економiчних моделей зводиться до задачi лiнiйного програмування, внаслiдок чого i методи розвтАЩязку задач лiнiйного програмування найбiльш розвиненi.

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

Z = SCj´Xj ,

j=1

(Z = С0 + С1Х1 + С2Х2 + . . . + СnХn);

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

Saijxj£bi , де i = 1,2, . . . , k;

j=1

а11х1 + а12х2 + . . . + a1nxn £ b1 ,

а21х1 + а22х2 + . . . + a2nxn £ b2 ,

аk1х1 + аk2х2 + . . . + aknxn £ bk ,

Saijxj= bi , де i = k +1, k + 2, . . . , m;

j=1


ak+1;1x1 + ak+1;2x2 + . . . + ak+1;nxn = bk+1 ,

ak+2;1x1 + ak+2;2x2 + . . . + ak+2;nxn = bk+2 ,

am;1x1 + am;2x2 + . . . + am;nxn = bm

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

xj ³ 0 , де j = 1,2,3,. . . n;

а також aij; bi; cj тАУ заданi постiйнi величини, а ще k £ m.

Цiльову функцiю можливо оптимiзувати на тАЬmaxтАЭ, або на тАЬminтАЭ тАУ це не i принципово, бо у точцi х* функцiя Z = f (x*) тАУ досягаi мiнiмуму, а функцiя Z = - f (x*) тАУ досягаi максимуму. Таким чином ми завжди можемо мiнiмiзувати цiльову функцiю, не втрачаючи загальностi пiдходу.

Цiльова функцiя та усi функцiональнi обмеження, як ми вже бачили, мають лiнiйну форму вiдносно невiдомих xj, що i даi цiй задачi математичного програмування назву тАУ лiнiйне програмування.

Невiдомi, якi присутнi у лiнiйнiй моделi, вiдповiдно нефункцiональним обмеженням невiдтАЩiмнi, що теж не обмежуi загальностi пiдходу, бо i можливiсть завжди перепозначити

xj = - (xj)- , де (xj)- - вiдтАЩiмне.

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

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

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

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


ai1x1 + ai2x2 + . . . + ainxn + yi = bi ;

де yi ³ 0; новим невiдомим дають назви вiдповiдно xn+1; xn+2; . . . ; хn+m; та вiдповiдно xj ³ 0 , де j = 1,2,3 . . . n; n + 1 . . . n + m;

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

Saijxj+ yi = bi , де i = 1, 2, 3 . . . , m;

j=1

a11x1 + a12x2 + . . . + a1nxn + xn+1 = b1 ,

a21x1 + a22x2 + . . . + a2nxn + xn+2 = b2 ,

am1x1 + am2x2 + . . . + amnxn + xn+m = bm ,

кiлькiсть невiдомих моделi xj³ 0 збiльшилась до n + m .

Слушне зауваження у пiдручнику тАУ якщо знак нерiвностi ³, так додатковi невiдомi треба вiднiмати вiд лiвоi частини нерiвностi.

Будь-яку задачу лiнiйного програмування можливо звести до стандартноi задачi лiнiйного програмування шляхом вiднiмання з лiвоi частини рiвняння додаткових невiдтАЩiмних невiдомих частин.

Таким чином ми навчились зводити задачу лiнiйного програмування вiд мiнiмiзацii до максимiзацii; переходити вiд функцiональних обмежень у виглядi нерiвностей до обмежень тАУ рiвностей i навпаки; замiнювати невiдомi змiннi вiдтАЩiмнi на невiдтАЩiмнi. Введенi додатковi невiдомi змiннi мають чiткий економiчний змiст. так, наприклад, якщо у обмеженнях задачi лiнiйного програмування (нерiвнiсть) вiдбиваються витрати ресурсу та iх наявнiсть, так додаткова змiна задачi (у формi рiвняння) дорiвнюi обсягу невитраченого вiдповiдного ресурсу. Слушне зауваження у пiдручнику тАУ якщо змiннi не i невiдтАЩiмною, так ii можливо замiнити на двi невiдтАЩiмнi:


xi = ui тАУ vi .

Система обмежень у виглядi рiвностей сумiсна, якщо i хоча б одно рiшення; несумiсна, якщо ранг матрицi ½aij, i = 1,2,. . . n равен ( r ) , а ранг розширеноi матрицi (додан стовбець тАЬbiтАЭ) бiльше нiж ( r ); надмiрна, якщо одне з рiвнянь можливо отримати як лiнiйну комбiнацiю iнших. У системi: n тАУ кiлькiсть невiдомих,

m тАУ кiлькiсть рiвнянь.

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

m тАУ базиснi змiннi,

(n тАУ m) тАУ вiльнi змiннi, m < n.

Система у даному випадку маi нескiнченну кiлькiсть розвтАЩязкiв, так як ми маiмо можливiсть надавати вiльним змiнним будь-якi значення.

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

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

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

Оптимальне рiшення задачi лiнiйного програмування вiдповiдаi одному з базисних припустимих рiшень, тобто досягаiться у вершинi множини розвтАЩязкiв, маi другу назву тАУ оптимальний план задачi лiнiйного програмування.

Геометрична iнтерпретацiя множини допустимих розвтАЩязкiв задачi лiнiйного програмування та графiчний метод ii розвтАЩязування./2/ стор. 165.

Розглянемо задачу лiнiйного програмування у формi стандартноi задачi тАУ з обмеженнями у виглядi нерiвностей. З метою наочностi розглянемо простiший випадок з двома невiдомими змiнними. Пригадаiмо задачу про планування випуску продукцii малим пiдприiмством.

Z = 10 x1 + 20 x2 ; Z Во max;

х1 + 3,5 х2 £ 350;

2 х1 + 0,5 х2 £ 240;

х1 + х2 £ 150;

х1 + х2 ³ 110;

10 х1 + 20 х2 ³ 1400;

х1 ³ 0;

х2 ³ 0.

Нерiвнiсть тАУ обмеження графiчно вiдображаiться пiвплощiною, а границя тАУ граничною прямою, рiвняння якоi утворюiться перетворенням нерiвностi на рiвняння.

l1 Во x1 + 3,5x2 = 350 ;

x1 = 0, x2 = 350 / 3,5 = 100 ; x2 = 0, x1 = 350.

Щоб зтАЩясувати, яка напiвплощiна задовольняi нерiвностi, перевiримо, наприклад, чи включаi точку (0,0) 0 + 3,5 × 0 £ 350 напiвплощiна нижче граничноi прямоi тАУ нерiвнiсть виконуiться тАУ напiвплощiна нижче границi.

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

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 = 140;

але точка (0,0) 10 × 0 + 20 × 0 = 0 ³ 1400 не вiдповiдаi нерiвностi, тому нам потрiбна пiвплощiна вище граничноi прямоi.

Таким чином отриманий многокутник розвтАЩязкiв, до речi тАУ опуклий, як завжди.

З метою знаходження максимуму цiльовоi функцii

Z = 10 x1 + 20 x2 побудуiмо лiнiю рiвня цiльовоi функцii, поклавши Z = 0 ,

10 x1 + 20 x2 = 10; x1 = 0, x2 = 40; x2 = 0; x1 = 80;

зростання цiльовоi функцii позначаi паралельне змiщення самiй собi догори, доки остання крапка не вийде на границю многокутника розвтАЩязкiв.

Ця точка вiдповiдаi перетину прямих

х1 + 3,5 х2 = 350; - l1 ( × ) C (70; 80)

х1 + х2 = 250; - l3

х1 = 70, х2 = 80,

Zmax (x) = 10 × x1 + 20 × x2 = 10 × 70 + 20 × 80 = 23000 грн.

Слушне зауваження у пiдручнику тАУ якщо було б потрiбно знайти мiнiмальне значення цiльовоi функцii, так лiнiю рiвня потрiбно змiщувати униз, доки остання крапка вийде на границю многокутника розвтАЩязкiв тАУ це l5 , усi крапки якоi i розвтАЩязком задачi тАУ нескiнченна множина рiшень.

У розглянутому випадку многокутник розвтАЩязкiв не тiльки опуклий, а ще i i замкненим. Можливi варiанти опуклого многокутника розвтАЩязкiв, який i необмеженим.

У першому випадку можливо знайти максимальне значення цiльовоi функцii, а у другому випадку тАУ мiнiмальне значення. На наступному малюнку наведений приклад многокутника розвтАЩязкiв несумiсноi системи обмежень тАУ розвтАЩязок задачi математичного програмування вiдсутнiй.



Малюнок. Многокутник розвтАЩязкiв несумiсноi системи обмежень

задачi лiнiйного програмування

Тема 3. Симплексний метод розвтАЩязання задач лiнiйного програмування

Перша праця по лiнiйному програмуванню була надрукована Канторовичем у 1939 роцi, але лише пiсля вiдкриття Данцiгом у 1949 роцi симплекс-метода розв'язання задачi лiнiйного програмування до цього класу задач виникла зацiкавленiсть. Симплекс-метод даi аналiтичний розвтАЩязок лiнiйноi задачi математичного програмування.

Симплексний метод розвтАЩязання задачi лiнiйного програмування ТСрунтуiться на переходi вiд одного опорного плану до iншого таким чином, що кожного разу значення цiльовоi функцii зростаi (за умов, що задача маi оптимальний план, та кожний з опорних планiв не i надмiрним). Пiд опорним планом мають на увазi невiдтАЩiмний базисний розвтАЩязок задачi лiнiйного програмування. Нагадаiмо тАУ базисний план (розвтАЩязок) тАУ рiшення системи обмежень. у якому усi вiльнi змiннi дорiвнюють нулевi, тобто геометрично базисний план вiдповiдаi однiй з вершин або граней многокутника розвтАЩязкiв.

Розглянемо використання симплекс-методу для вирiшення задачi лiнiйного програмування на прикладi задачi про планування випуску продукцii малим пiдприiмством. У звтАЩязку з тим, що ця задача була розвтАЩязана ранiше, i ми зтАЩясували, що функцiональнi плановi обмеження виконуються автоматично, а також з метою спрощення пошуку, розглянемо тiльки функцiональнi обмеження ресурсiв.

х1 + 3,5 х2 £ 350;

2 х1 + 0,5 х2 £ 240;

х1 + х2 £ 150;

х1 ³ 0;

х2 ³ 0.

Z = f (x) = 10 x1 + 20 x2 ; Z Во max;

( -Z = - f (x) = - 10 x1 - 20 x2 - 0 × x4 - 0 × x5; Во min ).

РозвтАЩязок задачi. Перетворимо функцiональнi обмеження-нерiвностi на обмеження-рiвностi шляхом введення у обмеження-нерiвностi невiдтАЩiмних вiльних невiдомих y1, y2, y3 (хоча можливо було б i х3, х4, х5 ).

х1 + 3,5 х2 + у1 = 350; (1)

2 х1 + 0,5 х2 + у2 = 240; (2)

х1 + х2 + у3 = 150; (3)

х1 ³ 0; х2 ³ 0; у1³ 0; у2³ 0; у3³ 0.

Перед початком виробництва х1 = х2 = 0 , тодi

у1 = 350; наявнiсть ресурсу тАУ шерсть;

у2 = 240; наявнiсть ресурсу тАУ шовк;

у3 = 150; наявнiсть ресурсу тАУ трудомiсткiсть.

Прибуток на початок справи Z = 10 × 0 + 20 × 0 = 0;

Кiлькiсть рiвнянь-обмежень m = 3; кiлькiсть невiдомих тАУ х1, х2, у1, у2, у3 n = 5; кiлькiсть вiльних змiнних тАУ (n тАУ m) = 5 тАУ 3 = 2;

базисне припустиме рiшення задачi тАУ це таке, у якому усi вiльнi змiннi дорiвнюють нулевi (вершина або грань многокутника розвтАЩязкiв). Тому початковий опорний план складаi

х (1) = (0; 0; 350; 240; 150) ; Z ( х(1) ) = 0;

де : х1 = 0; х2 = 0 тАУ вiльнi змiннi, вiдповiдаi рiшенню задачi, коли продукцiя не виробляiться. Надамо цю iнформацiю у виглядi симплекс-таблицi

Таблиця

х1

х2

х3

1

2

1

3,5

0,5

1

350

240

150

у1 тАУ шерстяна тканина

у2 тАУ шовкова тканина

у3 тАУ наявнiсть ресурсiв працi

10200- Z = - дохiд вiд виробництва

Z = 10х1 + 20х2 = 10 × 0 + 20 × 0 = 0; - Z = 0;

Виробництво чоловiчих костюмiв х2 даi бiльший дохiд, так почнемо його збiльшувати, залишаючи х1 = 0, але iснують обмеження. З першоi строки симплекс-таблицi (першого рiвняння-обмеження на наявнiсть шерстяноi тканини) чоловiчих костюмiв можливо виготовити 350 / 3,5 = 100; з другоi строки симплекс-таблицi (другого рiвняння-обмеження на наявнiсть шовковоi тканини) чоловiчих костюмiв можливо виготовити 240 / 0,5 = 480 штук; з третьоi строки симплекс-таблицi (третього рiвняння-обмеження на наявнiсть ресурсiв працi) чоловiчих костюмiв можливо виготовити 150 / 1 = 150 одиниць. Визначальним i обмеження на шерстяну тканину, тобто найбiльша кiлькiсть чоловiчих костюмiв (за умов вiдсутностi жiночих тАУ х1 = 0) дорiвнюi найменшому з трьох значень 100; 480; 150; х2 = 110. Визначальний елемент симплекс-таблицi тАУ коефiцiiнт у першому рiвняннi при другiй вiльнiй змiннiй (х2), який дорiвнюi3,5; та маi назву центру (ключового елемента).

Як буде виготовлено 100 чоловiчих костюмiв, так х2 = 100 i з першого рiвняння-обмеження отримаiмо (х1 = 0)


у1 = 350 тАУ 3,5х2 тАУ х1; (1)

у2 = 240 тАУ 0,5х2 тАУ 2х1; (2)

у3 = 150 тАУ х2 тАУ х1; (3)

що у1 = 0, тобто ресурсiв шерстяноi тканини не буде; з другого рiвняння-обмеження отримаiмо у2 = 240 тАУ 0,5 × 100 тАУ 2 × 0 = = 190 м шовковоi тканини у запасах; з третього рiвняння-обмеження отримаiмо у3 = 150 тАУ 100 тАУ 0 = 50 людино - тижнiв трудомiсткостi у запасах.

Прибуток складаi Z = 10 × 0 + 20 × 100 = 2000 грн.; - Z = - 2000.

Цiльова функцiя Z = 10 × х1 + 20 × х2 через новi вiльнi змiннi (х1 = 0; у2 = 0) маi вираз

40 40 40 30

Z = 10 х1 + 20 х2 = 10 × х1 + 2000 - ¾ у1 - ¾ х1 = 2000 - ¾ у1 + ¾ х1,

7 7 7 7

бо (з першого рiвняння-обмеження) маiмо:

х2 = 100 тАУ у1 / 3,5 тАУ х1 / 3,5.

Перетворимо систему рiвнянь-обмежень, замiнюючи х2 на його вираз:

х1 + 3,5 (100 тАУ у1 / 3,5 тАУ х1 / 3,5) + у1 = 350; (1¢)

2 х1 + 0,5 (100 тАУ у1 / 3,5 тАУ х1 / 3,50) + у2 = 240; (2¢)

х1 + (100 тАУ у1 / 3,5 тАУ х1 / 3,50) + у3 = 150; (3¢)

х2 + у1 / 3,5 + х1 / 3,5 = 100 (4¢)

Другий опорний план задачи таким чином складаi

х(2) = (0; 100; 0; 190; 50; 100); Z (х(2) ) = 2000;

де: х1 = 0; у1= 0 тАУ вiльнi змiннi, вiдповiдаi розвтАЩязку задачi, якщо виробляються виключно чоловiчi костюми (х2 = 100). Знов надамо цю iнформацiю у виглядi симплекс-таблицi.


Таблиця

х1

у1

bi

13

¾

7

1

- ¾

7

190

у2 тАУ залишки шовковоi тканини

5

¾

7

2

- ¾

7

50

у3 тАУ залишки ресурсiв працi

2

¾

7

2

¾

7

100

х2 тАУ виробництво чоловiчих костюмiв

30

¾

7

40

- ¾

7

- 2000- Z тАУ цiльова функцiя

Кожен з елементiв симплекс-таблицi маi своi значення:

тАУ у першому стовпцi (х1) 13 / 7 тАУ потрiбна кiлькiсть шовковоi тканини, потрiбноi на один жiночий костюм; 5 / 7 тАУ потрiбна кiлькiсть працi на один жiночий костюм; 30 / 7 тАУ прибуток вiд одного жiночого костюма;

Дивлячись на цiльову функцiю

30 40

Z = 2000 + ¾ × х1 - ¾ × у1 ,

7 7

бачимо, що збiльшення виготовлення жiночих костюмiв може збiльшити прибуток, бо х1 ³ 0 , а також 30 / 7 > 0.

Пригадуючи, що у1 = 0, знайдемо значення новоi вiльноi змiнноi, яка задовольняi систему рiвнянь-обмежень (2¢), (3¢), (1¢¢), а також у2 ³ 0 , у3 ³ 0 , х2 ³ 0 .

(2¢) даi, якщо у2 = 0, х1 В» 102;

(3¢) даi, якщо у3 = 0, х1 = 70;

(1¢¢) даi, якщо х2 = 0, х1 =350;

Визначальними i обмеження на ресурси працi: , х1 = 70, у3 = 0 з рiвняння (3¢).

Визначальний елемент симплекс-таблицi тАУ це коефiцiiнт у рiвняннi (3¢), якiй дорiвнюi (5/7), та вiдiграi роль нового центру, або ключового елементу.

Як буде виготовлено 70 жiночих костюмiв, так х1 = 70 з рiвняння (3¢) отримаiмо у3 = 0 (нова базова змiнна);

Третiй опорний план задачi складаi:

Х (3) = (70; 80; 0; 60; 0;); Z (3) = 2300 грн.;

Z (3) > Z (1);

де: у1 = 0; у3 = 0 - вiльнi змiннi, вiдповiдаi розвтАЩязку задачi, якщо виробляiться 70 жiночих та 80 чоловiчих костюмiв. Надамо цю iнформацiю у виглядi симплекс-таблицi.

Таблиця

у3

у1

Опорний розвтАЩязок b1

13

¾

5

21

- ¾

35

60

у2 тАУ залишки шовковоi тканини

2

¾Вместе с этим смотрят:


10 способов решения квадратных уравнений


РЖнварiантнi пiдпростори. Власнi вектори i власнi значення лiнiйного оператора


РЖнтегральнi характеристики векторних полiв


РЖнтерполювання функцiй


Автокорреляционная функция. Примеры расчётов