- •Вибір варіанта завдання
- •Частина 1. Лінійне і цілочисельне програмування геометрична інтепретація задач лінійного програмування
- •Завдання №1
- •Симплексний метод вирішення загальної задачі лінійного програмування
- •Завдання 2
- •Транспортна задача
- •Завдання №3
- •Задача вибору або задача про призначення
- •Завдання №4
- •Частина 2. Нелінійне програмування методи одновимірної пошукової оптимізації
- •Завдання №5
- •Нелінійна багатовимірна безумовна оптимізація
- •Завдання №6
- •Нелінійна багатовимірна умовна оптимізація
- •Завдання №7
- •Теорія розкладу. Задача джонсона
- •Завдання 8
- •Література
- •Кременчуг - 2001
Транспортна задача
Важливим окремим випадком задачі лінійного програмування є транспортна задача.
Постановка задачі: Існує n пунктів виробництва однорідного продукту і m пунктів його використання. Відомі об'єми виробництва й об'єми використання в кожному описаному пункті. Визначено матрицю перевезень (витрат або тарифів на перевезення) одиниці продукції з кожного пункту виробництва в кожний пункт споживання. Необхідно скласти план перевезень із пунктів виробництва в пункти споживання таким чином, щоб був цілком задоволений попит на продукцію, а витрати на перевезення були мінімальними.
Математична модель задачі має вигляд:
Нехай xij це об'єм продукції що перевозиться з i-го пункту виробництва в j-й пункт споживання, тоді функцією цілі, буде функція сумарних витрат на перевезення всієї продукції.
min
Обмеження:
Транспортна задача є збалансованою, якщо сумарний попит дорівнює сумарній пропозиції.
ai – загальний об'єм виробництва на і-му пункті виробництва
bj – загальний об'єм споживання j-го пункту споживання
Для рішення транспортної задачі на початку необхідно вибрати припустиме рішення одним з методів із методів північно-західного кута, мінімального елемента, Фогеля, а далі це рішення перевірити на оптимальність методом потенціалів.
Є три постачальники і чотири споживачі однорідного продукту. Потужності постачальників і попити споживачів, а також витрати на перевезення одиниці вантажу для кожної пари «постачальник-споживач» зведені в таблицю постачань.
У кожній клітині таблиці записано коефіцієнт витрат (тариф) на перевезення одиниці вантажу від i-го постачальника до j-го споживача, наприклад, у клітині (1,4) стоїть число 3, отже, перевезення одиниці вантажу від 1-го постачальника до 4-го споживача обійдеться в 3 умовних одиниці.
|
Споживачі |
Потужність постачальників |
||||
1 |
2 |
3 |
4 |
|||
постачальники |
1 |
1 |
2 |
5 |
3 |
60 |
2 |
1 |
6 |
5 |
2 |
120 |
|
3 |
6 |
3 |
7 |
4 |
100 |
|
Попит |
20 |
110 |
40 |
110 |
280 |
Задача у наступному: знайти об'єми перевезень для кожної пари «постачальник-споживач» так, щоб:
потужності всіх постачальників були реалізовані;
попити всіх споживачів були задоволені;
сумарні витрати на перевезення були мінімальні.
Поставлено збалансовану транспортну задачу, оскільки сумарний попит дорівнює сумарній потужності постачальників 280.
Існує декілька методів отримання начального плану перевезень, що описані у методичних вказівках до виконання практичних робіт з курсу “Методи оптимізації”. Скористаємось методом мінімального елемента.
-
Для покращення будемо використовувати таблицю, в правому верхньому кутку якої стоїть тариф відповідного перевезення, а в лівому нижньому кутку – плановий об`єм перевезення.
1
2
3
4
aj
1
1
2
5
3
60
2
1
6
5
2
120
100
20
3
6
3
7
4
100
bi
20
110
40
110
Знаходимо в таблиці клітини з найменшим тарифом. Таких клітин дві- (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
клітин. Остаточно одержуємо початковий
опорний план перевезень. Тепер
скористаємося методом
потенціалів.
Для цього кожному стовпцю припишемо
потенціал vj
|
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 |
|
потенціал vj , а кожному рядку - потенціал ui. Для кожної заповненої клітини складемо лінійне рівняння за правилом ui+vj=cij, де cij - тариф відповідного перевезення. Потім вирішимо систему 6-ти рівнянь. Оскільки в рівняннях буде 7 невідомих (3 потенціали u і 4 потенціали v), то довільний потенціал можна дорівняти до нуля.
Тепер
для кожної незаповненої клітини
необхідно знайти оцінку ij=
ui+vj-cij.
Якщо всі оцінки будуть негативним або
нульовими, то початковий опорний план
є оптимальним.
11=-1+3-1=2; 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,1) будемо заносити ненульове перевезення. Заносимо в клітину (1,1) знак «+» і будуємо ланцюг потенціалів, що може проходити тільки по заповнених клітинах, із чергуванням знаків «+» і «-» і повертається у вихідну клітину.
Cеред клітин,
позначених мінусом, вибираємо ту, що
містить найменше перевезення. У
подальших обчисленнях ця клітина
буде вважатися порожньою. Далі вміст
обраної клітини додаємо до вмісту
клітин, що позначені «+», і віднімаємо
з клітин, що позна-
|
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 |
|
чені «-».У таблиці повинна виявитися, як і раніше, n+m-1 заповнена клітина.
Перевіряємо
отриманий опорний план на оптимальність.
13=1;
14=-1;
22=
-4; 23=1; 31=
-4; 34=
-1
|
1 |
2 |
3 |
4 |
ai |
|||||
V1 |
V2 |
V3 |
V4 |
|||||||
1 |
U1 |
|
1 |
|
2 |
|
5 |
|
3 |
60
|
10 |
|
- 50 |
|
+
|
|
|
|
|||
2 |
U2 |
|
1 |
|
6 |
|
5 |
|
2 |
120
|
10 |
|
|
|
|
|
110 |
|
|||
3 |
U3 |
|
6 |
|
3 |
|
7 |
|
4 |
100 |
|
|
+ 60 |
|
- 40 |
|
|
|
|||
bj |
20 |
110 |
40 |
110 |
|
Оскільки дві позитивні оцінки набувають однакових позитивних значень, то можна занести ненульове перевезення або в клітину (1,3), або в клітину (2,3).
Перевіряємо
отриманий опорний план на оптимальність.
14=
-1; 22=
-4; 23=
0; 31=
-4; 33=
-1; 34=
-1 |
1 |
2 |
3 |
4 |
ai |
|||||
V1 |
V2 |
V3 |
V4 |
|||||||
1 |
U1 |
|
1 |
|
2 |
|
5 |
|
3 |
60
|
10 |
|
10 |
|
40 |
|
|
|
|||
2 |
U2 |
|
1 |
|
6 |
|
5 |
|
2 |
120
|
10 |
|
|
|
|
|
110 |
|
|||
3 |
U3 |
|
6 |
|
3 |
|
7 |
|
4 |
100 |
|
|
100 |
|
|
|
|
|
|||
bj |
20 |
110 |
40 |
110 |
|
Оскільки серед оцінок немає позитивних, можна сказати, що отриманий опорний план є оптимальним, але не єдиним (23= 0).
У підсумку підприємствам можна запропонувати наступний план перевезень:
При такому розподілі
перевезень потужності всіх постачальників
будуть реалізовані, попит усіх споживачів
задоволений, сумарні витрати складуть:
ден.
ед.