Jump to content

Базовое возможное решение

В теории линейного программирования базовое допустимое решение ( BFS ) — это решение с минимальным набором ненулевых переменных. Геометрически каждая BFS соответствует вершине многогранника допустимых решений. Если существует оптимальное решение, то существует и оптимальная БФС. Следовательно, для поиска оптимального решения достаточно рассмотреть BFS-ы. Этот факт используется симплексным алгоритмом , который по сути перемещается от одной BFS к другой, пока не будет найдено оптимальное решение. [1]

Определения

[ редактировать ]

Предварительные сведения: эквациональная форма с линейно независимыми строками.

[ редактировать ]

Для приведенных ниже определений мы сначала представим линейную программу в так называемой эквациональной форме :

максимизировать
при условии и

где:

  • и – векторы размера n (количество переменных);
  • — вектор размера m (количество ограничений);
  • представляет собой m матрицу размером × n ;
  • означает, что все переменные неотрицательны.

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

В качестве предварительного этапа очистки мы проверяем, что:

  • Система имеет хотя бы одно решение (иначе вся ЛП не имеет решения и делать больше нечего);
  • Все m строк матрицы линейно независимы, т. е. его ранг равен m (в противном случае мы можем просто удалить лишние строки, не меняя ЛП).

Возможное решение

[ редактировать ]

ЛП Допустимым решением является любой вектор такой, что . Мы предполагаем, что существует хотя бы одно допустимое решение. Если m = n , то существует только одно допустимое решение. Обычно m < n , поэтому система имеет множество решений; каждое такое решение называется допустимым решением ЛП.

Базисом неособая ЛП является подматрица A со всеми m строками и только m < n столбцами.

Иногда термин базис используется не для самой подматрицы, а для набора индексов ее столбцов. Пусть B — подмножество m индексов из {1,..., n }. Обозначим через квадратная m матрица размером на m, состоящая из m столбцов индексируется Б. ​Если несингулярен , , столбцы, B являются базисом пространства столбцов индексированные . В этом случае мы называем B базисом ЛП.

Начиная с ранга есть m , оно имеет хотя бы один базис; с имеет n столбцов, имеет не более базы.

Базовое возможное решение

[ редактировать ]

Учитывая базис B , мы говорим, что допустимое решение является базовым допустимым решением с базисом B, если все его ненулевые переменные проиндексированы B , то есть для всех .

Характеристики

[ редактировать ]

1. БФС определяется только ограничениями ЛП (матрица и вектор ); это не зависит от цели оптимизации.

2. По определению BFS имеет не более m ненулевых переменных и не менее n - m нулевых переменных. BFS может иметь менее m ненулевых переменных; в этом случае он может иметь много разных оснований, каждая из которых содержит индексы ненулевых переменных.

3. Возможное решение является базовым тогда и только тогда, когда столбцы матрицы линейно независимы, где K — множество индексов ненулевых элементов . [1] : 45 

4. Каждый базис определяет уникальную БФС: для каждого базиса B из m индексов существует не более одной БФС. с Б. базисом Это потому, что должно удовлетворять ограничению , и по определению базиса матрица не является сингулярным, поэтому ограничение имеет единственное решение:

Обратное неверно: каждый BFS может происходить из множества разных баз. Если единственное решение удовлетворяет ограничениям неотрицательности , то B называется допустимым базисом .

5. Если линейная программа имеет оптимальное решение (т. е. имеет допустимое решение и множество допустимых решений ограничено), то она имеет оптимальную БФС. Это следствие принципа максимума Бауэра : цель линейной программы выпукла; множество допустимых решений выпукло (оно является пересечением гиперпространств); поэтому цель достигает своего максимума в крайней точке множества возможных решений.

Поскольку число BFS-ов конечно и ограничено , оптимальное решение любой ЛП можно найти за конечное время, просто вычислив целевую функцию во всех БФС-с. Это не самый эффективный способ решения ЛП; симплексный алгоритм проверяет BFS гораздо более эффективным способом.

Рассмотрим линейную программу со следующими ограничениями:

Матрица А :

Здесь m =2 и имеется 10 подмножеств по 2 индекса, однако не все из них являются базисами: набор {3,5} не является базисом, поскольку столбцы 3 и 5 линейно зависимы.

Множество B ={2,4} является базисом, поскольку матрица не является особенным.

Единственная БФС, соответствующая этому базису, равна .

Геометрическая интерпретация

[ редактировать ]

Множество всех возможных решений является пересечением гиперпространств . Следовательно, это выпуклый многогранник . Если он ограничен, то это выпуклый многогранник . Каждый BFS соответствует вершине этого многогранника. [1] : 53–56 

Основные возможные решения двойной задачи

[ редактировать ]

Как упоминалось выше, каждый базис B определяет единственное базовое допустимое решение. . Аналогичным образом каждый базис определяет решение двойственной линейной программы :

минимизировать
при условии .

Решение .

Поиск оптимального BFS

[ редактировать ]

Существует несколько методов поиска оптимального BFS.

Использование симплексного алгоритма

[ редактировать ]

На практике самый простой способ найти оптимальную BFS — использовать симплексный алгоритм . В каждой точке своего выполнения он сохраняет «текущий базис» B (подмножество m из n переменных), «текущую BFS» и «текущую таблицу». Таблица представляет собой представление линейной программы, в которой базовые переменные выражаются через небазисные: [1] : 65  где — вектор m основных переменных, - вектор n неосновных переменных, а является целью максимизации. Поскольку неосновные переменные равны 0, текущий BFS равен , и текущая цель максимизации .

Если все коэффициенты в отрицательны, то является оптимальным решением, поскольку все переменные (включая все неосновные переменные) должны быть не меньше 0, поэтому вторая строка подразумевает .

Если некоторые коэффициенты в положительны, то можно увеличить цель максимизации. Например, если является неосновным и его коэффициент в положительно, то увеличение его выше 0 может привести к больше. Если это можно сделать, не нарушая других ограничений, то увеличенная переменная становится базовой («входит в базис»), а некоторая базовая переменная уменьшается до 0, чтобы сохранить ограничения равенства, и, таким образом, становится небазовой («выходит из базиса»). основа»).

Если этот процесс выполняется тщательно, то можно гарантировать, что увеличивается до тех пор, пока не достигнет оптимального значения BFS.

Преобразование любого оптимального решения в оптимальную BFS

[ редактировать ]

В худшем случае для выполнения симплексного алгоритма может потребоваться экспоненциально много шагов. Существуют алгоритмы решения ЛП за слабо-полиномиальное время , такие как метод эллипсоида ; однако они обычно возвращают оптимальные решения, которые не являются базовыми.

Однако, учитывая любое оптимальное решение ЛП, легко найти оптимальное допустимое решение, которое также является базовым . [2] : см. также «внешние ссылки» ниже.

Нахождение базиса, который является одновременно первично-оптимальным и дуально-оптимальным.

[ редактировать ]

Базис B ЛП называется дуально оптимальным, если решение является оптимальным решением двойной линейной программы, т. е. минимизирует . В общем, первично-оптимальный базис не обязательно является дуально-оптимальным, а дуально-оптимальный базис не обязательно является первично-оптимальным (фактически, решение первично-оптимального базиса может быть даже неосуществимо для двойственного, и наоборот ).

Если оба является оптимальным BFS исходной ЛП, а является оптимальной БФС двойственной ЛП, то базис B называется PD-оптимальным . Каждая ЛП с оптимальным решением имеет PD-оптимальный базис, и он находится с помощью алгоритма Simplex . Однако в худшем случае время его выполнения экспоненциально. Нимрод Мегиддо доказал следующие теоремы: [2]

  • Существует строго полиномиальный алгоритм по времени, который вводит оптимальное решение для первичной ЛП и оптимальное решение для двойственной ЛП и возвращает оптимальный базис.
  • Если существует алгоритм со строго полиномиальным временем , который вводит оптимальное решение только для первичной ЛП (или только для двойственной ЛП) и возвращает оптимальный базис, то существует алгоритм со сильно полиномиальным временем для решения любой линейной программы (последний представляет собой знаменитая открытая задача).

Алгоритмы Мегиддо могут быть выполнены с использованием таблицы, как и симплексный алгоритм.

[ редактировать ]
  1. ^ Jump up to: а б с д Гертнер, Бернд; Матушек, Иржи (2006). Понимание и использование линейного программирования . Берлин: Шпрингер. ISBN  3-540-30697-8 . : 44–48 
  2. ^ Jump up to: а б Мегиддо, Нимрод (1 февраля 1991 г.). «О нахождении первично- и дуально-оптимальных базисов» . Журнал ORSA по вычислительной технике . 3 (1): 63–65. CiteSeerX   10.1.1.11.427 . дои : 10.1287/ijoc.3.1.63 . ISSN   0899-1499 .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: cb8232a8fdd23a72971533103ab8a47b__1716495600
URL1:https://arc.ask3.ru/arc/aa/cb/7b/cb8232a8fdd23a72971533103ab8a47b.html
Заголовок, (Title) документа по адресу, URL1:
Basic feasible solution - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)