что такое симплекс метод простыми словами

Алгоритм и пример симплекс-метода (ММЭ)

Пример 5.1. Решить следующую задачу линейного программирования симплекс-методом:

что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами

что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами

Решение:

I итерация:

1 этап: формирование исходной симплекс-таблицы.

Исходная задача линейного программирования задана в стандартной форме. Приведем ее к каноническому виду путем введения в каждое из ограничений-неравенств дополнительной неотрицательной переменной, т.е.

что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами

В полученной системе уравнений примем в качестве разрешенных (базисных) переменные х3, х4, х5, х6, тогда свободными переменными будут х1,х2. Выразим базисные переменные через свободные:

что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами

Приведем целевую функцию к следующему виду:

что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами

На основе полученной задачи сформируем исходную симплекс-таблицу:

Таблица 5.3

Исходная симплекс-таблица

что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами

что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами

что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами

что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами

что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами

что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами

что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами

что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами

2 этап: определение базисного решения.

Согласно определению базисного решения свободные переменные равны нулю, а значения базисных переменных – соответствующим значениям свободных чисел, т.е.:

что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами.

3 этап: проверка совместности системы ограничений ЗЛП.

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

4 этап: проверка ограниченности целевой функции.

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

5 этап: проверка допустимости найденного базисного решения.

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

6 этап: проверка оптимальности.

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

8 этап: определение разрешающего элемента.

8.1. Определение разрешающей колонки.

Так как найденное базисное решение допустимое, то поиск разрешающей колонки будем производить по следующей схеме: определяем колонки с отрицательными элементами в строке целевой функции (кроме колонки свободных чисел). Согласно таблице 5.3, таких колонок две: колонка «х1» и колонка «х2». Из таких колонок выбирается та, которая содержит наименьший элемент в строке целевой функции. Она и будет разрешающей. Колонка «х2» содержит наименьший элемент (–3) в сравнении с колонкой «х1». Следовательно, ее принимаем в качестве разрешенной.

8.2. Определение разрешающей строки.

Для определения разрешающей строки находим положительные оценочные отношения свободных чисел к элементам разрешающей колонки, строка, которой соответствует наименьшее положительное оценочное отношение, принимается в качестве разрешенной.

Таблица 5.4

Исходная симплекс-таблица

что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами

В таблице 5.4 наименьшее положительное оценочное отношение соответствует строке «х5», следовательно, она будет разрешающей.

Элемент, расположенный на пересечение разрешающей колонки и разрешающей строки, принимается в качестве разрешающего. В нашем примере – это элемент что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами, который расположен на пересечении строки «х5» и колонки «х2».

9 этап: преобразование симплекс-таблицы.

Разрешающий элемент показывает одну базисную и одну свободную переменные, которые необходимо поменять местами в симплекс-таблице, для перехода к новому «улучшенному» базисному решению. В данном случае это переменные х5 и х2, в новой симплекс-таблице (таблице 5.5) их меняем местами.

9.1. Преобразование разрешающего элемента.

Разрешающий элемент таблицы 5.4 преобразовывается следующим образом:

что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами

Полученный результат вписываем в аналогичную клетку таблицы 5.5.

9.2. Преобразование разрешающей строки.

Элементы разрешающей строки таблицы 5.4 делим на разрешающий элемент данной симплекс-таблицы, результаты вписываются в аналогичные ячейки новой симплекс-таблицы (таблицы 5.5). Преобразования элементов разрешающей строки приведены в таблице 5.5.

9.3. Преобразование разрешающей колонки.

Элементы разрешающей колонки таблицы 5.4 делим на разрешающий элемент данной симплекс-таблицы, а результат берется с обратным знаком. Полученные результаты вписываются в аналогичные ячейки новой симплекс-таблицы (таблицы 5.5). Преобразования элементов разрешающей колонки приведены в таблице 5.5.

9.4. Преобразование остальных элементов симплекс-таблицы.

Преобразование остальных элементов симплекс-таблицы (т.е. элементов не расположенных в разрешающей строке и разрешающей колонке) осуществляется по правилу «прямоугольника».

К примеру, рассмотрим преобразование элемента, расположенного на пересечении строки «х3» и колонки «что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами», условно обозначим его «х3что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами». В таблице 5.4 мысленно вычерчиваем прямоугольник, одна вершина которого располагается в клетке, значение которой преобразуем (т.е. в клетке «х3что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами»), а другая (диагональная вершина) – в клетке с разрешающим элементом. Две другие вершины (второй диагонали) определяются однозначно. Тогда преобразованное значение клетки «х3что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами» будет равно прежнему значению данной клетки минус дробь, в знаменателе которой разрешающий элемент (из таблицы 5.4), а в числителе произведение двух других неиспользованных вершин, т.е.:

«х3что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами»: что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами.

Аналогично преобразуются значения других клеток:

«х3 х1»: что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами;

«х4что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами»: что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами;

«х4 х1»: что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами;

«х6что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами»: что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами;

«х6 х1»: что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами;

« что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словамичто такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами»: что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами;

« что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словамих1»: что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами.

В результате данных преобразований получили новую симплекс- таблицу (таблица 5.5).

II итерация:

1 этап: составление симплекс-таблицы.

По результатам симплекс-преобразований предыдущей итерации составляем новую симплекс-таблицу:

Таблица 5.5

Симплекс-таблица II итерации

Источник

Подробный разбор симплекс-метода

Пролог

Недавно появилась необходимость создать с нуля программу, реализующую алгоритм симплекс-метода. Но в ходе решения я столкнулся с проблемой: в интернете не так уж много ресурсов, на которых можно посмотреть подробный теоретический разбор алгоритма (его обоснование: почему мы делаем те или иные шаги) и советы по практической реализации — непосредственно, алгоритм. Тогда я дал себе обещание — как только завершу задачу, напишу свой пост на эту тему. Об этом, собственно, и поговорим.

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

§1. Постановка задачи линейного программирования

Определение: Линейное программирование – математическая дисциплина, посвященная теории и методам решения экстремальных задач на множествах n- мерного пространства, задаваемых системами линейными уравнений и неравенств.

Общая задача линейного программирования (далее – ЛП) имеет вид:

что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами

§2. Каноническая форма задачи ЛП

Каноническая форма задачи ЛП:

что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами

Замечание: Любая задача ЛП сводится к канонической.

Алгоритм перехода от произвольной задачи ЛП к канонической форме:

§3. Угловые точки. Базисные/свободные переменные. Базисные решения

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

Замечание: Базисный вектор имеет размерность (m*1), где m – количество уравнений в системе ограничений.

Для удобства вычислений и наглядности обычно пользуются симплекс-таблицами:

что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами

Замечание: Если ограничения в исходной задаче представлены неравенствами вида ≤, то при приведении задачи к канонической форме, введенные дополнительные переменные образуют начальное базисное решение.

Замечание: Коэффициенты в строке функционала берутся со знаком “-”.

1. Выбираем переменную, которую будем вводить в базис. Это делается в соответствии с указанным ранее принципом: мы должны выбрать переменную, возрастание которой приведет к росту функционала. Выбор происходит по следующему правилу:

Замечание: Хотя мы и берем минимальное отрицательное число в задаче на максимум, этот коэффициент показывает направление роста функционала, т.к. строка функционала в симплекс-таблице взята со знаком “-”. Аналогичная ситуация с минимизацией.

Определение: Столбец симплекс-таблицы, отвечающий выбранному коэффициенту, называется ведущим столбцом.

2. Выбираем переменную, которую будем вводить в базис. Для этого нужно определить, какая из базисных переменных быстрее всего обратится в нуль при росте новой базисной переменной. Алгебраически это делается так:

Замечание: Фактически, мы выражаем старые базисные переменные из каждого уравнения системы ограничений через остальные переменные и смотрим, в каком уравнении возрастание новой базисной переменной быстрее всего даст 0. Попадание в такую ситуацию означает, что мы «наткнулись» на новую вершину. Именно поэтому нулевые и отрицательные элементы не рассматриваются, т.к. получение такого результата означает, что выбор такой новой базисной переменной будет уводить нас из области, вне которой решений не существует.

3. Ищем элемент, стоящий на пересечении ведущих строки и столбца.

Определение: Такой элемент называется ведущим элементом.

4. Вместо исключаемой переменной в первом столбце (с названиями базисных переменных) записываем название переменной, которую мы вводим в базис.

5. Далее начинается процесс вычисления нового базисного решения. Он происходит с помощью метода Жордана-Гаусса.

6. После этого проверяем условие оптимальности. Если полученное решение неоптимально – повторяем весь процесс снова.

§5. Интерпретация результата работы симплекс-метода

Условие оптимальности полученного решения:

Однако, стоит отметить, что заданный функционал может не и достигать максимума/минимума в заданной области. Алгебраический признак этого можно сформулировать следующим образом:

При выборе ведущей строки (исключаемой переменной) результат почленного деления вектора правых частей на ведущий столбец содержит только нулевые и отрицательные значения.

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

3. Альтернативные решения

При нахождении оптимального решения возможен еще один вариант – есть альтернативные решения (другая угловая точка, дающая то же самое значение функционала).

Алгебраический признак существования альтернативы:

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

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

Эпилог

Данная статья направлена на более глубокое понимание теоретической части. В замечаниях и пояснениях здесь можно получить ответы на вопросы, которые обычно опускают при изучении этого метода и принимают априори. Однако, надо понимать, что многие методы численной оптимизации основаны на симплекс-методе (например, метод Гомори, М-Метод) и без фундаментального понимания вряд ли получится сильно продвинуться в дальнейшем изучении и применении всех алгоритмов этого класса.

Чуть позже напишу статью о практической реализации симплекс-метода, а также несколько статей о Методе искусственных переменных (М-Метод), Методе Гомори и Методе ветвей и границ.

Источник

Симплекс-метод. Простое объяснение

Содержание

Причины создания этого учебника [ править ]

В интернете опубликовано множество объяснений алгоритма симплекс-метода, про которые можно смело сказать «лучше ничего, чем это». Они написаны крайне заумным языком и доставляют множество страданий всем, кто пытается с их помощью изучить этот метод линейного программирования.

Целью данного учебника является создание простого и доступного описания алгоритма симплекс-метода, которое можно понять, что называется, «с ходу».

Задача линейного программирования [ править ]

Задача линейного программирования в стандартной форме заключается в том, чтобы найти экстремум функции

c 1 x 1 + c 2 x 2 + ⋯ + c n x n → max <\displaystyle c_<1>x_<1>+c_<2>x_<2>+\cdots +c_x_\rightarrow <\text>> что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами

при заданных ограничениях:

a 11 x 1 + a 12 x 2 + ⋯ + a 1 n x n ≤ b 1 <\displaystyle a_<11>x_<1>+a_<12>x_<2>+\cdots +a_<1n>x_\leq b_<1>> что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами

a 21 x 1 + a 22 x 2 + ⋯ + a 2 n x n ≤ b 2 <\displaystyle a_<21>x_<1>+a_<22>x_<2>+\cdots +a_<2n>x_\leq b_<2>> что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами

a m 1 x 1 + a m 2 x 2 + ⋯ + a m n x n ≤ b m <\displaystyle a_x_<1>+a_x_<2>+\cdots +a_x_\leq b_> что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами

Симплекс-таблица [ править ]

Алгоритм [ править ]

На втором шаге определяется разрешающая строка. Для этого нужно найти симплекс отношение: в каждой строке элемент последнего столбца делится на соответствующий элемент разрешающего столбца. Так получается столбец симплекс-отношений. Минимальный элемент в этом столбце и определяет разрешающую строку.

Остальные элементы новой симплекс таблицы высчитываются по правилу прямоугольника:

Источник

Симплекс-метод

Симплекс-метод — алгоритм решения оптимизационной задачи линейного программирования путём перебора вершин выпуклого многогранника в многомерном пространстве. Метод был разработан советским математиком Канторовичем Л. В. в 1937 году.

Содержание

Описание

что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами

что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами

Задача линейного программирования состоит в том, что необходимо максимизировать или минимизировать некоторый линейный функционал на многомерном пространстве при заданных линейных ограничениях.

Заметим, что каждое из линейных неравенств на переменные ограничивает полупространство в соответствующем линейном пространстве. В результате все неравенства ограничивают некоторый многогранник (возможно, бесконечный), называемый также полиэдральным комплексом. Уравнение W(x) = c, где W(x) — максимизируемый (или минимизируемый) линейный функционал, порождает гиперплоскость L(c). Зависимость от c порождает семейство параллельных гиперплоскостей. Тогда экстремальная задача приобретает следующую формулировку — требуется найти такое наибольшее c, что гиперплоскость L(c) пересекает многогранник хотя бы в одной точке. Заметим, что пересечение оптимальной гиперплоскости и многогранника будет содержать хотя бы одну вершину, причём, их будет более одной, если пересечение содержит ребро или k-мерную грань. Поэтому максимум функционала можно искать в вершинах многогранника. Принцип симплекс-метода состоит в том, что выбирается одна из вершин многогранника, после чего начинается движение по его рёбрам от вершины к вершине в сторону увеличения значения функционала. Когда переход по ребру из текущей вершины в другую вершину с более высоким значением функционала невозможен, считается, что оптимальное значение c найдено.

Последовательность вычислений симплекс-методом можно разделить на две основные фазы:

При этом в некоторых случаях исходное решение очевидно или его определение не требует сложных вычислений, например, когда все ограничения представлены неравенствами вида «меньше или равно» (тогда нулевой вектор совершенно точно является допустимым решением, хотя и, скорее всего, далеко не самым оптимальным). В таких задачах первую фазу симплекс-метода можно вообще не проводить. Симплекс-метод, соответственно, делится на однофазный и двухфазный.

Алгоритм симплекс-метода

Усиленная постановка задачи

что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами

Теперь поставим эту задачу в эквивалентной усиленной форме. Необходимо максимизировать Z, где:

что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами

Здесь x — переменные из исходного линейного функционала, xs — новые переменные, дополняющие старые таким образом, что неравенство переходит в равенство, c — коэффициенты исходного линейного функционала, Z — переменная, которую необходимо максимизировать. Полупространства что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словамии что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словамив пересечении образуют многогранник, представляющий множество допустимых решений. Разница между числом переменных и уравнений даёт нам число степеней свободы. Проще говоря, если мы рассматриваем вершину многогранника, то это число рёбер, по которым мы можем продолжать движение. Тогда мы можем присвоить этому числу переменных значение 0 и назвать их «непростыми». Остальные переменные при этом будут вычисляться однозначно и называться «простыми». Полученная точка будет вершиной в пересечении соответствующих непростым переменным гиперплоскостей. Для того, чтобы найти т. н. начальное допустимое решение (вершину, из которой мы начнём движение), присвоим всем изначальным переменным x значение 0 и будем их считать непростыми, а все новые будем считать простыми. При этом начальное допустимое решение вычисляется однозначно : что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами.

Алгоритм

Теперь приведём шаги алгоритма. На каждом шаге мы будем менять множества простых и непростых векторов (двигаться по рёбрам), и матрица будет иметь следующий вид:

что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами

где cB — коэффициенты вектора c соответствующие простым переменным (переменным xs соответствуют 0), B — столбцы что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами, соответствующие простым переменным. Матрицу, образованную оставшимися столбцами обозначим D. Почему матрица будет иметь такой вид поясним в описании шагов алгоритма.

Выбираем начальное допустимое значение, как указано выше. На первом шаге B — единичная матрица, так как простыми переменными являются xs. cB — нулевой вектор по тем же причинам.

Покажем, что в выражении что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словамитолько непростые переменные имеют ненулевой коэффициент. Заметим, что из выражения Ax+xs=b простые переменные однозначно выражаются через непростые, так как число простых переменных равно числу уравнений. Пусть x ‘ — простые, а x ‘ ‘ — непростые переменные на данной итерации. Уравнение Ax+xs=b можно переписать, как Bx ‘+Dx ‘ ‘=b. Умножим его на что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словамислева: что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами. Таким образом мы выразили простые переменные через непростые, и в выражении что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами, эквивалентному левой части равенства, все простые переменные имеют единичные коэффициенты. Поэтому, если прибавить к равенству что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словамиравенство что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами, то в полученном равенстве все простые переменные будут иметь нулевой коэффициент — все простые переменные вида x сократятся, а простые переменные вида xs не войдут в выражение что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами.

Выберем ребро, по которому мы будем перемещаться. Поскольку мы хотим максимизировать Z, то необходимо выбрать переменную, которая будет более всех уменьшать выражение

что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами.

Для этого выберем переменную, которая имеет наибольший по модулю отрицательный коэффициент. Если таких переменных нет, то есть все коэффициенты этого выражения неотрицательны, то мы пришли в искомую вершину и нашли оптимальное решение. В противном случае начнём увеличивать эту непростую переменную, то есть перемещаться по соответствующему ей ребру. Эту переменную назовём входящей.

Теперь необходимо понять, какая простая переменная первой обратится в ноль по мере увеличения входящей переменной. Для этого достаточно рассмотреть систему:

что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами

При фиксированных значениях непростых переменных система однозначно разрешима относительно простых, поэтому мы можем определить, какая из простых переменных первой достигнет нуля при увеличении входящей. Эту переменную назовем выходящей. Это будет означать, что мы натолкнулись на новую вершину. Теперь входящую и выходящую переменную поменяем местами — входящая «войдёт» в простую, а выходящая из них «выйдет» в непростые. Теперь перепишем матрицу B и вектор cB в соответствии с новыми наборами простых и непростых переменных, после чего вернёмся ко второму шагу.

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

Двухфазный симплекс-метод

Причины использования

Если в условии задачи линейного программирования не все ограничения представлены неравенствами типа «≤», то далеко не всегда нулевой вектор будет допустимым решением. Однако каждая итерация симплекс-метода является переходом от одной вершины к другой, и если неизвестно ни одной вершины, алгоритм вообще не может быть начат.

Процесс нахождения исходной вершины не сильно отличается от однофазного симплекс-метода, однако может в итоге оказаться сложнее, чем дальнейшая оптимизация.

Модификация ограничений

Все ограничения задачи модифицируются согласно следующим правилам:

Соответственно, будет создано некоторое количество дополнительных и вспомогательных переменных. В исходный базис выбираются дополнительные переменные с коэффициентом «+1» и все вспомогательные. Осторожно: решение, которому соответствует этот базис, не является допустимым.

Различия между дополнительными и вспомогательными переменными

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

То есть ненулевое значение дополнительной переменной может (но не должно) сигнализировать о неоптимальности решения. Ненулевое значение вспомогательной переменной сигнализирует о недопустимости решения.

Фазы решения

что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами.

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

Когда будет найдено оптимальное значение вспомогательной целевой функции, могут возникнуть две ситуации:

Во втором случае мы имеем допустимый базис, или, иначе говоря, исходное допустимое решение. Можно проводить дальнейшую оптимизацию с учётом исходной целевой функции, при этом уже не обращая внимания на вспомогательные переменные. Это и является второй фазой решения.

Модифицированный симплекс-метод

В модифицированном методе матрица

что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами

не пересчитывается, хранится и пересчитывается только матрица что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами. В остальном алгоритм похож на вышеописанный.

1. Вычисляем двойственные переменные что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами

2. Проверка оптимальности. что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словамипреобразуется в что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами.

Проверка заключается в вычислении что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словамидля всех столбцов что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами. Столбец со значением что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами=> что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами=>

что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами

Откуда что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами

При пересчете матрицы что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словаминакапливаются ошибки округления. Во избежание получения больших ошибок время от времени матрица пересчитывается полностью. Этот процесс называется «повторением».

Мультипликативный вариант симплекс-метода

В мультипликативном варианте матрица что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словамине хранится, хранятся лишь множители что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами

Другие варианты симплекс-метода

Во избежание накопления ошибок округления может использоваться LU-разложение матрицы.

При подавляющем числе ограничений типа «неравенство» может быть использован метод переменного базиса.

Метод основан на том, что базисная матрица может быть представлена в виде

что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами

Обратная к ней имеет вид

что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами

При относительно небольших размерах матрицы что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словамиостальная часть матрицы может не храниться.

Таким подходом удается решить задачи с десятками миллионов строк ограничений (например, из теории игр).

Двойственный симплекс-метод

Для реализации двойственного метода необходимо перейти от задачи на минимум к задаче на максимум (или наоборот) путем транспонирования матрицы коэффициентов. При переходе от задачи на минимум целевая функция примет вид:

что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами

что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами.

Теорема двойственности. Если из пары двойственных задач одна обладает оптимальным планом, то и другая имеет решение, причем экстремальные значения линейных функций этих задач равны.

Если линейная функция одной из задач не ограничена, то другая не имеет решения.

Вычислительная эффективность

Симплекс-метод удивительно эффективен на практике, но в 1972 Кли и Минти [1] привели пример, в котором симплекс-метод перебирал все вершины симплекса, что показывает экспоненциальную сходимость метода в худшем случае. С тех пор для каждого варианта метода был найден пример, на котором метод вел себя исключительно плохо.

Наблюдения и анализ эффективности метода в практических приложениях привело к развитию других способов измерения эффективности.

Симплекс-метод имеет среднюю полиномиальную сходимость при широком выборе распределения значений в случайных матрицах. [2] [3]

Вычислительная эффективность оценивается обычно при помощи двух параметров:

1) Числа итераций, необходимого для получения решения;

2) Затрат машинного времени.

В результате численных экспериментов получены результаты:

1) Число итераций при решении задач линейного программирования в стандартной форме с что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словамиограничениями и что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словамипеременными заключено между что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словамии что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами. Среднее число итераций что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами. Верхняя граница числа итераций равна что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами.

2) Требуемое машинное время пропорционально что такое симплекс метод простыми словами. Смотреть фото что такое симплекс метод простыми словами. Смотреть картинку что такое симплекс метод простыми словами. Картинка про что такое симплекс метод простыми словами. Фото что такое симплекс метод простыми словами.

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *