У математиці метод виключення змінних Фур'є — Моцкіна використовується для дослідження існування розв'язків системи лінійних нерівностей:

де є матрицею, а .

Оскільки така система задає опуклий політоп, то метод має застосування у опуклій геометрії і також у математичній теорії лінійного програмування.

Вперше метод виключення змінних для нерівностей описав Жан Батист Жозеф Фур'є у 1827 році,[1] у 1936 році його повторно відкрив математик Теодор Моцкін[en].[2]

Опис методу ред.

Нехай задано m лінійних нерівностей від n змінних виду:

 

де всі   і   є дійсними числами. У матричній формі ця система нерівностей записується як:

 

де   є матрицею відповідних коефіцієнтів, а   — вектор-стовпець правих частин нерівностей.

Геометрично така система нерівностей задає опуклий політоп. Метод Фур'є — Моцкіна дає змогу перейти від системи нерівностей із n невідомими до системи із n - 1 невідомою. Послідовно далі можна цю систему привести до системи із n - 2 невідомими і так далі. Щоправда при цьому кількість нерівностей збільшується. Після n кроків виключення змінних одержується система нерівностей без змінних, тобто система виду   Початкова система має розв'язки тоді і тільки тоді коли остання система нерівностей є справедливою, тобто всі   є справді невід'ємними.

Для виключення змінної   із описаної вище системи нерівностей, нехай   позначає множину індексів i для яких     позначає множину індексів i для яких   і   позначає множину індексів i для яких   Для кожного   можна записати:

 

де   а   позначає відповідну афінну функцію. Аналогічно для  :

 

де   а   позначає відповідну афінну функцію.

Нехай також для   позначено   Загалом із цими позначеннями можна записати систему нерівностей у виді:

 

Метод виключення змінних полягає у заміні цієї системи системою   нерівностей виду:

 

Якщо   є розв'язком початкової системи, то очевидно   є розв'язком нової системи. Навпаки, якщо нова система має розв'язок  , то   і для кожного   що задовольняє нерівності:

 

  є розв'язком початкової системи. Зокрема система лінійних нерівностей має хоча б один розв'язок тоді і лише тоді коли хоча б один розв'язок має система одержана виключенням змінної методом Фур'є — Моцкіна.

Матричний запис нової системи рівнянь ред.

Для початкової системи нерівностей   із матрицею розмірності   застосуванням методу Фур'є — Моцкіна одержується система нерівностей яку перенесенням змінних у ліву сторону і вільних членів у праву сторону можна записати у матричній формі:

 де матриця   має розмірність  , а   є вектор-стовпцем із   елементами.

Елементи нових матриці і вектора можна записати із формул вище. Для цього нехай   де   Якщо   або   то нова система нерівностей буде порожньою і будь-який набір чисел   буде її розв'язкам. Тоді для початкової системи   буде розв'язком, якщо   чи в залежності від умов,   Тому можна припустити  

Нехай   є індексами із множини  ,   є індексами із множини  , а  є індексами із множини   Кожен рядок нової матриці   відповідає або парі індексів   або індексу   Для визначеності нехай парі індексів   відповідає   -ий рядок матриці, а індексу   — рядок номер  

Для індексів із множини   коефіцієнти нових матриці і вектора є рівними відповідним коефіцієнтам початкових:

 

Для пари індексів   відповідні елементи одержуються із нерівності  

 

Систему нерівностей одержану застосуванням методу Фур'є — Моцкіна до останньої змінної можна також записати як

 

де   є матрицею розмірності   для якої у   -ому рядку (що, як і вище відповідає впорядкованій парі індексів  , де  ) ненульовими є тільки елементи у  -ому і  -ому стовпцях, які є рівними   і   відповідно. Останній стовпець матриці   є нульовим.

На наступному кроці методом Фур'є — Моцкіна можна виключити змінну   Результат зновуж можна записати як   для деякої матриці   Після n кроків і виключення усіх змінних остаточно одержується система   де   для матриць   які на кожному етапі визначаються, як і вище.

Добуток   є нульовою матрицею і після n кроків система нерівностей має вид   Зокрема початкова система нерівностей має розв'язок тоді і тільки тоді коли всі елементи вектора   є невід'ємними.

Приклад ред.

Нехай задано систему нерівностей із трьома змінними:

 

Для виключення змінної x, всі нерівності можна записати через цю змінну:

 

Відповідно права сторона кожної нерівності зі знаком "≤" має бути не меншою, ніж права сторона нерівності зі знаком "≥". Загалом одержуються 4 нерівності від 2 змінних:

 

Застосування ред.

Складність алгоритму ред.

Після застосування одного кроку методу Фур'є — Моцкіна до системи із   нерівностей може бути одержано щонайбільше   нерівностей, відповідно після   кроків одержується щонайбільше   нерівностей, тобто кількість зростає як подвійне експоненціювання. Причиною цього є величезна кількість залежних нерівностей, які випливають з інших. Тому простий метод Фур'є — Моцкіна на практиці не використовується. Кількість незалежних нерівностей зростає експоненційно.[3] Залежні нерівності можна виявляти за допомогою лінійного програмування.

Також метод має численні теоретичні застосування.

Лема Фаркаша і пов'язані твердження ред.

Метод Фур'є — Моцкіна можна використати для доведення багатьох альтернативних тверджень, які стверджують, що з деяких двох систем лінійних рівнянь та нерівностей розв'язок має одна і тільки одна.

Одне із таких тверджень, яке є варіантом леми Фаркаша відразу випливає із матричного запису результатів застосування метод Фур'є — Моцкіна. Вище була отримана матиця   така, що після   послідовних кроків метод Фур'є — Моцкіна одержується система нерівностей   і добуток   є нульовою матрицею. Також із властивостей методу ця система має хоч один розв'язок тоді і тільки тоді коли хоч один розв'язок має початкова система   а матриця   є невід'ємною (оскільки вона є добутком невід'ємних матриць  ) . Тому, якщо система   не має розв'язку то нерівності  не всі виконуються тобто існує рядок матриці   добуток якого на вектор   є від'ємним. Іншими словами існує вектор стовпець   розмірності   із невід'ємними компонентами, що   і  . Натомість якщо система   має розв'язки, то із   випливає   Відповідно із двох систем нижче має розв'язок одна і тільки одна:

  1.  
  2.  

Звідси, як вказано у статті лема Фаркаша можна одержати і стандартну лему Фаркаша, яка стверджує, що із двох систем нижче має розв'язок одна і тільки одна:

  1.  
  2.  

Див. також ред.

Примітки ред.

  1. J.B.J. Fourier у: Analyse des travaux de l'Académie Royale des Sciences pendant l'année 1824, Partie mathématique, 1827.
  2. T.S. Motzkin: Beiträge zur Theorie der Linearen Ungleichungen.
  3. David Monniaux, Quantifier elimination by lazy model enumeration [Архівовано 20 вересня 2021 у Wayback Machine.], Computer aided verification (CAV) 2010.

Література ред.

  • Komei Fukuda. Lecture: Polyhedral Computation, Spring 2016.
  • Schrijver, Alexander (1998). Theory of Linear and Integer Programming. John Wiley & sons. с. 155–156. ISBN 978-0-471-98232-6.