КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Третий шаг
Теперь необходимо понять, какая простая переменная первой обратится в ноль по мере увеличения входящей переменной. Для этого достаточно рассмотреть систему:
При фиксированных значениях непростых переменных система однозначно разрешима относительно простых, поэтому мы можем определить, какая из простых переменных первой достигнет нуля при увеличении входящей. Эту переменную назовем выходящей. Это будет означать, что мы натолкнулись на новую вершину. Теперь входящую и выходящую переменную поменяем местами — входящая «войдёт» в простую, а выходящая из них «выйдет» в непростые. Теперь перепишем матрицу B и вектор cB в соответствии с новыми наборами простых и непростых переменных, после чего вернёмся ко второму шагу. x'' Поскольку число вершин конечно, то алгоритм однажды закончится. Найденная вершина будет являться оптимальным решением. [править]Двухфазный симплекс-метод [править]Причины использования Если в условии задачи линейного программирования не все ограничения представлены неравенствами типа «≤», то далеко не всегда нулевой вектор будет допустимым решением. Однако каждая итерация симплекс-метода является переходом от одной вершины к другой, и если неизвестно ни одной вершины, алгоритм вообще не может быть начат. Процесс нахождения исходной вершины не сильно отличается от однофазного симплекс-метода, однако может в итоге оказаться сложнее, чем дальнейшая оптимизация. [править]Модификация ограничений Все ограничения задачи модифицируются согласно следующим правилам: · ограничения типа «≤» переводятся на равенства созданием дополнительной переменной с коэффициентом «+1». Эта модификация проводится и в однофазном симплекс-методе, дополнительные переменные в дальнейшем используются как исходный базис. · ограничения типа «≥» дополняются одной переменной с коэффициентом «−1». Поскольку такая переменная из-за отрицательного коэффициента не может быть использована в исходном базисе, необходимо создать ещё одну, вспомогательную, переменную. Вспомогательные переменные всегда создаются с коэффициентом «+1». · ограничения типа «=» дополняются одной вспомогательной переменной. Соответственно, будет создано некоторое количество дополнительных и вспомогательных переменных. В исходный базис выбираются дополнительные переменные с коэффициентом «+1» и все вспомогательные. Осторожно: решение, которому соответствует этот базис, не является допустимым. [править]Различия между дополнительными и вспомогательными переменными Несмотря на то, что и дополнительные, и вспомогательные переменные создаются искусственно и используются для создания исходного базиса, их значения в решении сильно отличаются: · дополнительные переменные сообщают, насколько соответствующее им ограничение «недоиспользовано». Значение дополнительной переменной, равное нулю, соответствует равенству значений правых и левых частей ограничения. · вспомогательные переменные сообщают, насколько данное условие далеко от допустимого (относительно конкретного ограничения). Если значение вспомогательной переменной больше нуля, то данное решение не выполняет определённое ограничение, а значит не является допустимым. То есть ненулевое значение дополнительной переменной может (но не должно) сигнализировать о неоптимальности решения. Ненулевое значение вспомогательной переменной сигнализирует о недопустимости решения. [править]Фазы решения После того, как было модифицировано условие, создаётся вспомогательная целевая функция. Если вспомогательные переменные были обозначены, как yi, i∈{1,.., k}, то вспомогательную функцию определим, как
После этого проводится обыкновенный симплекс-метод относительно вспомогательной целевой функции. Поскольку все вспомогательные переменные увеличивают значение Когда будет найдено оптимальное значение вспомогательной целевой функции, могут возникнуть две ситуации: · оптимальное значение · оптимальное значение Во втором случае мы имеем допустимый базис, или, иначе говоря, исходное допустимое решение. Можно проводить дальнейшую оптимизацию с учётом исходной целевой функции, при этом уже не обращая внимания на вспомогательные переменные. Это и является второй фазой решения. [править]Модифицированный симплекс-метод В модифицированном методе матрица
не пересчитывается, хранится и пересчитывается только матрица 1. Вычисляем двойственные переменные 2. Проверка оптимальности. Проверка заключается в вычислении Часто выбирают минимальное значение, но для этого нужно перебрать все столбцы. Чаще выбирают значение, меньшее некоторого заданного значения Если такого столбца не обнаружится, за 3. Определение выводимого. Пусть Умножим слева на Здесь Находим максимальное значение 4. Пересчет опорного(базисного) плана. Вычисляем новый опорный план по уже приведенной формуле 5. Пересчитываем обратную к базисной Пусть Матрица B представима в виде где После замены столбца базисная матрица будет иметь вид Нам нужно найти матрицу
Откуда Замечание. При пересчете матрицы [править]Мультипликативный вариант симплекс-метода В мультипликативном варианте матрица При решении экономических задач часто матрица ограничений разреженная, в таком случае мультипликативный вариант получает дополнительные преимущества - можно хранить мультипликаторы в сжатом виде (не хранить нули). [править]Другие варианты симплекс-метода Во избежание накопления ошибок округления может использоваться LU-разложение матрицы. При подавляющем числе ограничений типа "неравенство" может быть использован метод переменного базиса. Метод основан на том, что базисная матрица может быть представлена в виде
Обратная к ней имеет вид
При относительно небольших размерах матрицы Таким подходом удается решить задачи с десятками миллионов строк ограничений (например, из теории игр). [править]Двойственный симплекс-метод Для реализации двойственного метода необходимо перейти от задачи на минимум к задаче на максимум (или наоборот) путем транспонирования матрицы коэффициентов. При переходе от задачи на минимум целевая функция примет вид:
при ограничениях
Теорема двойственности. Если из пары двойственных задач одна обладает оптимальным планом, то и другая имеет решение, причем экстремальные значения линейных функций этих задач равны. Если линейная функция одной из задач не ограничена, то другая не имеет решения. [править]Вычислительная эффективность Симплекс-метод удивительно эффективен на практике, но в 1972 Кли и Минти [1] привели пример, в котором симплекс-метод перебирал все вершины симплекса, что показывает экспоненциальную сходимость метода в худшем случае. С тех пор для каждого варианта метода был найден пример, на котором метод вел себя исключительно плохо. Наблюдения и анализ эффективности метода в практических приложениях привело к развитию других способов измерения эффективности. Симплекс-метод имеет среднюю полиномиальную сходимость при широком выборе распределения значений в случайных матрицах.[2][3] Вычислительная эффективность оценивается обычно при помощи двух параметров: 1) Числа итераций, необходимого для получения решения; 2) Затрат машинного времени. В результате численных экспериментов получены результаты: 1) Число итераций при решении задач линейного программирования в стандартной форме с 2) Требуемое машинное время пропорционально Число ограничений больше влияет на вычислительную эффективность, чем число переменных, поэтому при формулировке задач линейного программирования нужно стремиться к уменьшению числа ограничений пусть даже путём роста числа переменных.
37. Постановка задачи сегментации изображений. Пороговая сегментация.
http://cgm.computergraphics.ru/content/view/147
http://makseq.com/materials/lib/Articles-Books/Speech%20Recognition/%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%83%D1%80%D0%BD%D0%B0%D1%8F%20%D1%81%D0%B5%D0%B3%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9%20%D0%BD%D0%B0%20%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8%20%D0%BC%D0%B0%D1%80%D0%BA%D0%BE%D0%B2%D1%81%D0%BA%D0%B8%D1%85.pdf
http://habrahabr.ru/post/114153/
Дата добавления: 2014-01-04; Просмотров: 614; Нарушение авторских прав?; Мы поможем в написании вашей работы! |