Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Задачі нелінійного програмування. Основні методи їх розв’язування та аналізу




Т. Гекслі

У попередніх розділах було розглянуто методи розв’язування задач лінійного програмування та деякі типи задач, що певними нескладними перетвореннями зводяться до лінійних. Ці методи найкраще розроблені, легко реалізуються на ПЕОМ, а тому набули широкого застосування в багатьох галузях науки, техніки та економіки. Проте лінійні моделі відображають лише певну й вельми обмежену сукупність властивостей навколишнього світу. Адже, скажімо, соціально-економічні процеси переважно не є лінійними. Галузі, об’єднання та окремі підприємства народного господарства функціонують і розвиваються за умов невизначеності, а тому адекватно їх можна описати нелінійними, стохастичними, динамічними моделями. Отже, для ефективного управління народним господарством в цілому, його галузями і окремими об’єктами господарювання потрібне застосування нелінійних економіко-мате­матичних моделей та методів.

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

8.1. Економічна і математична постановка
задачі нелінійного програмування

Досить детально розглянута в розділах, присвячених лінійному програмуванню, задача пошуку оптимальних обсягів виробництва ґрунтується на допущеннях про лінійність зв’язку між витратами ресурсів і обсягами виготовленої продукції; між ціною, рекламою та попитом тощо. Але такі зв’язки насправді є нелінійними, тому точніші математичні моделі доцільно формулювати в термінах нелінійного програмування.

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

Однак, загальновідомим є факт, що за умов ринкової конкурен­ції питання реалізації продукції є досить складним. Обсяг збуту продукції визначається передусім її ціною, отже, як цільову функ­цію доцільно брати максимізацію не всієї виготовленої, а лише реалізованої продукції. Необхідно визначати також і оптимальний рівень ціни на одиницю продукції, за якої обсяг збуту був би максимальним. Для цього її потрібно ввести в задачу як невідому величину, а обмеження задачі мають враховувати зв’язки між ціною, рекламою та обсягами збуту продукції. Цільова функція в такому разі буде виражена добутком двох невідомих величин: оптимальної ціни одиниці продукції на оптимальний обсяг відповідного виду продукції, тобто буде нелінійною. Отже, маємо задачу нелінійного програмування.

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

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

Загальна задача математичного програмування формулюється так: знайти такі значення змінних xj (j =1,… n), щоб цільова функція набувала екстремального (максимального чи мінімального) значення:

max(min) F = f (x 1, x 2,… xn) (8.1)

за умов:

(); (8.2)

xj ≥0 (j =1,… n) . (8.3)

Якщо всі функції f (x 1, x 2,… xn) та gi (x 1, x 2,… xn), i =1,… m є лінійними, то це задача лінійного програмування, інакше (якщо хоча б одна з функцій є нелінійною) маємо задачу нелінійного програмування.

8.2. Геометрична інтерпретація задачі
нелінійного програмування

Геометрично цільова функція (8.1) визначає деяку поверхню, а обмеження (8.2)—(8.3) — допустиму підмножину n -вимірного евклідового простору. Знаходження оптимального розв’язку задачі нелінійного програмування зводиться до відшукання точки з допустимої підмножини, в якій досягається поверхня найвищого (найнижчого) рівня.

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

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

Розглянемо приклад геометричного способу розв’язування задачі нелінійного програмування.

Знайти мінімальне і максимальне значення функції:

за умов:

.

Розв’язання. Область допустимих розв’язків утворює чотирикутник АВСD (рис. 8.1). Геомет­рично цільова функція являє собою коло з центром у точці М (2; 2), квадрат радіуса якого R2=Z. Це означає, що її значення буде збільшуватися (зменшуватися) зі збільшенням (зменшенням) радіуса кола. Проведемо з точки М кола різних радіусів. Функція Z має два локальних максимуми: точки В (0; 6) і С (8; 0). Обчислимо значення функціонала в цих точках:

Z (B)=(x 1-2)2+(x 2-2)2=(0-2)2+(6-2)2=4+16=20,

Z (C)=(x 1-2)2+(x 2-2)2=(8-2)2+(0-2)2=36+4=40.

Оскільки Z (C)> Z (B), то точка С (8; 0) є точкою глобального максимуму.

Очевидно, що найменший радіус R =0, тоді:

R 2=0 Z =(x 1-2)2+(x 2-2)2 => x 1=2; x 2=2. Тобто точка М є точкою мінімуму, оскільки їй відповідає найменше можливе значення цільової функції.

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

Знайти мінімальне значення функції:

Z =(x 1-4)2+(x 2-4)2

за умов:

x 1≥0, x 2≥0.

Розв’язування. У даному прикладі множина допустимих роз­в’язків складається з двох окремих частин, необмежених зверху (рис. 8.2). Цільова функція аналогічно попередньому випадку є колом з центром у точці М (4; 4). Функція Z має два локальних мінімуми: в точці А (x 1≈11,29; x 2≈0,71), і в точці В (x 1≈0,71; x 2≈11,29).

Значення функціонала в цих точках однакове і дорівнює:

Z =(x 1-4)2+(x 2-4)2=64.

Отже, маємо два альтернатив­ні оптимальні плани.

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

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

8.3. Основні труднощі розв’язування задач
нелінійного програмування

Часто задачу нелінійного програмування намагаються звести до лінійного вигляду, що призводить до значних похибок. Наприклад, як правило, собівартість продукції y визначають за формулою: y=a+b/x де х — обсяг виробництва. Ввівши заміну: z=1/x, маємо: y=a+b z тобто приходимо до лінійної функції. За такої заміни похибок не допускають. Однак, якщо функцією собівартості буде y=ax 2 +bx+c, то використання замість неї деякої лінійної функції y=d+kx невиправдане, що видно з рис. 8.3.

У точках х 1 і х 3 величина собівартості для двох цих функцій однакова. Однак у всіх інших точках ці значення відрізняються, причому у точці х 2 у значній мірі, тобто на величину:

y 4- y 2 =ax 22 +bx 2 +cd-kx 2 = -ax 22 + (b-k) x 2 +cd.

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

Рис. 8.3

Навіть питання щодо існування розв’язку задачі нелінійного програмування потребує окремого дослідження.

Розглянемо основні труднощі розв’язування нелінійних задач.

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

а) отримали оптимальний розв’язок;

б) умови задачі суперечливі, тобто розв’язку не існує;

в) цільова функція необмежена, тобто розв’язку також не існує.

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

Відомі точні методи розв’язування нелінійних задач, але в такому разі існують труднощі обчислювального характеру, тобто навіть для сучасних ЕОМ такі алгоритми є досить трудомісткими, тому здебільшого для розв’язування нелінійних задач виправ­даним є застосування наближених методів.

2. Для задач лінійного програмування доведено наявність єдиного екстремуму, що досягається в одній (або кількох одночасно) з вершин багатогранника допустимих розв’язків задачі. Однак у задачах нелінійного програмування існують кілька локальних оптимумів, що потребує пошуку серед них глобального.

На рис. 8.4 маємо на відрізку, що зображений, локальні оптимуми у точках x 0, x 1, x 2, x 3, x 4, x 5, x 6, x 7, x 8, x 9, глобальний — у точках x 3, та x 6.

Більшість наближених методів уможливлюють, як правило, знаходження локального оптимуму. Можна, звичайно, користуючись простим способом, визначити всі локальні оптимуми, а потім їх зіставленням знайти глобальний. Однак для практичних розрахунків такий метод є неефективним. Часто глобальний оптимум наближені методи «не уловлюють». Наприклад, у разі, коли глобальний оптимум знаходиться досить близько біля локального. Якщо відрізок [ x 0, x 10] поділити на десять підвідрізків і глобальний оптимум попаде у відрізок [ xi, xi+ 1] (рис. 8.4), а зліва від xi та справа від xi+ 1 крива y = f (x) буде зростати, то глобальний оптимум буде пропущеним.

3. У задачах лінійного програмування точка оптимуму завж­ди була граничною точкою багатогранника допустимих планів. Для нелінійних задач точка, яка визначає оптимальний план, може бути як граничною, так і знаходитися всередині допустимої області розв’язків (планів), що було проілюстровано в прикладі 8.1.

4. Доведено, що множина допустимих планів задачі лінійного програмування завжди є опуклою. У разі, коли система обмежень задачі є нелінійною, вона може визначати множину допустимих розв’язків як неопуклу, або навіть складатися з довільних, не зв’язаних між собою частин (приклад 8.2).

Одним з найпоширеніших прикладів зазначеної особливості є задачі цілочислового програмування (розглянуті в розділі 6). Нагадаємо, що вимога цілочисловості змінних задачі приводить до множини допустимих розв’язків, утвореної окремими точками, що зумовлює розглянуті вище ускладнення відшукання розв’яз­ків такого типу задач.

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

8.4. Класичний метод оптимізації.
Метод множників Лагранжа

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

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

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

8.4.1. Умовний та безумовний
екстремуми функції

У теорії дослідження функцій задача на відшукання екстремальних значень не містить ніяких додаткових умов щодо змінних і такі задачі належать до задач відшукання безумовного екстремуму функції. Локальний та глобальний екстремуми тоді визначаються з необхідних та достатніх умов існування екстремуму функції.

Нагадаємо, що необхідна умова існування локального екстремуму функції двох змінних формулюється так: для того, щоб точ­ка (x 10, x 20) була точкою локального екстремуму, необхідно, щоб функція f (x 1, x 2) була неперервною і диференційовною в околі цієї точки і перші частинні похідні за змінними x 1 та x 2 у цій точці дорівнювали нулю:

.

Точка (x 10, x 20) називається критичною.

Достатня умова існування локального екстремуму функції двох змінних формулюється так: для того, щоб критична точка (x 10, x 20) була точкою локального екстремуму, достатньо, щоб функція f (x 1, x 2) була визначена в околі критичної точки (x 10, x 20) та мала в цій точці неперервні частинні похідні другого порядку.

Тоді, якщо

,

то в точці функція має екстремум, причому, якщо

,

тоді (x 10, x 20) — точка локального максимуму функції f (x 1, x 2), а якщо

,

тоді (x 10, x 20) — точка локального мінімуму функції f (x 1, x 2).




Поделиться с друзьями:


Дата добавления: 2014-11-29; Просмотров: 5536; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.043 сек.