Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Navch._posibnuk_Ivaschyk

.pdf
Скачиваний:
106
Добавлен:
12.02.2016
Размер:
4.89 Mб
Скачать

: GO

Значення цільової функції

1)415.180300

Змінна

Значення

Відносна оцінка

Z

 

415.180300

.000000

X1

 

88.503800

.000000

X2

 

.000000

1.957552

X3

 

19.647020

.000000

X4

 

10.935500

.000000

Рядок

Додаткова змінна

Двоїста змінна

2)

 

54.964630

.000000

3)

 

.000000

.150523

4)

 

.000000

.699932

5)

 

217.000100

.000000

6)

 

.000000

-.354482

7)

 

.000000

-1.858207

8)

 

160.604400

.000000

Число ітерацій =

4

 

З отриманого розв’язку бачимо, що за оптимальним планом випуск кінцевої продукції становитиме Z=415,1803 одиниць. При цьому час роботи відповідних технологічних ліній буде: першої – Х1=88,5038; третьої – Х3=19,64702; четвертої – Х4=10,9355. Друга технологія не використовується (Х2=0). Змінні, значення яких не дорівнюють нулю в оптимальному плані, називаються базисними, а змінні, значення яких рівні нулю – вільними. Значення відносних оцінок для базисних змінних рівне нулю, а значення відносної оцінки для вільної невідомої вказує на зменшення значення цільової функції при збільшенні вільної невідомої Х2 на одиницю, тобто в нашому випадку при збільшенні часу роботи другої технологічної лінії на одиницю максимальний випуск кінцевої продукції зменшиться на

1,957552.

Приклад 2.9. Підприємство виготовляє продукцію чотирьох видів, використовуючи ресурси трьох видів: трудові, сировина, фінанси. Норми затрат ресурсів, прибуток від реалізації одиниці кожного виду продукції та обсяг запасів ресурсів подані в табл. 2.5, потреба підприємства у виробництві продукції приведена в табл. 2.6.

91

Визначити план виготовлення продукції, який забезпечить отримання максимального прибутку.

 

 

 

 

 

Таблиця 2.5

Ресурс

Прод1

Прод2

Прод3

Прод4

Наявність ресурсу

Прибуток

2

3

6

3

 

Трудові

0,03

0,04

0,05

0,04

500

Сировина

1,4

1,2

2

1,9

26500

Фінанси

4

6

4

7

10090

 

Таблиця 2.6

Вид продукції

 

Потреба

Прод1

 

500

Прод3

 

200

Прод4

 

800

Розв’язування.

Введемо позначення:

Прод1= x1, Прод2 = x2, Прод3 = x3, Прод4 = x4, z – прибуток. Тоді математична модель задачі матиме наступний вигляд:

z = 2x1 + 3x2 + 6x3 + 3x4 max, 0,03x1 + 0,04x2 + 0,05x3 + 0,04x4 500,

1,4x1 +1,2x2 + 2x3 +1,9x4 26500, 4x1 + 6x2 + 4x3 + 7x4 10090,

x1 500, x3 200, x4 800, x2 0.

Розв’яжемо цю задачу лінійного програмування з допомогою стандартної офісної програми Excel. Спочатку зробимо форму для вводу умов задачі у вигляді таблиці 2.7. Весь текст у подальшому є коментарем і на розв’язок задачі не впливає.

92

Таблиця 2.7

 

A

B

C

D

E

 

F

 

G

 

H

1

 

 

 

Змінні

 

 

 

 

 

 

 

2

ім’я

Прод1

Прод2

Прод3

Прод4

 

 

 

 

 

 

3

значення

 

 

 

 

 

 

 

 

 

 

4

нижн. гр.

 

 

 

 

 

 

 

 

 

 

5

верхн. гр.

 

 

 

 

 

ЦФ

 

напр

 

 

6

коеф.в ЦФ

 

 

 

 

 

 

 

 

 

 

7

 

 

 

Обмеження

 

 

 

 

 

 

8

вид

 

 

 

 

 

ліва

 

знак

 

права

 

 

 

 

 

 

 

част

 

 

 

част

9

Трудові

 

 

 

 

 

 

 

 

 

 

10

Сировина

 

 

 

 

 

 

 

 

 

 

11

Фінанси

 

 

 

 

 

 

 

 

 

 

Другим кроком є введення вихідних даних в форму табл. 2.7 і залежностей математичної моделі. Необхідні дані представлені в табл. 2.5 та 2.6. Спочатку заносимо числові дані, потім залежності математичної моделі. Залежності вводяться таким чином.

1. Ввід залежності для цільової функції:

Курсор в F6 (тут буде формуватися значення цільової функції).

Курсор на кнопку «Мастер функций», ЛК (ліва клавіша).

У вікні «Категория» вибираємо курсором категорію «Математические», ЛК.

Направляємо курсор у вікно функції «СУММПРОИЗВ», ЛК.

Далее.

На екрані появляється діалогове вікно «Мастер функций – шаг 2

из 2».

В «массив 1» ввести B$3:E$3 (в цих комірках будемо формувати значення продукції).

В «массив 2» ввести B6:E6.

Готово.

На екрані отримаємо дані у вигляді таблиці 2.8 (в формульному режимі – таблиця 2.9) в F6 буде значення цільової функції.

93

Таблиця 2.8

 

A

B

C

D

E

F

G

H

1

 

 

 

Змінні

 

 

 

 

2

ім’я

Прод1

Прод2

Прод3

Прод4

 

 

 

3

значення

 

 

 

 

 

 

 

4

нижн. гр.

500

 

200

800

 

 

 

5

верхн. гр.

 

 

 

 

ЦФ

напр

 

6

коеф.в ЦФ

2

3

6

3

0

 

 

7

 

 

 

 

Обмеження

 

 

 

8

вид

 

 

 

 

ліва

знак

права

 

 

 

 

 

 

част

 

част

9

Трудові

0,03

0,04

0,05

0,04

0

<=

500

10

Сировина

1,4

1,2

2

1,9

0

<=

26500

11

Фінанси

4

6

4

7

0

<=

10090

2. Ввід залежностей для лівих частин обмежень:

Курсор в F9.

Курсор на кнопку «Мастер функций», ЛК.

У вікні «Категория» вибираємо курсором категорію «Математические», ЛК.

Направляємо курсор в вікно функції «СУММПРОИЗВ», ЛК.

Далее.

На екрані появляється діалогове вікно «Мастер функций – шаг 2

из 2».

В масив 1 ввести B$3:E$3.

В масив 2 ввести B9:E9.

Готово.

Цю ж процедуру можна виконати копіюванням формули з F6 в F9:

Курсор в F6.

Курсор на кнопку «Копировать в буфер», ЛК.

Курсор в F9.

Вставить из буфера.

Аналогічно копіюємо формулу в F10:F11. На цьому введення даних закінчується.

94

Таблиця 2.9

 

A

B

C

D

E

F

G

H

1

 

 

Змінні

 

 

 

 

2

ім’я

 

 

 

 

 

 

 

 

 

Прод1

Прод2

Прод3

Прод4

 

 

 

 

 

 

 

 

 

 

 

 

3

значення

 

 

 

 

 

 

 

4

нижн. гр.

500

 

200

800

 

 

 

5

верхн. гр.

 

 

 

 

ЦФ

напр

 

6

коеф.в ЦФ

2

3

6

3

=СУММПРОИЗВ(B$3:E$3;B6:E6)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

 

 

 

 

Обмеження

 

 

8

вид

 

 

 

 

ліва част

знак

права

 

 

 

 

 

 

 

 

част

9

Трудові

0,03

0,04

0,05

0,04

=СУММПРОИЗВ(B$3:E$3;B9:E9)

<=

500

10

Сировина

1,4

1,2

2

1,9

=СУММПРОИЗВ(B$3:E$3;B10:E10)

<=

26500

11

Фінанси

4

6

4

7

=СУММПРОИЗВ(B$3:E$3;B11:E11)

<=

10090

Далі переходимо до знаходження оптимального розв’язку.

Алгоритм 1. Знаходження оптимального розв’язку.

1. Сервис, Поиск решения...

На екрані: діалогове вікно «Поиск решения».

2.Назначаємо цільову функцію.

Для цього курсор у вікно «Установить целевую ячейку» і

вводимо адресу F6.

Вводимо напрямок цільової функції: «Максимальному значению».

3. Вводимо адресу невідомих змінних:

Курсор у вікно «Изменяя ячейки», вводимо адресу B3:E3.

4.Вводимо обмеження:

Добавить

На екрані: діалогове вікно «Добавление ограничения». Спочатку вводимо обмеження невід’ємності змінних для Прод2

і мінімального обсягу для решти змінних:

У вікні «Ссылка на ячейку» вводимо В3.

Курсор на стрілку, ЛК (ліва клавіша).

На екрані: «знаки для ввода ограничений».

Курсор на знак « >=», ЛК.

Курсор в праве вікно.

Вводимо В4.

Добавить.

На екрані знову вікно «Добавление ограничения». Аналогічно вводимо інші обмеження: C3>=C4, D3>=D4, E3>=E4.

95

Так само вводяться обмеження F9<=H9, F10<=H10, F11<=H11.

Після вводу останнього обмеження натискаємо ОК.

На екрані: діалогове вікно «Поиск решения з введеными условиями».

З допомогою команд «Изменить» і «Удалить» можна за необхідності коректувати обмеження.

Оптимальний розв’язок знаходимо за таким алгоритмом:

Алгоритм 2. Розв’язування задачі.

1.Після вводу задачі, коли на екрані є вікно «Поиск решения», вибираємо «Параметры».

На екрані: діалогове вікно «Параметры поиска решения».

2.Встановлюємо відмітку «Линейная модель».

3.ОК.

На екрані: діалогове вікно «Поиск решения». 4. Выполнить.

На екрані: діалогове вікно «Результаты поиска решения» з повідомленням про те, що розв’язок знайдено. В комірках F6, В3:Е3 знаходиться оптимальний розв’язок (табл. 2.10).

Максимальний прибуток становить 7135 грн., обсяги виготовлення продукції: Прод1=500, Прод2=0, Прод3=622,5,

Прод4=800.

Ресурси використовуються в такій кількості:

трудові (див. F9) = 78,125;

сировина = F10 = 3465;

фінанси = F11 = 10090.

Таблиця 2.10

 

A

B

C

D

E

 

F

G

H

1

 

 

Змінні

 

 

 

 

 

2

ім’я

Прод1

Прод2

Прод3

Прод4

 

 

 

 

3

значення

500

0

622,5

800

 

 

 

 

4

нижн. гр.

500

 

200

800

 

 

 

 

5

верхн. гр.

 

 

 

 

 

ЦФ

напр

 

6

коеф.в ЦФ

2

3

6

3

7135

 

 

7

 

 

 

Обмеження

 

 

 

 

8

вид

 

 

 

 

 

ліва

знак

права

 

 

 

 

 

 

 

част

 

част

9

Трудові

0,03

0,04

0,05

0,04

 

78,125

<=

500

10

Сировина

1,4

1,2

2

1,9

 

3465

<=

26500

11

Фінанси

4

6

4

7

 

10090

<=

10090

96

2.6.Питання для самоконтролю

1.Запишіть загальну математичну модель задачі лінійного програмування.

2.Який розв’язок задачі лінійного програмування називається допустимим?

3.Що називається областю існування планів?

4.Який план називається опорним, а який оптимальним?

5.Які найпростіші моделі задач лінійного програмування ви знаєте?

6.Які є стандартні форми запису задач лінійного програмування?

7.Які задачі лінійного програмування можна розв’язувати графічним методом?

8.Дайте визначення опуклої множини.

9.Яка множина є обмеженою, а яка необмеженою?

10.Дайте визначення внутрішньої та граничної точок множини.

11.Суть алгоритму графічного методу розв’язування задач лінійного програмування.

12.Яка задача лінійного програмування записана в канонічній формі?

13.Які задачі лінійного програмування можна розв’язувати симплексним методом?

14.Суть алгоритму симплексного методу.

15.Сформулюйте критерій оптимальності симплекс-методу.

16.Як вибирається ключовий стовпець, ключовий рядок та генеральний елемент?

17.Які задачі лінійного програмування розв’язують методом штучного базису?

18.Суть методу штучного базису.

19.Які сучасні інформаційні технології можна використовувати для розв’язування задач лінійного програмування?

97

Розділ 3. Теорія двоїстості та кількісний аналіз оптимізаційних розрахунків

3.1.Двоїстість у задачах лінійного програмування: правила побудови двоїстих задач та їх основні класи

Кожній задачі лінійного програмування відповідає двоїста, яка формується за допомогою певних правил безпосередньо з умов прямої задачі. Нехай задача лінійного програмування має вигляд:

Z = c0 + c1 x1 + c2 x2 +... + cn xn

(max),

a

 

x

+ a

 

x

2

+... + a

 

x

n

b ,

 

11

1

12

 

 

 

 

 

1n

 

 

1

 

a21 x1 + a22 x2

 

+... + a2n xn

 

b2 ,

 

..............................................

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

x

+ a

m2

x

2

+... + a

mn

x

n

b

,

 

m1 1

 

 

 

 

 

 

m

 

 

0,

 

 

j

=1,n.

 

 

 

 

 

 

 

x j

 

 

 

 

 

 

 

 

 

(3.1)

(3.2)

Побудова двоїстої задачі лінійного програмування здійснюється за такими правилами:

1. Кожному основному обмеженню початкової задачі ставимо у відповідність двоїсту змінну: першому обмеженню – у1, другому – у2, ..., m-му – уm. Кількість невідомих двоїстої задачі дорівнює кількості основних обмежень прямої задачі лінійного програмування:

a x

+ a x

2

+ + a...

 

x

n

b

11 1

12

 

 

 

 

1n

 

 

1

a21x1 + a22 x2 + + a2... n xn b2

..........................................

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

x

+ a

m2

 

x

2

+ + a...

mn

x

n

b

 

m1 1

 

 

 

 

 

 

 

m

 

 

 

 

j

=1, n.

 

 

 

 

 

 

x j 0,

 

 

 

 

 

 

 

y1 y2

...

ym

2.Якщо цільова функція початкової задачі досліджується на максимум, то двоїстої – на мінімум, і навпаки.

3.Щоб записати цільову функцію двоїстої задачі, потрібно праві частини основних обмежень початкової задачі почленно перемножити на двоїсті змінні, що відповідають кожному з цих обмежень і додати. Отже, коефіцієнтами при невідомих в цільовій

98

функції двоїстої задачі є праві частини основних обмежень прямої задачі. Вільний член цільової функції прямої задачі переноситься без змін в цільову функцію двоїстої:

z* = c

+b y

+b y

2

+... + b y

m

(min) .

0

1 1

2

m

 

4. Обмеження двоїстої задачі формуємо таким чином: коефіцієнти при невідомій кожного основного обмеження системи (3.2) почленно множимо на відповідні двоїсті змінні і додаємо. В результаті отримуємо ліві частини обмежень двоїстої задачі: a1 j y1 + a2 j y2 +... + amj ym . Правими частинами обмежень двоїстої задачі

є коефіцієнти при невідомій хj в цільовій функції початкової задачі (cj). Отже, кількість змінних прямої задачі дорівнює кількості основних обмежень двоїстої.

5.Враховуючи, що в основних обмеженнях початкової задачі знак нерівності «», то в обмеженнях двоїстої задачі знак нерівності буде «».

6.Матриця

a11

a12

...

a1n

a

 

a

 

...

a

 

A =

21

 

22

...

 

2n ,

... ...

...

am1

am2

...

amn

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

a11

a21

...

am1

 

a

a

22

...

a

m2

 

AT = 12

 

...

 

 

... ...

...

a1n

a2n

...

amn

утворюються одна з одної транспонуванням, тобто заміною рядків стовпчиками, а стовпчиків – рядками.

В результаті отримаємо двоїсту задачу:

z* = c

+b y +b y

2

+...+b y

m

(min),

0

1 1 2

m

 

99

a11 y1 + a21 y2 + + am... 1 ym c1 ,

 

a y + a

22

y

2

+ + a...

m2

y

m

c

2

,

 

12

1

 

 

 

 

 

 

 

.............................................

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a y + a

2n

y

2

+ + a...

mn

y

m

c

n

,

 

1n

1

 

 

 

 

 

 

 

 

 

 

0,

i =1,m.

 

 

 

 

 

 

yi

 

 

 

 

 

 

Двоїсті пари задач лінійного програмування бувають симетричні та несиметричні.

У симетричних задачах обмеження прямої та двоїстої задач є нерівностями, а змінні обох задач можуть набувати лише невід’ємних значень.

У несиметричних задачах обмеження прямої задачі можуть бути записані у вигляді рівнянь, а двоїстої – лише у вигляді нерівностей. В цьому випадку відповідні змінні двоїстої задачі можуть приймати будь-яке значення, необмежене знаком.

Розглянемо різні можливі форми прямих задач лінійного програмування та відповідні їм варіанти моделей двоїстих задач:

Пряма задача

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Двоїста задача

 

 

 

 

 

 

 

 

 

 

 

Симетричні

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Z = c0 +c1x1 +c2 x2 +

...+cn xn (max),z* = c

0

+ b y

 

 

 

 

+ b y

2

+...

 

 

+ b

y

m

(min),

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

2

 

 

 

 

 

 

 

 

 

m

 

 

 

a11x1 + a12 x2 +...

+ a1n xn

 

b1,

 

 

a

y

 

 

+ a

21

y

2

+... + a

m1

y

m

c

 

,

 

 

a21x1 + a22 x2 +

 

 

 

 

 

 

 

 

 

11

1

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

...+ a2n xn

b2 ,

 

a

y

 

 

+ a

22

y

2

+... + a

m2

y

m

c

2

,

 

 

 

 

 

 

 

 

 

 

 

 

12

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

..............................................

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

..........

 

 

 

..........

 

 

 

 

 

 

..........

 

 

 

..........

 

 

 

 

 

 

 

.....

 

 

 

 

 

 

 

...a x + a x + + a x

 

b

 

,

a y

 

 

+ a

2n

y

2

+ +... a

mn

y

m

c

n

 

,

m1 1

m2 2

 

 

 

mn n

m

 

1n

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j =1,n.

 

 

 

 

 

 

 

0,

 

 

i =1,m.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xj 0,

 

 

 

 

 

 

yi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Z = c0 +c1x1 +c2 x2 +...

+cn xn (min),

z* = c

0

+ b y

 

 

 

 

+ b y

2

+...

 

 

+ b

y

m

 

(max),

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

 

2

 

 

 

 

 

 

 

 

 

m

 

 

 

a11x1 +a12x2 +...

+a1n xn

b1,

 

 

a

y

 

+ a

21

y

2

+... + a

m1

y

m

c

 

,

 

 

 

a21x1 +a22x2 +

 

 

 

 

 

 

 

 

 

11

1

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

+a2n xn

b2 ,

 

 

a

y

 

+ a

22

y

2

+... + a

m2

y

m

c

2

,

 

 

 

 

 

 

 

 

 

 

 

 

12

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

..........................................

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

..........

 

 

 

..........

 

 

 

 

 

 

..........

 

 

 

..........

 

 

 

 

 

 

 

.....

 

 

 

 

 

 

 

...a x +a x + +a x

 

 

b

,

 

a

y

 

 

+ a

2n

y

2

+ +... a

mn

y

m

c

n

,

m1 1

m2 2

 

 

 

 

mn n

 

m

 

 

1n

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j =1,n.

 

 

 

 

 

 

 

0,

 

 

i =1,m.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xj 0,

 

 

 

 

 

 

yi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

100

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]