LINUX.ORG.RU

История изменений

Исправление dikiy, (текущая версия) :

А так путь такой:

приводишь целевую функцию к виду f(k)=k^t Q k + c^t k, где k=(k_1, k_2)^t.

Система KKT получается такая:

Qk + c-µ₁-µ₂=0

µ₁,µ₂ ≥ 0

µ₁k₁=µ₂k₂=0.

Теперь первый вариант: ни один из множителей µ_i не равен нулю, значит k₁=k₂=0. Посчитал функцию f(k) и запомнил.

второй вариант: µ₁=0,µ₂>0. Значит k₂=0. Получаем задачу оптимизации с одним переменным. и двумя вариантами k₁=0 и k₁>0. Первый вариант уже известен, считаем второй просто вычислив k₁ из уравнения Qk+c=0 при k₂=0.

Аналогично считаем третий вариант с µ₁>0, µ₂=0.

Четвертый вариант с µ₁ и µ₂ >0 получаем опять же из простого уравнения Qk+c=0.


Единственная проблема, которая может возникнуть, это если Q не строго положительно определена. Но этого не будет, ибо целевая функция строго выпуклой выходит.

Исходная версия dikiy, :

А так путь такой:

приводишь целевую функцию к виду f(k)=k^t Q k + c^t k, где k=(k_1, k_2)^t.

Система KKT получается такая:

Qk + c-µ₁-µ₂=0

µ₁,µ₂ ≥ 0

µ₁k₁=µ₂k₂=0.

Теперь первый вариант: ни один из множителей µ_i не равен нулю, значит k₁=k₂=0. Посчитал функцию f(k) и запомнил.

второй вариант: µ₁=0,µ₂>0. Значит k₂=0. Получаем задачу оптимизации с одним переменным. и двумя вариантами k₁=0 и k₁>0. Первый вариант уже известен, считаем второй просто вычислив k₁ из уравнения Qk+c=0 при k₂=0.

Аналогично считаем третий вариант с µ₁>0, µ₂=0.

Четвертый вариант с µ₁ и µ₂ >0 получаем опять же из простого уравнения Qk+c=0.


Единственная проблема, которая может возникнуть, это если Q не строго положительно определена. Но этого не будет, ибо целевая функция строго выходит.