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

Excel10УКР

.pdf
Скачиваний:
45
Добавлен:
27.03.2016
Размер:
3.32 Mб
Скачать

61

Рис. 8.2.1. Приклад обмежень для двомірної ЗЛП

Запис задачі лінійного програмування в матричній формі:

 

x

 

 

b

 

 

 

 

1

 

 

1

 

 

 

x

x2

b

b2

 

c c , c ,..., c

 

....

 

....

1 2

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xn

 

 

bm

 

 

Z cx max(min)

Ax ( )b

a

a

...a

 

11

12

1n

 

a21 a22 ...a2n

 

A ................

 

 

 

 

 

 

 

 

 

am1

am2 ...amn

8.3. ПРЕДСТАВЛЕННЯ ОПТИМІЗАЦІЙНОЇ ЗАДАЧІ В EXCEL

У Excel реалізована достатньо універсальна надбудова для вирішення оптимізаційних задач Solver. Доступ до цього пакету здійснюється че-

рез пункти меню Данные => Поиск решения (рис. 8.3.1):

62

Рис. 8.3.1. Меню пошуку рішення

Примітка: Якщо на вказаній панелі немає кнопки «Поиск реше-

ния», необхідно виконати Файл => Параметры => Надстройки. У ниж-

ній частині вікна, що з’явилося, вибрати тип управління «Надстройки Excel», натиснути кнопку «Перейти» і активізувати прапорець «Поиск решения» (рис. 8.3.2).

63

Рис. 8.3.2. Встановлення надбудови «Поиск решения»

У полі «Оптимизировать целевую ячейку:» вводиться адреса клі-

тинки, у якій обчислюється цільова функція. Далі ми можемо вибрати три варіанти її оптимізації – мінімізувати, максимізувати або привести до заданого значення. У полі «Изменяя ячейки переменных:» задаються адреси клітинок, відповідні змінним, за якими проводиться оптимізація. Допускається задати до 200 клітинок, у яких змінюються дані. Рекомендується розташовувати змінювані дані в суміжних клітинках (у вигляді рядка, стовпця або матриці), тоді у вікні «Поиск решения» їх можна буде задати у вигляді одного діапазону. При натисненні на кнопку «Добавить» у полі «В соответствии с ограничениями:» виникає меню, яке приведене на рис. 8.3.2.

Рис. 8.3.2. Додавання обмежень

64

Тут «Ссылка на ячейки» зазвичай є адресою клітинки, у яку введена формула у лівій частині обмеження, «Ограничение» – адреса клітинки, що містить конкретне значення обмеження. Між лівою і правою частинами обмеження можна задати відношення «менше або рівно», «більше або рівно» або «рівно». Додатково можна задати, щоб частина змінних для оптимізації була цілочисельною (задача цілочисельного програмування, що вимагає для вирішення зовсім інші методи, ніж при гладкому змінюванні змінних) і навіть вирішувати задачі булевої алгебри, у яких частина змінних повинна приймати тільки два значення (Так/ні, Істина/Неправильно, 0/1). Можна також вимагати, щоб частина змінних, що оптимізуються, не співпадала між собою (вибрати відношення «раз»). Для задач, в яких усі змінні, що оптимізуються, мають бути ненегативними, замість представлення цієї вимоги у вигляді обмеження, можна активізувати прапорець

«Сделать переменные без ограничений неотрицательными» (більш вдалий напис на цьому прапорці був би «Неотрицательные значения», як це було в MS Office 2003). Excel допускає векторні обмеження, тобто праворуч і ліворуч може бути заданий діапазон клітинок, якщо відношення між ними однотипні. Кількість обмежень, у яких є присутніми формули не повинно перевищувати 100, кількість простих обмежень не повинна

перевищувати 400.

У основному вікні пошуку рішення (рис. 8.3.1) можна вибрати метод оптимізації :

Пошук рішення нелінійних задач методом УЗГ (метод узагальненого понижуючого градієнта) – використовується для гладких нелінійних задач;

Пошук рішення лінійних задач симплекс-методом – використовується для лінійних задач;

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

При натисненні кнопки «Параметры» в основному вікні пошуку рішення (рис. 8.3.1), з’явиться вікно за настройкою параметрів алгоритмів, які в ньому використовуються (рис 8.3.3).

65

Рис. 8.3.3. Встановлення параметрів пошуку рішення

Розглянемо параметри, зміна яких може знадобитися при виконанні лабораторних робіт. Параметр «Точность ограничения» впливає на точність знаходження оптимального рішення. Включення прапорця «Показывать результаты итераций» припиняє процес рішення і може бути корисним при пошуку помилок в постановці задач. Прапорець «Игнорировать целочисленные ограничения» при рішенні задач цілочисельного програмування має бути вимкнений.

Після введення усієї необхідної інформації, натиснення кнопки «Найти решение» в основному вікні пошуку рішення (рис. 8.3.1) призводить до запуску процедури оптимізації, яка може закінчитися успішно або видачею повідомлення про неможливість рішення поставленої задачі.

66

8.4. ЛАБОРАТОРНА РОБОТА № 7. ВИРІШЕННЯ АНАЛІТИЧНИХ РІВНЯНЬ

Як правило, задачу знаходження коренів рівняння f (x) 0 розбивають на 2 етапи. На першому етапі з’ясовують кількість коренів рівняння і визначають інтервали, на яких знаходиться єдиний корінь. Для багатьох рівнянь, що практично зустрічаються, для цього цілком достатньо побудувати графік функції.

Розглянемо послідовність рішення задачі на конкретному прикладі

рівняння п’ятого ступеня x5 3x4 5x3 9x2 3x 0.2 0 . Як відомо, таке рівняння може мати не більше п’яти дійсних коренів. Первинний інтервал табулювання виберемо довільно, наприклад [–2;1]. Графік функції приведений на рис. 8.4.1.

Рис. 8.4.1. Первинний графік функції

Як видно, на вибраному інтервалі, можлива присутність 3 коренів. Для їх кращого розгляду звузимо інтервал табулювання, наприклад, до [ 1.2;0.5] (область значень x відповідних близьким до нульових значень функції). На новому інтервалі (рис. 8.4.2) корені рівняння добре видно.

67

Рис. 8.4.2. Корені рівняння

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

єнт у старшого члена додатній, то lim f (x)

и lim f (x) . Отже,

x

x

при переміщенні значення аргументу вліво, функція обов’язково почне убувати і перетне вісь абсцис, утворюючи корінь.

Аналогічно, при переміщенні значення аргументу вправо, функція обов’язково почне зростати і перетне вісь абсцис, утворюючи ще один корінь. Для знаходження інтервалів, що містять нові корені достатньо в одній із колонок таблиці табулювання ввести значення x , які послідовно убувають (зростають) з деяким кроком. 4–ий і 5–ий корені нашого рівняння добре видно на інтервалах [ 4; 2.3] і [1.5;2.5](рис. 8.4.3 та рис.

8.4.4).

68

Рис. 8.4.3. 4–ий корінь рівняння

Рис. 8.4.4. 5–ий корінь рівняння

Для знаходження точнішого значення кожного кореня скористаємося інструментом «Поиск решения». Для кожного кореня потрібно вибрати інтервал, що містить тільки цей корінь. Наприклад, для знаходження самого лівого кореня, зображеного на рис. 7.3, виберемо інтервал [ 4; 2]. Підготуємо дані для пошуку кореня у такому вигляді (рис. 8.4.5).

69

Рис. 8.4.5. Дані для пошуку кореня

У клітинці С6 обчислюється значення нашої функції за клітинкою С5. Початкове значення кореня повинне належати вибраному інтервалу. Задача для пошуку рішення у цьому випадку виглядатиме таким чином

(рис.8.4.6).

Рис. 8.4.6. Постановка задачі для пошуку рішення

70

Тобто ми хочемо змінюючи клітинку С5 від значення у клітинці В4 до значення у клітинці С4 досягнути у клітинці С6 значення близького до нуля.

При цьому прапорець «Сделать переменные без ограничений не-

отрицательными» не включений, вибрано метод оптимізації «Поиск решения нелинейных задач методом ОПГ». У результаті пошуку рі-

шення отримуємо значення кореня, яке забезпечує рівність нулю нашої

функції з точністю 10 6 , заданою за умовчанням у параметрі «Точность ограничения» (рис. 8.4.7).

Рис. 8.4.7. Значення першого кореня

Зауваження 1. Якщо як початкове значення у клітинці С5 ввести –2.5,

то Excel подасть повідомлення «Поиск не может найти подходящего решения». Пояснюється це методом рішення, який використовується в

Excel. Відповідно до цього методу перебір аргументу йде «у найбільш обіцяючому» напрямі. У даному випадку у точці –2.5 функція зростає при русі вправо (віддаляємось від поставленої мети) і убуває при русі вліво (наближаємося до поставленої мети). Алгоритм вибирає рух вліво і зупиняється, дійшовши до обмеження –2, дослідження руху у зворотний бік не передбачено (рис.8.4.8).

Рис. 8.4.8. Пошук рішення у неправильному напрямі

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