Бар'єрна функція

Матеріал з testwiki
Перейти до навігації Перейти до пошуку

В оптимізації з обмеженнями, бар'єрна функція — це неперервна функція чиє значення у точці наближається до нескінченності якщо точка наближається до границі допустимої області задачі оптимізації.[1] Такі функції використовуються для того, щоб замінити обмеження задані нерівностями через штрафний доданок у цільовій функції.

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

Мотивація

Розглянемо таку задачу оптимізації з обмеженнями:

мінімізувати Шаблон:Math
за умов Шаблон:Math

де Шаблон:Mvar — якась стала. Якщо користувач бажає видалити обмеження-нерівності, задачу можна переформулювати як

мінімізувати Шаблон:Math,
де Шаблон:Math якщо Шаблон:Math, інакше нуль.

Ця задача тотожна першій. Тут ми позбавились нерівностей, але додали проблему, що штрафна функція Шаблон:Mvar і, отже, цільова функція Шаблон:Math, не є неперервними, тим самим відкинувши можливість використання обчислення для розв'язання.

Бар'єрна функція це неперервне наближення Шаблон:Mvar до Шаблон:Mvar, яке прагне нескінченності коли Шаблон:Mvar наближається до Шаблон:Mvar згори. Використовуючи цю функцію можна сформулювати нову задачу оптимізації.

мінімізувати Шаблон:Math

де Шаблон:Math це вільний параметр. Ця задача не є тотожною до початкової, але коли Шаблон:Mvar наближається до нуля, вона стає все кращим наближенням.[2]

Логарифмічна бар'єрна функція

Для логарифмічних бар'єрних функцій, g(x,b) визначена як log(bx) коли x<b і інакше (для одновимірного випадку. Дивись нижче для багатовимірного). По суті тут ми покладаємося на факт того, що log(t) прагне до від'ємної нескінченності коли t прагне до 0.

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

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

Вищі виміри

За умови, що кожен вимір є незалежним, розширення на вищі виміри просте. Для кожної змінної xi, яка має бути строго менша ніж bi, додати log(bixi).

Формальне визначення

Мінімізувати 𝐜Tx subject to 𝐚iTxbi,i=1,,m

Припустимо строгу допустимість: {𝐱|Ax<b}

Визначимо логарифмічний бар'єр Φ(x)={i=1mlog(biaiTx)Ax<b+Axb

Примітки

Шаблон:Reflist

Посилання

Шаблон:Ізольована стаття