
- •1 Рекомендації щодо виконання та оформлення контрольної роботи
- •2 Перелік завдань для виконання за темами
- •Тема 1 Лінійне програмування
- •Тема 2 Цілочислове програмування
- •Тема 3 Динамічне програмування
- •3.2 Задача про заміну устаткування без урахування залишкової вартості устаткування
- •3 Типові розв΄язання завдань
- •3.2 Задача про заміну устаткування без урахування залишкової вартості устаткування
- •4 Питання до іспиту з навчальної дисципліни “оптимізаційні методи та моделі”
- •Список літератури Основна література
- •Контрольна робота з навчальної дисципліни “оптимізаційні методи та моделі”
- •39600, М. Кременчук, вул. Першотравнева, 20
Тема 3 Динамічне програмування
Задача 3.1 Про розподіл капіталовкладень між чотирма підприємствами
Постановка задачі. Знайти оптимальний план розподілу капіталовкладень S= 25 г.о. між чотирма підприємствами, якщо приріст випуску продукції для i- го підприємства, ri(x), і=1,…,4, залежно від обсягу капіталовкладень, x, відомий і заданий у таблиці 1, де n1 –перша, а n2 –друга цифри номера студента у журналі групи, [n2/5] – ціла частина числа n2/5.
Таблиця 5 – Обсяг капіталовкладень і приріст випуску продукції для підприємств
Обсяг кап. вкладень X |
r1(x) |
r2(x) |
r3(x) |
r4(x) |
5 |
18+n1 |
20+[n2/5] |
16+[n2/4] |
20+[n2/5] |
10 |
20+n1 |
21+[n2/2] |
27+[n2/5] |
23+n1 |
15 |
27+n1 |
31+[n2/3] |
34+[n2/3] |
26+n1 |
20 |
31+n1 |
37+[n2/3] |
40+[n2/4] |
31+[n2/3] |
25 |
40+n1 |
40+[n2/2] |
41+[n2/2] |
40-n1 |
3.2 Задача про заміну устаткування без урахування залишкової вартості устаткування
Постановка задачі. Нехай r(t) – вартість продукції, виробленої за рік на одиниці устаткування, вік котрого t років; L(t) – щорічні витрати на обслуговування цього устаткування; S(t)=0 – залишкова вартість устаткування; Р – вартість нового обладнання. Уведемо функцію φ(t)=R(t)-L(t) – різниця між вартістю виготовленої продукції та експлуатаційних витрат. Значення функції φ(t) за роками наведені у таблиці 6. Нехай Р=10+[n2/2] , де n2 – друга цифраномера студента у журналі групи, [n2/2] – ціла частина числа n2/2.
Таблиця 6 – Значення функціі φ(t) за роками
t |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
φ(t) |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
Визначити оптимальний цикл заміни устаткування за період часу тривалістю шість років, причому за ці роки прибуток f6(t) повинен бути максимальний.
Література: [6, с. 203– 248; 9, с. 15– 25].
3 Типові розв΄язання завдань
Завдання 1.1 Задача про розподіл ресурсів
Підприємство може виготовляти чотири види продукції П-1, П-2, П-3, П-4. Збут будь-якого її обсягу забезпечений. Норми витрати ресурсів і прибуток від одиниці кожного виду продукції надані в таблиці 7. Виконати економічний аналіз лінійної моделі:
побудувати модель вихідної та двоїстої задач, знайти оптимальні плани x0 і y0;
дати економічне тлумачення основних і додаткових змінних вихідної та двоїстої задач;
проаналізувати доцільне розширення асортименту продукції за рахунок включення нової продукції П5;
установити діапазони зміни вихідних даних за ресурсами і ціною од. продукції, за яких структура оптимального плану не змінюється.
Таблиця 7– Дані задачі розподілу ресурсів
Обсяг ресурсів: трудових, матеріальних, верстатних |
Норми витрат ресурсів на од. продукції |
Нова продукція |
||||
П-1 |
П-2 |
П-3 |
П-4 |
П-5 |
||
3000 |
3 |
4 |
4 |
5 |
5 |
|
5000 |
2 |
0 |
3 |
4 |
6 |
|
8000 |
10 |
12 |
10 |
8 |
9 |
|
Ціна од. продукції |
46 |
12 |
10 |
8 |
50 |
Розв’язок
1.Складемо
математичні моделі вихідної та двоїстої
задач, позначивши через
план
випуску j-го виду продукції, а через
вартість
одиниці i-го ресурсу. Тоді за формулами
[2;3;5] математичні моделі вихідної та
двоїстої задач мають вигляд:
вихідна задача двоїста задача
max=46X1+12X2+10X3+8X4 min f =3000У1+5000У2+8000У3
3X1+4X2+4X3+5X4≤3000 3У1+2У2+10У3≥46
2X1+3X3+4X4≤5000 4У1+12У3≥12
10X1+12X2+10X3+8X4≤8000 4У1+3У2+10У3≥10
5У1+4У2+8У3≥8
Xj0
Yi0
Для рішення симплекс-методом перейдемо в обмеженнях до рівностей шляхом уведення додаткових змінних
вихідна задача двоїста задача
max=46X1+12X2+10X3+8X4+0(X5+X6+X7) min f =3000У1+5000У2+8000У3
3X1+4X2+4X3+5X4+X5 =4000 3У1+2У2+10У3-У4 =46
2X1+3X3+4X4+X6 =5000 4У1+12У3 -У5 =12
10X1+12X2+10X3+8X4+X7=8000 4У1+3У2+10У3-У6 =10
5У1+4У2+8У3-У7 =8
Xj0
Yi0
У вихідній задачі 7 змінних і 3 обмеження, причому додаткові змінні є базисними. Тому цю задачу відразу можна розв´язувати симплекс-методом. У двоїстій задачі 7 змінних і 4 обмеження, причому для розв´язування симплекс-методом треба вводити штучний базис, а це ще плюс 4 змінні. Тому вихідну задачу розв´язувати простіше. Запишемо її дані в симплекс-таблицю 10 і виконаємо розв´язування за алгоритмом симплексного методу. У результаті після однієї ітерації перерахування таблиці одержали в оцінному рядку всі ∆j≥0. Виходить, отриманий опорний план вихідної задачі X1=800; X2=X3=X4=0; X5=600; X6=3400; X7=0, оптимальний.
Цей
план випуску продукції
=(800;0;0;0;600;3400;0)
забезпечує її максимальну сумарну
вартість max Z = 36800 грощ. од.
2. Для того, щоб знайти оптимальний план двоїстої задачі, визначимо взаємозв'язок змінних двоїстих задач і економічний зміст їх додаткових змінних. Для вихідної задачі i- а додаткова змінна
залишок
i-го ресурсу
для
опорного плану вихідної задачі,
,
i-а змінна двоїстої задачі, означає ціну за одиницю цього ресурсу.
Таблиця 8 – Симплекс-таблиця для задачі розподілу ресурсів
Базис. змін. |
Cb |
Xb |
46 |
12 |
10 |
8 |
0 |
0 |
0 |
Θo |
||||||||
X1 |
X2 |
X3 |
X4 |
X5 |
X6 |
X7 |
||||||||||||
X5 |
0 |
3000 |
3 |
4 |
4 |
5 |
1 |
0 |
0 |
1000 |
||||||||
X6 |
0 |
5000 |
2 |
0 |
3 |
4 |
0 |
1 |
0 |
2500 |
||||||||
X7 |
0 |
8000 |
10 |
12 |
10 |
8 |
0 |
0 |
1 |
800 |
||||||||
Z = |
0 |
-46 |
-12 |
-10 |
-8 |
1 |
0 |
0 |
|
|||||||||
X5 |
0 |
600 |
0 |
0.4 |
1 |
2.6 |
0 |
1 |
-0.3 |
|
||||||||
X6 |
0 |
3400 |
0 |
-2.4 |
1 |
2.4 |
0 |
1 |
-0.2 |
|
||||||||
X1 |
46 |
800 |
1 |
1.2 |
1 |
0.8 |
0 |
0 |
0.1 |
|
||||||||
Z = |
36800 |
0 |
43.2 |
36 |
28.8 |
0 |
0 |
4.6 |
|
|||||||||
|
|
|
У4 |
У5 |
У6 |
У7 |
У1 |
У2 |
У3 |
|
Для двоїстої задачі j-а додаткова змінна,
,
різниця між сумарною вартістю витрат усіх ресурсів ym+j на одиницю j-го виду продукції та вартістю за одиницю цієї продукції. Тому ym+j (j=1,…,n) можна трактувати як характеристику рентабельності випуску j-го виду продукції. Якщо ym+j>0, тоді випуск j-го виду продукції не рентабельний (витрати більші за ціну), якщо ym+j=0, тоді випуск j-го виду продукції рентабельний. У зв´язку за вищевикладеним, основним змінним однієї задачі відповідають додаткові змінні іншої, тобто
Xn+i
Yi ,
,
Ym+i
Xi ,
.
Причому для оптимальних планів цих задач з [2;3;5] випливає, що
,
(1)
.
(2)
З огляду на те, що всі змінні від´ємні, з (1) і (2) одержимо для оптимальних планів
X0n+i=0 y0i>0 чи X0n+i>0 Y0i=0 ,
Y0m+j=0 X0j>0 чи Y0m+j>0 X0j=0 . (3)
З (3) випливає: для оптимальних планів двоїстих задач:
1) якщо i-й ресурс цілком використовується, (X0n+i=0) , тоді його ціна Y0i>0, якщо ні, (X0n+i>0) , тоді його ціна y0i=0, (j=1,…,m);
2) якщо витрати на випуск одиниці j-го виду продукції більші за її ціну, Y0m+j>0, то ця продукція не випускається, X0j=0, якщо Y0m+j=0, тоді випуск j-го виду продукції рентабельний і X0j>0, (j=1,…,n).
З огляду на вищесказане і відповідність змінних, знайдемо оптимальний план двоїстої задачі за даними симплекс-таблиці з оптимальним планом.
Одержимо
=(0;0;4,6;0;43,2;36;28,8).
З симплекс-таблиці з оптимальним планом випливає, що min f = max Z = 36800 грош.од..
З огляду на економічний зміст змінних двоїстих задач проведемо економічний аналіз результатів.
Рентабельний тільки випуск продукції першого виду (y04=0) у кількості X01=800 од. Випуск інших видів продукції не рентабельний, при випуску одиниці продукції цих видів збитки складуть, відповідно, 43,2(У05), 36(У06), 28,8(У07) грош. одиниць. Тому X02=X03=X04=0. При такому плані випуску максимальна вартість випущеної продукції складе 36800 грош.од..При цьому верстатні ресурси цілком витратяться, їхній залишок X07=0, вони дефіцитні, їхня ціна за одиницю складе В03=4,6 грош.од..Трудові та матеріальні ресурси витрачаються не цілком, вони не дефіцитні. Тому їхня ціна за одиницю У01=У02=0, залишки, відповідно, X05=600 і X06=3400 од..
З огляду на вищевикладене, для збільшення сумарної вартості випущеної продукції необхідно збільшувати запаси дефіцитного ресурсу–верстатного.
З [2;3;5] випливає, що
.
(4)
Тому збільшення запасу верстатного ресурсу b3 на одиницю призведе до збільшення максимальної сумарної вартості випущеної продукції на В03 =
4,6 грош. од..
3) Досліджуємо допустимі межі зміни дефіцитного ресурсу, усередині яких змінні, що входять в оптимальний базис, не змінюються, тобто не змінюється асортимент продукції, що випускається, а змінюється тільки її обсяг залежно від збільшення чи зменшення ресурсу на ∆b. Якщо дефіцитним є i-й ресурс, то, з огляду на лінійність матричних перетворень, можна показати [2;3;5], що новий оптимальний план при зміні i-го ресурсу на ∆bi буде
,
(5)
причому
.
(6)
З (5) і (6) знайдемо ∆b3 при m=4 . Отримаємо
Тоді b3 буде змінюватися
8000-8000≤b3≤8000+2000, 0≤b3≤10000
Таким чином, якщо ринок не насичений продукцією першого виду і є конкуренти, підприємству доцільно зменшити запаси трудових і матеріальних ресурсів на 600 і 3400 од., відповідно, і за рахунок цих засобів закупити 2000 од. верстатних ресурсів. Це призведе до збільшення випуску продукції першого виду до X01 = 800+0,1·2000 = 1000 од. і вартості випущеної продукції до 46·1000 = 46000 грош. од., тобто на 4,6·2000 = 9200 грош. од..
Якщо на ринку немає конкурентів з реалізації продукції першого виду, тобто підприємство монополіст, то збільшення вартості продукції можна досягти іншим шляхом– за рахунок збільшення її ціни. Досліджуємо допустимі межі її зміни ∆C. При цьому будемо використовувати оптимальне розв´язання двоїстої задачі В0, що знаходиться в оцінному рядку останньої таблиці. Формули, аналогічні (5), (6) мають вигляд:
,
(7)
причому
,
(8)
де
-
вектор – рядок останньої симплекс-таблиці,
який відповідає виду продукції, що
випускається.
У нашій таблиці це третій рядок. Тоді
∆С1≥0 ∆С1≥0
43,2+1,2∆С1≥0 ∆С1≥-36
36+∆С1≥0 => ∆С1≥-36 => ∆С1≥0.
28,8+0,8∆С1≥0 ∆С1≥-36
4,6+0,1∆С1≥0 ∆С1≥-46
Тоді 46≤C1<∞.
Одержали, що теоретично ціну на продукцію першого виду можна збільшувати необмежено.
4) Проаналізуємо доцільність розширення асортименту за рахунок випуску продукції П-5. Для цього порахуємо для отриманих оптимальних цін на ресурси їхні сумарні витрати на одиницю П-5. Одержимо 5·У01+6·У02+9·У03=5·0 + 6·0 + 9·4,6 = 41,4 грош. од. оскільки витрати менші за заплановану ціну одиниці продукції (41,4 < 50), то випуск продукції П-5 рентабельний і прибуток від випуску одиниці П-5 складе 8,6 грош. од.
Завдання 1.2 Розв´язання транспортної задачі
Є три постачальники і чотири споживачі однорідного продукту. Потужності постачальників і попити споживачів, а також витрати на перевезення одиниці вантажу для кожної пари «постачальник-споживач» зведені в таблицю 9 постачань.
Задача у наступному: знайти об'єми перевезень для кожної пари «постачальник-споживач» так, щоб:
1 потужності всіх постачальників були реалізовані;
2 попити всіх споживачів були задоволені;
3 сумарні витрати на перевезення були мінімальні.
Розв´язок
Поставлено збалансовану транспортну задачу, оскільки сумарний попит дорівнює сумарній потужності постачальників 280.
Для отримання начального опорного плану перевезень скористаємось методом мінімального елемента.
Таблиця 9 – Потужності постачальників і попити споживачів, витрати на перевезення одиниці вантажу
|
Споживачі |
Потужність постачальників ai |
|||||||||
B1 |
B2 |
B3 |
B4 |
|
|||||||
Постачальники |
A1 |
1 |
2 |
5 |
3 |
60 |
|||||
A2 |
1 |
6 |
5 |
2 |
120 |
||||||
A3 |
6 |
3 |
7 |
4 |
100 |
||||||
Попит bj |
20 |
110 |
40 |
110 |
280 |
Для покращення будемо використовувати таблицю 10, у правому верхньому кутку якої стоїть тариф відповідного перевезення, а у лівому нижньому кутку – плановий обсяг перевезення.
Знаходимо в таблиці клітинки з найменшим тарифом. Таких клітин дві- (1;1) і (2;1) із тарифом, що дорівнює 1. Порівнюємо максимально можливі постачання для цих клітинок: для клітинки (1;1) x11=min{60,20}=20, для клітинки (2;1) x21=min{120,20}=20. Оскільки їх значення збігаються, то максимально можливе постачання записуємо в будь-яку з них. Наприклад, записуємо постачання, що дорівнює 20 од. у клітинку (2;1). У результаті попит першого споживача задоволений і перший стовпець таблиці постачань випадає
з наступного розгляду, а виробничу потужність для другого рядка зменшуємо на 20 од. Аналогічним способом продовжуємо заповнювати невикреслені клітинки таблиці. У останній клітинці попит і пропозиція повинні збігтися, оскільки розглядається збалансована задача. Слід зазначити, що в таблиці повинна бути заповнена n+m-1 клітинка перевезень ( де n - число постачальників, m- число споживачів ).
Наприклад, для розглянутої задачі повинно бути заповнено 3+4-1=6 клітин. Остаточно одержуємо початковий опорний план перевезень.
Таблиця 10 – Отримання начального опорного плану перевезень
|
1 |
2 |
3 |
4 |
ai |
||||
1 |
|
1 |
|
2 |
|
5 |
|
3 |
60 |
|
|
60 |
|
|
|
|
|
||
2 |
|
1 |
|
6 |
|
5 |
|
2 |
120 100 |
20 |
|
|
|
|
|
100 |
|
||
3 |
|
6 |
|
3 |
|
7 |
|
4 |
100 |
|
|
50 |
|
40 |
|
10 |
|
||
bj |
20 |
110 |
40 |
110 |
280 |
Тепер скористаємося методом потенціалів, усі розрахунки виконаємо у таблиці 11. Для цього кожному стовпцю припишемо потенціал vj , а кожному рядку - потенціал ui. Для кожної заповненої клітини складемо лінійне рівняння за правилом ui+vj=cij, де cij - тариф відповідного перевезення. Потім розв’яжемо систему 6-ти рівнянь.
Оскільки в рівняннях буде 7 невідомих (3 потенціали u і 4 потенціали v), то довільний потенціал можна дорівняти до нуля.
Тепер для кожної незаповненої клітинки необхідно знайти оцінку ij= ui+vj-cij. Якщо всі оцінки будуть негативними або нульовими, то початковий опорний план є оптимальним.
11=-1+3-1=1; 13=-1+7-5=1; 14=-1+4-3=0; 22=-2+3-6=-5; 23=-2+7-5=0; 31=0+3-6= -3. Оцінки 11 і 13 позитивні, отже, отримане початкове опорне
Таблиця 11– Розрахунки методом потенціалів
|
1 |
2 |
3 |
4 |
ai |
||||||
V1=3 |
V2=3 |
V3=7 |
V4=4 |
||||||||
1 |
U1=-1 |
1 |
1 |
|
2 |
-1 |
5 |
0 |
3 |
60 |
|
|
|
60 |
|
|
|
|
|
||||
2 |
U2=-2 |
|
1 |
-5 |
6 |
0 |
5 |
|
2 |
120 |
|
20 |
|
|
|
|
|
100 |
|
||||
3 |
U3=0 |
-3 |
6 |
|
3 |
|
7 |
|
4 |
100 |
|
|
|
50 |
|
40 |
|
10 |
|
||||
bj |
20 |
110 |
40 |
110 |
|
розв’язання не оптимальне. З оцінок вибираємо найбільшу – 11, отже, у клітинку (1;1) будемо заносити ненульове перевезення. Заносимо в клітинку (1;1) знак «+» і будуємо ланцюг потенціалів, що може проходити тільки по заповнених клітинках, із чергуванням знаків «+» і «-» і повертається у вихідну незаповнену клітину, таблиця 12.
Cеред клітинок, позначених мінусом, вибираємо ту, що містить найменше перевезення. Це клітинка (3;4) з К=Х34 =10. У подальших обчисленнях ця клітинка буде вважатися незаповненою, тому що далі вміст вибраної клітинки,10, додаємо до вмісту клітинок, що позначені «+», і віднімаємо з клітинок, що позначені «-».У таблиці 12 повинна виявитися, як і раніше, n+m-1 заповнена клітинка. Перевіряємо отриманий опорний план на оптимальність.
Таблиця 12 – Перехід до іньшого опорного плану з використанням ланцюга потенціалів
|
1 |
2 |
3 |
4 |
ai |
|||||||||
V1 |
V2 |
V3 |
V4 |
|||||||||||
1 |
U1 |
|
1 |
|
2 |
|
5 |
|
3 |
60 |
||||
+ |
|
- 60 |
|
|
|
|
|
|||||||
2 |
U2 |
|
1 |
|
6 |
|
5 |
|
2 |
120 |
||||
- 20 |
|
|
|
|
|
+ 100 |
|
|||||||
3 |
U3 |
|
6 |
|
3 |
|
7 |
|
4 |
100 |
||||
|
|
+ 50 |
|
40 |
|
- 10 |
|
|||||||
bj |
20 |
110 |
40 |
110 |
|
13=1; 14=-1; 22= -4; 23=1; 31= -4; 34= -1.
Тому що є дві клітини (1;3) і (2;3) з позитивними оцінками, то отриманий опорний план, таблиця 13, не оптимальний. Знайдемо новий опорний план з використанням ланцюга потенціалів, таблиця 13.
Оскільки дві позитивні оцінки набувають однакових позитивних значень, 13=23=1, то можна занести ненульове перевезення або в клітинку (1;3), або в клітинку (2;3). Якщо у ланцюг будє включено клітинку (1;3),таблиця 13, то це перевезення буде дорівнювати 40 од.. Таким чіном одержано новий опорний план, таблиця 14.
Перевіряємо отриманий опорний план на оптимальність.
Таблиця 13 – Отриманий опорний план
|
1 |
2 |
3 |
4 |
ai |
|||||||
V1=2 |
V2=3 |
V3=7 |
V4=3 |
|||||||||
1 |
U1=-1 |
|
1 |
|
2 |
1 |
5 |
-1 |
3 |
60 |
||
10 |
|
- 50 |
|
+ |
|
|
|
|||||
2 |
U2=-1 |
|
1 |
-4 |
6 |
1 |
5 |
|
2 |
120 |
||
10 |
|
|
|
|
|
110 |
|
|||||
3 |
U3=0 |
-4 |
6 |
|
3 |
|
7 |
-1 |
4 |
100 |
||
|
|
+ 60 |
|
- 40 |
|
|
|
|||||
bj |
20 |
110 |
40 |
110 |
|
Таблиця 14 – Оптимальний опорний план
|
1 |
2 |
3 |
4 |
ai |
|||||||
V1=1 |
V2=2 |
V3=5 |
V4=2 |
|||||||||
1 |
U1=0 |
|
1 |
|
2 |
|
5 |
-1 |
3 |
60 |
||
10 |
|
10 |
|
40 |
|
|
|
|||||
2 |
U2=0 |
|
1 |
-4 |
6 |
0 |
5 |
|
2 |
120 |
||
10 |
|
|
|
|
|
110 |
|
|||||
3 |
U3=1 |
-4 |
6 |
|
3 |
-1 |
7 |
-1 |
4 |
100 |
||
|
|
100 |
|
|
|
|
|
|||||
bj |
20 |
110 |
40 |
110 |
|
14= -1; 22= - 4; 23= 0; 31= - 4; 33= -1; 34= -1.
Оскільки серед оцінок немає позитивних, можна сказати, що отриманий опорний план є оптимальним, але не єдиним (23= 0).
У підсумку підприємствам можна запропонувати наступний план перевезень:
При
такому розподілі перевезень потужності
всіх постачальників будуть реалізовані,
попит усіх споживачів задоволений,
сумарні витрати складуть:
грош.
од.
Завдання 2.1 Розв´язання задачі про призначення
У конструкторському бюро потрібно розробити проект машини, що складається із чотирьох вузлів. До їх розробки можна залучити чотирьох конструкторів. Відомий час, що витрачається кожним конструктором на розробку будь-якого вузла. Потрібно визначити, хто і який вузол машини повинен проектувати, щоб сумарний час проектування всієї машини був мінімальним.
Розв´язок
Нехай необхідно розв’язати задачу про призначення, якщо задана матриця витрат часу на розробку будь-якого вузла кожним конструктором:
.
1 Приведемо матрицю до такого вигляду, щоб у кожному стовпці й кожному рядку знаходився хоча б один нуль. Для цього знайдемо в кожному рядку матриці мінімальний елемент і віднімемо його від усіх елементів відповідного рядка. Аналогічні перетворення виконаємо також з елементами стовпців.
2 Якщо після першого кроку можливий вибір чотирьох незалежних нулів, тоді можна стверджувати, що задача розв’язана. Незалежні нулі для зручності будемо позначати (*). При розставленні позначок найкраще вибирати рядок або стовпець, що містять найменшу кількість нулів. У цьому рядку (стовпці) вибираємо нуль, позначаємо його і викреслюємо інші нулі в рядку чи стовпці, на перетині яких знаходиться вибраний (або незалежний) нуль. Позначки ставимо доти, доки в матриці існують вільні (непозначені або невикреслені) нулі.
У розглянутому прикладі не вдалося відразу ж одержати оптимальне розв’язання, отже, переходимо до виконання третього кроку.
3 Проведемо мінімальне число горизонтальних і вертикальних ліній, що перетинають, принаймні, один раз усі нулі. Для задач невеликої розмірності візуально легко нанести шукані лінії, для більш складних зручно використати наступний алгоритм:
1. Позначаємо всі рядки, що не містять незалежних нулів.
2. Позначаємо всі стовпці, що містять нуль хоча б в одному позначеному рядку.
3. Позначаємо всі рядки, що містять незалежні нулі в позначених стовпцях.
Кроки 2 і 3 виконуємо доти, доки можливо ставити позначки. Далі викреслюємо непозначені рядки і позначені стовпці.
EMBED
Equation.3
EMBED
Equation.3
EMBED
Equation.3
EMBED
Equation.3
Якщо виявилося, що кількість ліній дорівнює n ,тоді необхідно повернутися на попередній крок (позначки нулів) і знову вибрати незалежні нулі. Такий варіант можливий, якщо при проставлянні позначок 2 або більше нулів у рядку мали «однакове право» бути незалежними.
4 Серед елементів, через які не пройшла жодна з ліній, вибираємо найменший. Віднімаємо це число від усіх елементів, через які не пройшла жодна лінія, і додаємо його до всіх елементів, через які проведені дві лінії.
5
Повертаємося
до кроку вибору незалежних нулів. У
розглянутому прикладі одержуємо відразу
два оптимальних розв’язання:
1-ше завдання 1-й ресурс;
2-ге завдання 2-й ресурс (або 4-й ресурс);
3-тє завдання 3-й ресурс;
4-те завдання 4-й ресурс (або 2-й ресурс).
У результаті такого призначення система виконає всі завдання за 17 умовних одиниць часу.
Зауваження. У тому випадку, якщо необхідно розв’язати задачу отримання максимального значення функції мети, можна скористатися наступною формулою переходу, що слушна для будь-якої задачі лінійного і нелінійного програмування: min (L) = - max (-L) (тобто елементи матриці С помножити на (-1) ).
Завдання 2.2 Розв’язати задачу цілочислового програмування
Розв’язання
Зведемо ЗЛП до канонічного вигляду, помноживши перше рівняння на –1.
Оскільки
в рівняннях обмежень відсутні базисні
змінні, то введемо штучні базисні змінні
,
і розв’яжемо М-задачу в симплекс-таблиці
15.
Оскільки
,
то отриманий план ЗЛП:
не
цілочисловий. Застосуємо метод Гоморі
і знайдемо розв’язання ЗЦП.
Таблиця 15– Симплекс-таблиця М-задачі
|
|
с |
2 |
-1 |
-5 |
-3 |
М |
М |
|
хб |
сб |
xi |
x1 |
x2 |
х3 |
х4 |
x5 |
х6 |
Q |
х5 |
М |
7 |
-1 |
2 |
3 |
1 |
1 |
0 |
7/3 |
x6 |
М |
6 |
2 |
1 |
-1 |
3 |
0 |
1 |
6/3 |
без М |
|
0 |
-2 |
1 |
5 |
3 |
0 |
0 |
∆'j |
с М |
|
13 |
1 |
3 |
2 |
4 |
0 |
0 |
∆''j |
х5 |
М |
5 |
-5/3 |
5/3 |
10/3 |
0 |
1 |
-1/3 |
1,5 |
х4 |
-3 |
2 |
2/3 |
1/3 |
-1/3 |
1 |
0 |
1/3 |
|
без М |
|
-6 |
-4 |
0 |
6 |
0 |
0 |
-1 |
∆'j |
с М |
|
5 |
-5/3 |
5/3 |
10/3 |
0 |
0 |
-4/3 |
∆''j |
x3 |
-5 |
1,5 |
-0,5 |
0,5 |
1 |
0 |
0,3 |
-0,1 |
|
х4 |
-3 |
2,5 |
0,5 |
0,5 |
0 |
1 |
0,1 |
0,3 |
|
без М |
f |
-15 |
-1 |
-3 |
0 |
0 |
-1,8 |
-0,4 |
∆'j |
с М |
|
0 |
0 |
0 |
0 |
0 |
-1 |
-1 |
∆''j |
Складемо правильне відсікання
Оскільки
,
то для побудови відсікання можна взяти
будь-який рядок, наприклад, другий.
Одержимо
Додамо це обмеження новим рядком до симплекс-таблиці 16.
Оскільки
j
,
то отриманий план:
, оптимальний, цілочисловий,
Зауваження. Якщо розв’язувати ЗЦП на максимум функції мети f, тоді штучні базисні змінні додаються до функції мети з коефіцієнтами – М.
Таблиця 16 – Симплекс-таблиця
|
|
|
2 |
-1 |
-5 |
-3 |
0 |
|
Хб |
Сб |
Xі |
X1 |
X2 |
X3 |
X4 |
X5 |
Q |
x3 |
-5 |
1,5 |
-0,5 |
0,5 |
1 |
0 |
0 |
|
х4 |
-3 |
2,5 |
0,5 |
0,5 |
0 |
1 |
0 |
0,5 |
х5 |
0 |
-0,5 |
-0,5 |
-0,5 |
0 |
0 |
1 |
1 |
f |
= |
-1,5 |
-1 |
-3 |
0 |
0 |
0 |
j |
x3 |
-5 |
2 |
0 |
2 |
1 |
0 |
-1 |
|
х4 |
-3 |
2 |
0 |
0 |
0 |
1 |
1 |
|
x1 |
2 |
1 |
1 |
1 |
0 |
0 |
-2 |
|
f |
= |
-14 |
0 |
-2 |
0 |
0 |
-2 |
j |
Задача 3.1 Про розподіл капіталовкладень між чотирма підприємствами
Знайти оптимальний план розподілу капіталовкладень S= 25 грош. один.. між чотирма підприємствами, якщо приріст випуску продукції для i-го підприємства, ri(x), і=1,…,4, залежно від обсягу капіталовкладень, x, відомий і заданий у таблиці 17.
Таблиця 17 – Обсяг капіталовкладень і приріст випуску продукції для підприємств
Обсяг кап. вкладень X |
Приріст продукції по i-му підприємству |
|||
r1(x) |
r2(x) |
r3(x) |
r4(x) |
|
5 |
18 |
20 |
16 |
20 |
10 |
20 |
21 |
27 |
23 |
15 |
27 |
31 |
34 |
26 |
20 |
31 |
37 |
40 |
31 |
25 |
40 |
40 |
41 |
40 |
Розв΄язок. Нехай xk - обсяг капітальних вкладень, виділених k-му підприємству k=1,2,3,4, x - обсяг капітальних вкладень, виділених на n підприємств, fn(x)– сумарний максимальний прибуток від n-підприємств при виділенні їм капіталовкладень обсягу х.
Тоді функціональні рівняння Беллмана:
.
Перший
етап: n=1
,
тому що r1(x)
–
зростаюча
функція. Значення функції f1(x)
наведені у таблиці 18.
Таблиця 18 – начення функції f1(x)
x |
5 |
10 |
15 |
20 |
25 |
f1(x) |
18 |
20 |
27 |
31 |
40 |
Другий
етап: n=2 ,
.
Усі обчислення для знаходження значень функції f2(x) проведемо у таблиці 19.
Таблиця19 – Результати розрахунків другого етапу
x2 x |
0 |
5 |
10 |
15 |
20 |
25 |
f2(x) 90 |
x2* |
5 |
0+18 |
20+0 |
- |
- |
- |
- |
20 |
5 |
10 |
0+20 |
20+18 |
21+0 |
- |
- |
- |
38 |
5 |
15 |
0+27 |
20+20 |
21+18 |
31+0 |
- |
- |
40 |
5 |
20 |
0+31 |
20+27 |
21+20 |
31+18 |
37+0 |
- |
49 |
15 |
25 |
0+40 |
20+31 |
21+27 |
31+20 |
37+18 |
40+0 |
55 |
20 |
x2* – оптимальне значення обсягу капітальних вкладень, виділених 2-му підприємству, при 0 ≤ х2 ≤ х.
Третій
етап: n=3 ,
.
Усі обчислення для знаходження значень функції f3(x) проведемо у таблиці 20.
Таблиця 20 – Результати розрахунків третього етапу
x3 x |
0 |
5 |
10 |
15 |
20 |
25 |
f3(x) 90 |
x3* |
5 |
0+20 |
16+0 |
- |
- |
- |
- |
20 |
0 |
10 |
0+38 |
16+20 |
27+0 |
- |
- |
- |
38 |
0 |
Продовження таблиці 20
15 |
0+40 |
16+38 |
27+20 |
34+0 |
- |
- |
54 |
5 |
20 |
0+49 |
16+40 |
27+38 |
34+20 |
40+0 |
- |
65 |
10 |
25 |
0+55 |
16+49 |
27+40 |
34+38 |
40+20 |
41+0 |
72 |
15 |
х3* – оптимальне значення обсягу капітальних вкладень, виділених 3-му підприємству, при 0 ≤ х3 ≤ х.
Четвертий
етап: n=4 ,
.
Усі обчислення для знаходження значень функції f4(x) проведемо у таблиці 21.
Таблиця 21 – Результати розрахунків четвертого етапу
x4 x |
0 |
5 |
10 |
15 |
20 |
25 |
f4(x) 90 |
x4* |
5 |
0+20 |
20+0 |
- |
- |
- |
- |
20 |
0;5 |
10 |
0+38 |
20+20 |
23+0 |
- |
- |
- |
40 |
5 |
15 |
0+54 |
20+38 |
23+20 |
26+0 |
- |
- |
58 |
5 |
20 |
0+65 |
20+54 |
23+38 |
26+20 |
31+0 |
- |
74 |
5 |
25 |
0+72 |
20+651 |
23+54 |
26+38 |
31+20 |
40+0 |
85 |
5 |
х4* – оптимальне значення обсягу капітальних вкладень, виділених 4-му підприємству, при 0 ≤ х4 ≤ х.
Висновки. При розподілі між чотирма підприємствами грошової суми в 25 грош. один. при таких обсягах капітальних вкладення у підприємства буде сумарний максимальний приріст випуску продукції :
четвертому підприємству 5 грош. один., що забезпечить приріст продукції 20 грош. один.;
третьому підприємству з 20 грош. один., що залишилися – 10 грош. один., що забезпечить приріст продукції у 27 грош. один.;
другому підприємству з 10 грош. один., що залишилися – 5 грош. один., що забезпечить приріст продукції у 20 грош. один.;
першому підприємству 5 грош. один., що залишилися, що забезпечить приріст продукції у 18 грош. один..
Перевірка. 20 + 27 + 20 + 18 = 85 = f4(x).