- “хj” - кількість одиниць (прутків) первинного матеріалу, який буде розкроєно за “j” варіантом (способом);
- аі – потрібна кількість деталей “і”-ого різновиду (lі - довжини);
- сj – залишок при розкрої одиниці первинного матеріалу (прутка) за “j”-тим способом (варіантом);
- bij – кількість деталей “і”-ого виду, яку отримують при виготовлені з одиниці первинного матеріалу (прутка) за “j”-тим варіантом (способом).
Залишок за “j”-тим способом від розкрою = cj ´ xj, загалом
n
Z = S Cj ´ Xj ® min,
j=1
за умов:
n
S bij´ xj³ aj, i = 1,2,3…m;
j=1
xj ³ 0, j = 1,2,3…n.
Найбільш трудомістка частина задачі – визначення способів (варіантів) розкрою, яка здійснюється за формулою:
m
S li´ bij + Cj³ l, j = 1,2,3…n;
і=1
0 £ Cj £ min (li).
Цільова функція:
Z = 50 ´ х1 + 10 ´ х2 + 0 ´ х3 + 70 ´ х4 + 60 ´ х5 + 50 ´ х6 + +40 ´ х7 + 30 ´ х8 + 20 ´ х9 + 10 ´ х10 + 0 ´ х11; ® min;
обмеження:
3х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.
Розв’язок задачі складає:
Z* = 2300, x* = (8; 48; 0; 0; 0; 0; 23; 0; 0; 0; 0;).
Приклад 4. Задача комплектного розкрою деталей.
На розкрій поступають варіанти заготовок (t = 2) у обсязі “bi” (i = 1,2,3…m) кожного. Потрібно виготовити комплекти деталей, які налічують по “lk” штук (l1 = 1 деталь, l2 = 2 деталі) деталей кожного різновиду деталей. Кожна одиниця “і”-ого (одного з двох) різновидів заготовки може бути розкроєна ni (j = 1,2…ni) різними способами. При розкрої одиниці “t”-ого матеріалу заготовки “j”-тим способом отримаємо “atjk” одиниць “k” – а деталі. Потрібно скласти програму виготовлення якомога більше комплектів деталей, маючи вказані заготовки та задану комплектацію. Дамо конкретні дані: заготовки (t = 1) “А” мають довжину 5 м, кількість b1 = 100 штук; заготовки (t = 2) “В” мають довжину 4 м, кількість b2 = 175 штук; деталі D1 мають довжину 2,0 м, деталі D2 - довжину 1,25 м; до одного комплекту залучають одну (l1 = 1) деталь D1 та дві (l2 = 2) деталі D2. Треба виготовити якомога більше комплектів деталей.
Розв’язок задачі. Позначимо: xtj - кількість одиниць “t”-ого різновиду заготовок, які розкроюваються “j”-тим способом; х – загальна кількість комплектів. Побудуємо таблицю варіантів розкрою заготовок.
Варіанти заготовок | Довжина заготов-ки, м | Спосіб розкрою | Розмір деталі | Кількість загото-вок, bi | План розкрою, xtj | |
2 м (D1) | 1,25 м (D2) | |||||
t = 1 | 5 м (А) | j = 1 | 1 | 2 | b1=100 | х11 |
j = 2 | 2 | 0 | х12 | |||
j = 3 | 0 | 4 | х13 | |||
t = 2 | 4 м (В) | j = 1 | 2 | 0 | b2=175 | х21 |
j = 2 | 1 | 1 | х21 | |||
j = 3 | 0 | 3 | х21 | |||
- | Комплект | l1 = 1 | l2 = 2 | - |
Цільова функція: Z = x ® max;
обмеження:
по кількості заготовок:
х11 + х12 + х13 £ 100;
х21 + х22 + х23 £ 175;
по комплектності:
х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.
Оптимальний план складає:
Z* = 264; х* = (0; 0; 100; 132; 0; 43)
Приклад 5. Задача про складання суміші.
На підприємстві потрібно виготовити суміш, які містить 30% речовини П1, 20% речовини П2, 40% речовини П3 та 10% речовини П4. Для виготовлення суміші можливо використати три різновиди сировини М1, М2, М3 з різними співвідношеннями речовин та різною вартістю. Потрібно скласти суміш з мінімальною вартістю та наданим складом речовин. Ісходні дані наведені у таблиці.
Речовини | Сировина | Кількість сировини у суміші | ||
М1 | М2 | М3 | ||
П1 | 0,3 | 0,1 | 0,6 | 0,3 |
П2 | 0,1 | 0,2 | 0,2 | 0,2 |
П3 | 0,5 | 0,6 | 0,1 | 0,4 |
П4 | 0,1 | 0,1 | 0,1 | 0,1 |
Вартість за одиницю сировини | 4 | 2 | 3 | |
- | х1 | х2 | х3 |
Розв’язок задачі. Позначимо “xi” - кількість використаної сировини “Mi”.
Цільова функція:
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;
хі ³ 0.
Оптимальний план х* = (0; 0,6; 0,4); Z* = 2,4.
Тема 2. Загальна задача лінійного програмування та деякі з методів її розв’язування
У загальному вигляді розв’язання задачі математичного програмування майже неможливо. Найдосконало вивчені задачі лінійного програмування. Це пояснюється тим, що більшість реальних економічних моделей зводиться до задачі лінійного програмування, внаслідок чого і методи розв’язку задач лінійного програмування найбільш розвинені.
Загальною задачею лінійного програмування зветься задача знаходження максимального (мінімального) значення функції
n
Z = S Cj ´ Xj ,
j=1
(Z = С0 + С1Х1 + С2Х2 + . . . + СnХn);
За умов функціональних обмежень:
n
S aij xj £ bi , де і = 1,2, . . . , k;
j=1
а11х1 + а12х2 + . . . + a1nxn £ b1 ,
а21х1 + а22х2 + . . . + a2nxn £ b2 ,
аk1х1 + аk2х2 + . . . + aknxn £ bk ,
n
S aij xj = bi , де і = 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
нефункціональних обмежень:
xj ³ 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, де усі функціональні обмеження мають вигляд нерівностей.
Будь-які задачу лінійного програмування можливо звести до канонічної задачі шляхом перетворення функціональних обмежень нерівностей у обмеження рівності доданням до нерівностей невідомих невід’ємних величин:
ai1x1 + ai2x2 + . . . + ainxn + yi = bi ;
де yi ³ 0; новим невідомим дають назви відповідно xn+1; xn+2; . . . ; хn+m; та відповідно xj ³ 0 , де j = 1,2,3 . . . n; n + 1 . . . n + m;
функціональні обмеження набувають вигляд
n
S aij xj + yi = bi , де і = 1, 2, 3 . . . , m;
j=1
a11x1 + a12x2 + . . . + a1nxn + xn+1 = b1 ,