Big Black
- 1 year ago
- 0
- 0
Big M — метод решения задач линейного программирования с использованием симплексного алгоритма . Позволяет распространить симплексный алгоритм на задачи, которые содержат ограничения «больше, чем». Такое распространение осуществляется за счёт того, что связи ассоциируются с большими по величине отрицательными постоянными, которые не были бы частью какого-либо оптимального решения, если бы оно существовало.
Симплекс-метод является оригинальным и до сих пор одним из наиболее широко используемых методов решения задач линейной максимизации. Однако для его применения начало координат (все переменные равны 0) должно быть допустимой точкой. Это условие выполняется только тогда, когда все связи (кроме неотрицательности) меньше связей типа «меньше чем» и с положительной константой в правой части. Метод вводит избыточные и искусственные переменные для преобразования всех неравенств к этому виду; название метода обусловлено наличием большого числа искусственных переменных, обозначаемых .
Шаги в алгоритме следующие:
Например, ограничение принимает вид , в то время как ограничение записывается как . Должно быть показано, что искусственные переменные равны 0. Функция, подлежащая максимизации, переписывается так, чтобы включить в неё сумму всех искусственных переменных. Затем применяются сокращения строк для получения окончательного решения.
Значение должно быть выбрано достаточно большим, чтобы искусственная переменная не была частью какого-либо осуществимого решения.
Для достаточно большого оптимальное решение содержит любые искусственные переменные в базисе (то есть положительные значения) тогда и только тогда, когда задача не имеет решения.
При использовании в целевой функции метод Big M применяется для задач линейной оптимизации, в которых нарушения связи или нескольких связей обусловлено наличием большой положительной штрафной постоянной .
При использовании в самих связях, Big M может быть применён для обеспечения равенства переменных только тогда, когда определённая двоичная переменная принимает одно значение, но оставляет переменные «открытыми», если двоичная переменная принимает противоположное значение. Один из примеров этого заключается в следующем: для достаточно больших двоичных переменных и (0 или 1) связи:
обеспечивают тот факт, что если , то . В противном случае, когда выполняется условие если , то имеет место неравенство , указывающее на то, что переменные x и y могут иметь любые значения до тех пор, пока абсолютное значение их разности ограничено величиной (следовательно, необходимо, чтобы было «достаточно большим»).