Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metodichni_vkazivki_z_kursovoyi_roboti_DOvTS.doc
Скачиваний:
62
Добавлен:
28.02.2016
Размер:
5.33 Mб
Скачать

П’ята ітерація тт

B1

B2

B3

B4

Запаси

ai

ai'

A1

4

70

7

2

5

100

7-4=3

100-70=30

A2

3

10

6

1

110

8

0

К

A3

9

3

70

6

2

70

0

К

Заявки

bj

70

30

0

0

100

4-4=0

К

7-7=0

К

К

bj'

70-70=0

Таблиця 44

Шоста ітерація тт

B1

B2

B3

B4

Запаси

ai

ai'

A1

4

70

7

30

2

5

30

7-7=0

К

30-30=0

A2

3

10

6

1

110

8

0

К

A3

9

3

70

6

2

70

0

К

Заявки

bj

0

30

0

0

30

К

7-7=0

К

К

К

bj'

30-30=0

В результаті одержано (m + n - 1) = 6 перевезень вантажу, отже складений опорний план не вироджений і ми можемо порахувати вартість його реалізації:

у.г.о.

4. МЕТОДИ ЗНАХОДЖЕННЯ ОПТІМАЛЬНИХ ПЛАНІВ

ПЕРЕВЕЗЕНЬ ВАНТАЖУ

4.1. Симплексний метод оптимізації транспортних перевезень

Існує безліч методів оптимізації ТЗ, а точніше приведення до оптимального плану перевезень складеного раніше опорного (базисного) плану. До основних належать розподільний метод, метод потенціалів, метод диференційних рент.

Оскільки ТЗ є окремим випадком загальної задачі ЛП (ЗЗЛП), то до неї також цілком можливо застосувати всі стандартні методи її розв’язання (зокрема найвідоміший з них – симплексний метод), попередньо привівши ТЗ до вигляду задачі ЛП і врахувавши її специфічність. Для цього необхідно провести над математичною моделлю ТЗ ряд перетворень. Ці перетворення будемо здійснювати на конкретному прикладі ТЗ, а саме для m постачальників (m=3) і n споживачів продукції (n=4) (див. табл. 1).

а) спочатку запишемо вихідну систему рівнянь ТЗ у такому вигляді:

|| || || ||

b1 b2 b3 b4

де: xij кількість продукції, відправленої від і-го постачальника до j-го споживача;

аi – обсяг продукції наявної у і-го постачальника ( i=1, 2, 3);

bj обсяг продукції необхідної j-ому споживачу (j=1, 2, 3, 4).

б) подамо її у вигляді системи (т + n) лінійних рівнянь таким чином:

в) замінимо x11 на x1, x12 на x2, x13 на x3, . . ., x34 на x12. Маємо:

г) додамо, як того вимагає симплексний метод, до всіх рівнянь додаткові перемінні, які становитимуть початковий базисний розв’язок ТЗ:

У результаті цих перетворень ми утворили систему (т + п) лінійних рівнянь з (mп + т+ n) позитивними перемінними, розв’язати яку можна за допомогою симплекс-методу. Оскільки сума рівнянь системи в рядках дорівнює сумі рівнянь системи в стовпцях, то ми одержали лінійно-залежну систему рівнянь. Щоб привести її до нормального (лінійно-незалежного) виду, одне з рівнянь системи (переважно останнє) можна без шкоди для кінцевого результату розв’язку ТЗ відкинути. Тоді ми матимемо (т + п – 1) лінійних рівнянь і (mп + т+ n - 1) перемінних.

Необхідно також відзначити те, що у класичній ТЗ перевезти продукцію від усіх постачальників (аi) потрібно так, щоб усі замовлення були виконані (bj), а загальна вартість (L) транспортних перевезень була б мінімальною, тобто:

,

де: с1 , с2, ... сk вартість перевезення одиниці продукції від кожного постачальника до кожного споживача (k = 1,т п).

Розглянемо розв'язання ТЗ на конкретному прикладі, умови якого дані у вигляді ТТ (табл. 45) , де т = 3 , n = 4. Відповідно, кількість рівнянь становитиме (m + n – 1 ) = 6, кількість вихідних перемінних – (m × n) = 12 і кількість додаткових перемінних – (т + п – 1) = 6.

Таблиця 45

Дані ТЗ у вигляді ТТ

B1

B2

B3

B4

Запаси

ai

A1

c1 = 4

x1

c2 = 7

x2

c3 = 2

x3

c4 = 5

x4

100

A2

c5 = 3

x5

c6 = 6

x6

c7 = 1

x7

c8 = 8

x8

120

A3

c9 = 9

x9

c10 = 3

x10

c11 = 6

x11

c12 = 2

x12

140

Заявки

bj

80

100

110

70

360

Запишемо умову нашої ТЗ у термінах ЗЗЛП.

Необхідно мінімізувати цільову функцію L = 4× x1 +7 × x2 +2 × x3 +5 × x4 +3 × x5 + 6 × x6 +1×x7+8 × x8 +9 × x9 +3 × x10 + 6 × x11 +2×x12,

за таких обмежень:

тобто кількість рівнянь становить 6, а кількість вихідних перемінних дорівнює 12.

Вводимо до обмежень нові змінні x13, x14, x15, x16, x17, x18. Значення відповідних коефіцієнтів впливу вибираємо набагато більші ніж існують. У нашому випадку приймемо за цю величину суму всіх коефіцієнтів при невідомих у початковій цільовій функції, тобто 56. Завдяки цьому перемінні x13, x14, x15, x16, x17, x18 з базисних поступово будуть переведені у вільні, що забезпечує тим самим мінімум цільової функції. Після введення нових перемінних маємо:

L = 4× x1 +7 × x2 +2 × x3 +5 × x4 +3 × x5 + 6 × x6 +1×x7+8 × x8 +9 × x9 +3 × x10 + 6 × x11 +2×x12+56 × x13 +56 × x14 +56 × x15 + 56 × x16 +56×x17+56 × x18, → min,

за обмежень

Остаточна кількість рівнянь k = 6; кількість перемінних l = 18.

За базисні обираємо x13, x14, x15, x16, x17, x18 і отримуємо перше базисне рішення X = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 120, 140, 80, 100, 110}, що забезпечує L = 56 × 100 + 56 × 120 +56 × 140 + 56 × 80 + 56 × 100 +56 × 110 = 36400 у.г.о.

Складемо першу симплекс-таблицю (СТ) – табл. 46. У першому рядку цієї таблиці знаходяться значення коефіцієнтів cj при невідомих цільової функції; у першій графі СТ розташовані значення коефіцієнтів cбі при базових невідомих цільової функції; друга графа містить самі базові невідомі хбі; третя – значення базових невідомих bбi (у першій СТ це значення правих частин останньої системи рівнянь) і частина СТ, що залишилася, крім останнього рядка, зайнята коефіцієнтами aij при невідомих також останньої системи рівнянь.

Останній рядок (індексний ряд) служить для розрахунків індексів j , що є характеристиками оптимальності отриманого плану. Індекси розраховуються за допомогою наступних формул:

Таблиця 46

Перша СТ

4

7

2

5

3

6

1

8

9

3

6

2

56

56

56

56

56

56

cбі

хбі

bбі

х1

х2

х3

х4

х5

х6

х7

х8

х9

х10

х11

х12

х13

х14

х15

х16

х17

х18

56

х13

100

1

1

1

1

0

0

0

0

0

0

0

0

1

0

0

0

0

0

56

х14

120

0

0

0

0

1

1

1

1

0

0

0

0

0

1

0

0

0

0

56

х15

140

0

0

0

0

0

0

0

0

1

1

1

1

0

0

1

0

0

0

56

х16

80

1

0

0

0

1

0

0

0

1

0

0

0

0

0

0

1

0

0

56

х17

100

0

1

0

0

0

1

0

0

0

1

0

0

0

0

0

0

1

0

56

х18

110

0

0

1

0

0

0

1

0

0

0

1

0

0

0

0

0

0

1

0 = 36400

1=

108

2=105

3=110

4=51

5=109

6=106

7=111

8=48

9=103

10=109

11=

106

12=54

13=0

14=0

15=0

16=0

17=0

18=0

Вважається, що отримане рішення хбі є оптимальним, якщо.

Порахуємо значення індексів для першої СТ:

0 = 56 × 100 + 56 × 120 +56 × 140 + 56 × 80 +56 × 100 + 56 × 110 = 36400 у.г.о.

1 = 56 × 1 + 56 × 0 +56 × 0 + 56 × 1 +56 × 0 + 56 × 0 – 4 = 108

2 = 56 × 1 + 56 × 0 +56 × 0 + 56 × 0 +56 × 1 + 56 × 0 – 7 = 105

3 = 56 × 1 + 56 × 0 +56 × 0 + 56 × 0 +56 × 0 + 56 × 1 – 2 = 110

4 = 56 × 1 + 56 × 0 +56 × 0 + 56 × 0 +56 × 0 + 56 × 0 – 5 = 51

5 = 56 × 0 + 56 × 1 +56 × 0 + 56 × 1 +56 × 0 + 56 × 0 – 3 = 109

6 = 56 × 0 + 56 × 1 +56 × 0 + 56 × 0 +56 × 1 + 56 × 0 – 6 = 106

7 = 56 × 0 + 56 × 1 +56 × 0 + 56 × 0 +56 × 0 + 56 × 1 – 1 = 111

8 = 56 × 0 + 56 × 1 +56 × 0 + 56 × 0 +56 × 0 + 56 × 0 – 8= 48

9 = 56 × 0 + 56 × 0 +56 × 1 + 56 × 1 +56 × 0 + 56 × 0 – 9 = 103

10 = 56 × 0 + 56 × 0 +56 × 1 + 56 × 0 +56 × 1 + 56 × 0 – 3 = 109

11 = 56 × 0 + 56 × 0 +56 × 1 + 56 × 0 +56 × 0 + 56 × 1 – 6 = 106

12 = 56 × 0 + 56 × 0 +56 × 1 + 56 × 0 +56 × 0 + 56 × 0 – 2 = 54

13 = 56 × 1 + 56 × 0 +56 × 0 + 56 × 0 +56 × 0 + 56 × 0 – 56 = 0

14 = 56 × 0 + 56 × 1 +56 × 0 + 56 × 0 +56 × 0 + 56 × 0 – 56 = 0

15 = 56 × 0 + 56 × 0 +56 × 1 + 56 × 0 +56 × 0 + 56 × 0 – 56 = 0

16 = 56 × 0 + 56 × 0 +56 × 0 + 56 × 1 +56 × 0 + 56 × 0 – 56 = 0

17 = 56 × 0 + 56 × 0 +56 × 0 + 56 × 0 +56 × 1 + 56 × 0 – 56 = 0

18 = 56 × 0 + 56 × 0 +56 × 0 + 56 × 0 +56 × 0 + 56 × 1 – 56 = 0

Очевидно, що базове рішення не є оптимальним, тому що усі індекси від 1 до 18 позитивні, тому продовжимо поліпшення (оптимізацію) базового плану далі.

У якості ключового стовпця, який містить внесену в базу вільну змінну, вибираємо стовпець х7, що має максимальне позитивне значення 7 = 111. Для визначення ключового рядка рахуємо відповідні відношення значень базових невідомих bбi на не нульові значення елементів обраного ключового стовпця, а саме:

; і вибираємо з них мінімальне, тобто друге.

Тоді ключовим рядком буде шостий і він містить базову змінну х18 , що виводиться з базису. Тобто змінна ключового шостого рядка базису х18 має бути замінена на вільну змінну ключового стовпця х7 , при цьому ключове число a67 = 1 (це число відмічено у СТ більшим розміром). Складаємо нову СТ (див. табл. 47).

Спочатку введемо в базис замість змінної х18 змінну х7 зі значенням її коефіцієнта c7 = 1 і розділимо всі елементи цього рядка на ключове число a67 = 1. Після цього перерахуємо значення частини елементів таблиці, що залишилася, таким способом:

,

де: НЕ і СЕ – відповідно будь-який новий елемент (aijн або biн) з не ключового рядка і той же старий елемент (aij або bi) СТ, що перетворюється;

ЕКр і ЕКст – відповідно елементи ключового рядка і ключового стовпчику СТ, що перетворюється;

К – ключовий елемент СТ, що перетворюється (у нашому випадку для першої СТ це a67).

Порахуємо як приклад по цій формулі нові значення b2 , a23 і a27:

.

Інші елементи перенесемо в нову СТ без демонстрації аналогічних детальних розрахунків.

Як видно з таблиці 47 нове значення цільової функції дорівнює 24190 у.г.о., що значно менше попереднього її значення і, що, у свою чергу, свідчить про нормальний плин процесу оптимізації. Індексний рядок нової СТ містить позитивні елементи – це означає, що отримане значення не є оптимальним і план перевезень вимагає поліпшення. Відзначимо в СТ ключовий елемент a25 і опускаючи всі розрахунки перейдемо до наступної СТ (див. табл. 48).

Таблиця 47

Друга СТ

4

7

2

5

3

6

1

8

9

3

6

2

56

56

56

56

56

56

cбі

хбі

bбі

х1

х2

х3

х4

х5

х6

х7

х8

х9

х10

х11

х12

х13

х14

х15

х16

х17

х18

56

х13

100

1

1

1

1

0

0

0

0

0

0

0

0

1

0

0

0

0

0

56

х14

10

0

0

-1

0

1

1

0

1

0

0

-1

0

0

1

0

0

0

-1

56

х15

140

0

0

0

0

0

0

0

0

1

1

1

1

0

0

1

0

0

0

56

х16

80

1

0

0

0

1

0

0

0

1

0

0

0

0

0

0

1

0

0

56

х17

100

0

1

0

0

0

1

0

0

0

1

0

0

0

0

0

0

1

0

1

х7

110

0

0

1

0

0

0

1

0

0

0

1

0

0

0

0

0

0

1

0 = 24190

1=

108

2=105

3=

-1

4=51

5=109

6=106

7=0

8=48

9=103

10=109

11=

-5

12=54

13=0

14=0

15=0

16=0

17=0

18=

-111

Із цієї СТ також видно, що процес оптимізації триває (нове значення цільової функції дорівнює 23100), але в індексному рядку ще присутні позитивні елементи – це означає, що план перевезень вимагає подальшого поліпшення. Відзначимо також у СТ ключовий елемент a5,10 і перейдемо до наступної СТ (див. табл. 49).

Таблиця 48

Третя СТ

4

7

2

5

3

6

1

8

9

3

6

2

56

56

56

56

56

56

cбі

хбі

bбі

х1

х2

х3

х4

х5

х6

х7

х8

х9

х10

х11

х12

х13

х14

х15

х16

х17

х18

56

х13

100

1

1

1

1

0

0

0

0

0

0

0

0

1

0

0

0

0

0

3

х5

10

0

0

-1

0

1

1

0

1

0

0

-1

0

0

1

0

0

0

-1

56

х15

140

0

0

0

0

0

0

0

0

1

1

1

1

0

0

1

0

0

0

56

х16

70

1

0

1

0

0

-1

0

-1

1

0

1

0

0

-1

0

1

0

1

56

х17

100

0

1

0

0

0

1

0

0

0

1

0

0

0

0

0

0

1

0

1

х7

110

0

0

1

0

0

0

1

0

0

0

1

0

0

0

0

0

0

1

0 = 23100

1=

108

2=105

3=

108

4=51

5=0

6=

-3

7=0

8=

-61

9=103

10=109

11=

104

12=54

13=0

14=

-109

15=0

16=0

17=0

18=

-2

У цій таблиці також присутні позитивні елементи в індексному рядку, тому переходимо до нового СТ із новим ключовим елементом – a41 (див. табл. 50).

Таблиця 49

Четверта СТ

4

7

2

5

3

6

1

8

9

3

6

2

56

56

56

56

56

56

cбі

хбі

bбі

х1

х2

х3

х4

х5

х6

х7

х8

х9

х10

х11

х12

х13

х14

х15

х16

х17

х18

56

х13

100

1

1

1

1

0

0

0

0

0

0

0

0

1

0

0

0

0

0

3

х5

10

0

0

-1

0

1

1

0

1

0

0

-1

0

0

1

0

0

0

-1

56

х15

40

0

-1

0

0

0

-1

0

0

1

0

1

1

0

0

1

0

-1

0

56

х16

70

1

0

1

0

0

-1

0

-1

1

0

1

0

0

-1

0

1

0

1

3

х10

100

0

1

0

0

0

1

0

0

0

1

0

0

0

0

0

0

1

0

1

х7

110

0

0

1

0

0

0

1

0

0

0

1

0

0

0

0

0

0

1

0 = 12200

1=

108

2=

-4

3=

108

4=51

5=0

6=

-112

7=0

8=

-61

9=103

10=0

11=

104

12=54

13=0

14=-109

15=0

16=0

17=

-109

18=

-2

У цій таблиці також присутні позитивні елементи в індексному рядку, тому переходимо до нового СТ із новим ключовим елементом – a3,12 (див. табл. 51).

Таблиця 50

П’ята СТ

4

7

2

5

3

6

1

8

9

3

6

2

56

56

56

56

56

56

cбі

хбі

bбі

х1

х2

х3

х4

х5

х6

х7

х8

х9

х10

х11

х12

х13

х14

х15

х16

х17

х18

56

х13

30

0

1

0

1

0

1

0

1

-1

0

-1

0

1

1

0

-1

0

-1

3

х5

10

0

0

-1

0

1

1

0

1

0

0

-1

0

0

1

0

0

0

-1

56

х15

40

0

-1

0

0

0

-1

0

0

1

0

1

1

0

0

1

0

-1

0

4

х1

70

1

0

1

0

0

-1

0

-1

1

0

1

0

0

-1

0

1

0

1

3

х10

100

0

1

0

0

0

1

0

0

0

1

0

0

0

0

0

0

1

0

1

х7

110

0

0

1

0

0

0

1

0

0

0

1

0

0

0

0

0

0

1

0 = 4640

1=

0

2=

-4

3=

0

4=51

5=0

6=

-4

7=0

8=

47

9=

-5

10=0

11=

-4

12=54

13=0

14=

-1

15=0

16=

-108

17=

-109

18=

-110

У цій таблиці також присутні позитивні елементи в індексному рядку, тому переходимо до нового СТ із новим ключовим елементом – a1,4 (див. табл. 52).

Отримана симплекс-таблиця містить усі , завдяки чому можна стверджувати, що отримане рішення є оптимальним, тобто:х1 = 70; х2 = 0; х3 = 0; х4 = 30; х5 = 10; х6 = 0; х7 = 110; х8 = 0; х9 = 0; х10 = 100; х11 = 0; х12 = 40; х13 = 0; х14 = 0; …; х18 = 0,що забезпечує Lopt = 950 у.г.о. (У додатку 5 наведений розрахунок цього ж самого прикладу у матричному процесорі Excel).

Представимо одержаний оптимальний план перевезень вантажу для нашого прикладу у вигляді ТТ (табл. 53).

Таблиця 51

Шоста СТ

4

7

2

5

3

6

1

8

9

3

6

2

56

56

56

56

56

56

cбі

хбі

bбі

х1

х2

х3

х4

х5

х6

х7

х8

х9

х10

х11

х12

х13

х14

х15

х16

х17

х18

56

х13

30

0

1

0

1

0

1

0

1

-1

0

-1

0

1

1

0

-1

0

-1

3

х5

10

0

0

-1

0

1

1

0

1

0

0

-1

0

0

1

0

0

0

-1

2

х12

40

0

-1

0

0

0

-1

0

0

1

0

1

1

0

0

1

0

-1

0

4

х1

70

1

0

1

0

0

-1

0

-1

1

0

1

0

0

-1

0

1

0

1

3

х10

100

0

1

0

0

0

1

0

0

0

1

0

0

0

0

0

0

1

0

1

х7

110

0

0

1

0

0

0

1

0

0

0

1

0

0

0

0

0

0

1

0 = 2480

1=

0

2=

50

3=

0

4=51

5=0

6=

50

7=0

8=

47

9=

-59

10=0

11=

-58

12=0

13=0

14=

-1

15=-54

16=

-108

17=

-55

18=

-110

Таблиця 52

Сьома СТ

4

7

2

5

3

6

1

8

9

3

6

2

56

56

56

56

56

56

cбі

хбі

bбі

х1

х2

х3

х4

х5

х6

х7

х8

х9

х10

х11

х12

х13

х14

х15

х16

х17

х18

5

х4

30

0

1

0

1

0

1

0

1

-1

0

-1

0

1

1

0

-1

0

-1

3

х5

10

0

0

-1

0

1

1

0

1

0

0

-1

0

0

1

0

0

0

-1

2

х12

40

0

-1

0

0

0

-1

0

0

1

0

1

1

0

0

1

0

-1

0

4

х1

70

1

0

1

0

0

-1

0

-1

1

0

1

0

0

-1

0

1

0

1

3

х10

100

0

1

0

0

0

1

0

0

0

1

0

0

0

0

0

0

1

0

1

х7

110

0

0

1

0

0

0

1

0

0

0

1

0

0

0

0

0

0

1

0 = 950

1=

0

2=

-1

3=

0

4=

0

5=0

6=

-1

7=0

8=

-4

9=

-8

10=0

11=

-7

12=0

13=-51

14=

-52

15=-54

16=

-57

17=

-55

18=

-59

Таблиця 53

Оптимальний план перевезень вантажу у вигляді ТТ

B1

B2

B3

B4

Запаси

ai

A1

c1 = 4

x1=70

c2 = 7

x2=0

c3 = 2

x3=0

c4 = 5

x4=30

100

A2

c5 = 3

x5=10

c6 = 6

x6=0

c7 = 1

x7=110

c8 = 8

x8=0

120

A3

c9 = 9

x9=0

c10 = 3

x10=100

c11 = 6

x11=0

c12 = 2

x12=40

140

Заявки

bj

80

100

110

70

360

4.2. Метод потенціалів оптимізації транспортних перевезень

Більш простим методом оптимізації плану перевезень є метод потенціалів, суть якого полягає у наступному.

1. Приймаємо будь-яке значення початкового потенціалу дляi-го ряду транспортної таблиці; шукаємо заповнену клітку (ij), для якої і визначаємо відповідний потенціал по наступній формулі: Робимо аналогічні розрахунки для решти рядів і колонок таблиці, спираючись на вже розраховані транспортні потенціали.

2. Після визначення всіх i(;) перевіряємо нерівністьдля всіх (ij) незайнятих кліток таблиці (тобто для ). Якщо ця нерівність має місце для усіх без виключення незайнятих кліток, план перевезень є оптимальним.

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

При умові для незайнятої клітинки () означає, що перерозподіл вантажу в цю клітинку можливий, але це не поліпшує, ні погіршує план перевезень. Це означає, що є ще один план, еквівалентний по вартості перевезень. Тому в подальшому домовимось вважати, що клітинка залишається незайнятою при.

Наприклад, є певний опорний план перевезень (табл. 54). Відмітимо, що для отриманого плану маємо L1 = 30×7 + 70×2 + 80×3 + 40×1 + 70×3 + 70×2 = 980 у.г.о.

Розрахуємо потенціали і, використовуючи саме зайняті клітинки, і занесемо їх в додаткові стовпчик і рядок.

Приймаємо , тоді;. Використовуючи вже отримані потенціали, визначаємо решту потенціалів:

; ;

; .

Перевіряємо опорний план на оптимальність, використовуючи отримані потенціали. Для цього перевіряємо умову оптимальності для всіх незайнятих клітинок плану, тобто :

; ;;

; ;.

Таблиця 54