Сильна двоїстість

Матеріал з testwiki
Версія від 13:10, 27 квітня 2022, створена imported>Lxlalexlxl
(різн.) ← Попередня версія | Поточна версія (різн.) | Новіша версія → (різн.)
Перейти до навігації Перейти до пошуку

Сильна двоїстість — випадок у математичній оптимізації, коли пряма і двоїсті цільові значення рівні. Існує подібний випадок, слабка двоїстість, коли пряма задача має оптимальне значення не менше за двоїсту, тобто, розрив двоїстості більший або рівний нулю.

Лінійне програмування

Пряма задача Двоїста задача
максимізувати cTx мінімізувати bTy
за умов Axb за умов ATy=cy0

Теорема про сильну двоїстість: Якщо пряма і двоїсті задачі розв'язні, тоді оптимальні точки x,y задовольняють cTx=yTb.

Доведення: Розглянемо таке рівняння

[A0cTbT0AT0AT0I][xy][b0cc0]

Якщо існують x,y, що задовольняють цьому рівнянню, тоді Axb, отже x допустимий розв'язок, y0 і ATy=c, отже y також допустимий розв'язок. Тоді оскільки cTx+bTy0 та за принцип слабкої двоїстості маємо, що cTx=yTb і на цьому доведення закінчено. Інакше, згідно з наслідком леми Фаркаша, існує вектор [yTλxpTxmTwT]0, що задовольняє

[yTλxpTxmTwT][A0cTbT0AT0AT0I]=0 і [yTλxpTxmTwT][b0cc0]<0

З цього маємо таке

  1. yTA=λcT і y0
  2. λb+A(xmxp)w=0, тобто A(xpxm)λb
  3. yTb<cT(xpxm)

Якщо λ>0, тоді можна помножити вектор [yTλxpTxmTwT] на 1/λ і вважати, що λ=1. Однак, тоді пункти 1 і 2 показують, що xpxm і y допустимі для прямої і двоїстої задач відповідно, а пункт 3 суперечить слабкій двоїстості.

Інакше, якщо λ=0, то з пункту 3 випливає, що або yT<0, або cT(xpxm)>0. У першому випадку двоїста програма необмежена, що суперечить розв'язності прямої. Це можна побачити так: припустимо, що yf — допустимий розв'язок двоїстої програми, оберемо довільне μ>0 і розглянемо yf+μy. Ця сума також є допустимим розв'язком двоїстої програми, оскільки yf+μy0 і (yf+μy)TA=yfTA+μyTA=bT і можна зробити (yf+μy)T як завгодно великим вибравши відповідне μ. Якщо cT(xpxm)>0, то аналогічні доводи показують, що пряма задача необмежена, що також дає суперечність.

Див. також