Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Книга_8.doc
Скачиваний:
6
Добавлен:
05.05.2019
Размер:
655.36 Кб
Скачать

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

    1. Крупнокрокові методи

    2. Метод опуклих комбінацій

    3. Симплексний метод увігнутого програмування

    4. Теоретичні властивості оптимального рішення

    5. узагальнений алгоритм програмування

    1. Крупнокрокові методи

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

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

Максимізувати (8.1)

при умовах

(8.2)

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

I) Усі , отже, існує допустиме базисне рішення при заданій системі обмежень, наприклад, усі та всі .

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

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

Умову II) іноді називають постулатом регуляризації. При описі алгоритмів, що далі приводяться, воно виконує дві функції. По-перше, усуває необхідність розгляду необмежених рішень, що виникають на проміжних етапах алгоритму, коли апроксимується лінійною функцією. По-друге, у сполученні з умовою гладкості умова II) виключає можливість існування необмеженого оптимального рішення вихідної задачі (8.1) - (8.2). [Одним зі способів забезпечити виконання умови II) є включення у (8.2) обмеження, відповідно до якого сума всіх перемінних не може перевищити деяку велику, але кінцеву верхню грань.] Якщо відмовитися від умови П), то алгоритм має бути модифікований з урахуванням можливості одержання необмеженого рішення на проміжних ітераціях.

Припустимо, що функція задовольняє також наступним умовам гладкості та виду функції:

III) Функція однозначна та кінцева при будь-якому х, що задовольняє обмеженням (8.2).

IV) Усі часткові похідні дс(x)/dxj однозначні, кінцеві та безперервні; отже, безперервна при будь-якому х, що задовольняє обмеженням (8.2).

V) На безлічі всіх значень х, що задовольняють обмеженням (8.2), функція має кінцевий максимум .

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

Багато алгоритмів цього розділу зручно викладати, користуючись такою же формою запису, яка була приведена раніше при розгляді алгоритму „найшвидшого підйому з оптимальною довжиною кроку”, тому, перш ніж перейти до читання подальшого матеріалу, рекомендується знову прочитати зазначені розділи. У загальному випадку крупнокроковий метод включає такі операції:

Крок 1. Вибираємо довільну вихідну припустиму крапку х0.

Крок. 2. а) На ітерації k визначаємо напрямки . б) Визначаємо довжину кроку tk, що дозволяє максимізувати значення по всіх допустимих точках, що лежить в обраному напрямку від точки xk. Припиняємо розрахунки при tk = 0. У супротивному випадку переходимо до кроку 3.

Крок 3. Визначаємо нове рішення, що перевіряється

(8.3)

Повертаємося до кроку 2, замінивши xk на xk+1.

Найменування крупнокроковий метод викликане тим, що на кроці 2 використовується крок оптимальної довжини. Якщо ми знову звернемося до алгоритму найшвидшого підйому з оптимальною довжиною кроку, то можна помітити три важливих відмінності у формулюванні операцій кроку 2. По-перше, умова рівності нулю всіх dc/dxj більше не використовується як критерій припинення розрахунків. Це пояснюється тим, що в стаціонарній точці задачі на умовний максимум (будемо називати її відносною стаціонарною точкою) всі часткові похідні не обов’язково повинні дорівнювати нулю. По-друге, оптимальну довжину кроку tk не удається визначити тільки на основі ; tk варто вибирати таким чином, щоб точка xk+1 задовольняла обмеженням задачі. При виконанні допущення про регуляризацію II), умова допустимості означає, що tk завжди кінцево. Результуюче значення tk можна назвати оптимальною допустимою довжиною кроку. По-третє, на кроці 2 не всі напрямки обов’язково визначаються за значеннями dc/dxj, обчисленим для поточної пробної точки (що перевіряється). Використовуючи приклад, легко відшукати причину того, що значення часткових похідних не є адекватним відображенням напрямків.

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

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