Я хотів додати, як вирішити перетворення обмежень у використаній формі для квадратичного програмування, оскільки це не так просто, як я думав. Неможливо знайти справжню матрицю таку, що .∑|wi|≤sAAw≤s↔∑|wi|≤s
Я використовував підхід, щоб розділити елементи вектора на і , так що . Якщо , у вас є і , інакше у васі . Або, більш математично, іІ і - це негативні числа. Ідея розподілу чисел вгору полягає в тому, що тепер у вас єwiww+iw−iwi=w+i−w−iwi≥0w+i=wiw−i=0w−i=|wi|w+i=0w+i=|wi|+wi2w−i=|wi|−wi2.w−iw+i|wi|=w+i+w−i, ефективно позбувшись абсолютних значень.
Функція оптимізації перетворюється на: , предмет до
12(w+−w−)TQ(w+−w−)+cT(w+−w−)w+i+w−i≤s,w+i,w−i≥0
Де і задані, як зазначено вище Glen_bQc
Це потрібно перетворити на зручну форму, тобто нам потрібен один вектор. Це робиться наступним чином:
12[w+w−]T[Q−Q−QQ][w+w−]+[cT−cT][w+w−]
на тему
[ID−I2DID][w+w−]≤[sD02D]
Де - одинична матриця, - -вимірний вектор, що складається лише зі значення і a -вимірний нульовий вектор. Перша половина забезпечує , другий Тепер це у використаній формі використовувати квадратичне програмування для пошуку і , заданих . Після цього ваш оптимальний параметр відносно - . D s D D s 0 D 2 ∗ D | w i | = w + i + w - i ≤ s w + i , w - i ≥ 0 w + w - s s w = w + - w -IDDsDDs0D2∗D|wi|=w+i+w−i≤sw+i,w−i≥0w+w−ssw=w+−w−
Джерело та подальше читання: Розв’язування задачі квадратичного програмування лінійними обмеженнями, що містять абсолютні значення