Методы решения задач дискретной оптимизации

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

f(x)->max(min)

g(x)<(>.=)bj, xj принадлежит Dj – множеству допустимых значений параметра xj.

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

1) Метод отсечений – предназначен для решения линейных целочисленных или частично целочисленных задач.

2) Комбинаторные методы 3) Приближенные методы

1) Метод отсечения. Решение задач целочисленной линейной оптимизации методом отсечений сводится к решению последовательности спец. образом построенных задач P0,P1,Ps. Задача P0 образуется из исходной задачи путем отбрасывания условия целочисленности. Каждая последующая задача P1,P2…Ps, образуется из предыдущей путем добавления к ней дополнительных линейных ограничений, которые называются правильным отсечением. Методы отсечения различаются между собой способами формирования дополнительных ограничений. Наиболее распространенным является метод отсечения Гомори.

Основные шаги метода ГОМОРИ.

1) Определение оптимального решения исходной задачи без учета требований целочисленности. Условие целочисленности отбрасывается и задача решается обычным симплекс- методом.

2) Если полученное решение целочисленное – то работа алгоритма заканчивается, в противном случае переход к шагу 3

3) На основании последней симплекс таблицы формируем отсечение ГОМОРИ. ∑{asi}xj >={bsj}, s номер строки таблицы, которой соответствует переменная с наибольшей дробной частью.

4) Добавление дополнительных ограничений к условию решаемой задачи: ∑{asi}xj -xd={bsj}, где xd- дополнительная переменная, умноженная на -1 - ∑{asi}xj +xd=-{bsj}.Добавляется к последней симплекс таблице и полученная задача решается двойственным сиплекс методом.

5) Переход к шагу 2.

Недостатки; метод может использоваться для решения частично- целочисленных задач. Недостатки: метод используется для решения линейно-целочисленных задач. В процессе решения при добавлении дополнительных ограничения размер задачи возрастает.

2) Комбинаторные методы. К ним относятся метод ветвей и границ, он используется как для решения линейных так и нелинейных задач. Основан на использовании конечности множества допустимых вариантов и замене полного перебора частичным перебором. Полного перебора удается избежать путем отбрасывания неперспективных множеств, т.е. множеств, где заранее нет перспективного решения. В процессе поиска строится дерево вариантов. Каждой подвершине дерева вариантов соответствует подзадача исходной задачи.

3) Приближённые методы. Для точного алг-ма нужно знать трудоёмкость и память. Для приближенного алгоритма, кроме трудоемкости и памяти, вводят такие параметры, как относительная погрешность еА алгоритма А и вероятность несрабатывания 6А алгоритма А.

 

Постановка задач нелинейного программирования. Задачи выпуклого программирования. Функция Лагранжа, принципы ее построения. Метод множителей Лагранжа для решения задач на условный экстремум.

1) В общем виде задача нелинейной оптимизации может быть сформулирована в следующем виде: f(x)->max (min);

gi(x)<=>bi, i=1..m. При этом хотя бы одна из функций f(x) или gi(x) является нелинейной. Задача с ограничениями называется задачей с условной оптимизацией, а задачи без ограничений- задачи безусловной оптимизации.

Для задач безусловной оптимизации необходимое условие экстремума заключается в том, что в оптимальной точке все частные производные целевой функции должны быть равны 0. Для проверки достаточного условия экстремума необходимо построить матрицу вторых производных G(x*)целевой функции в оптимальной точке.

Характер точки X* связан со знакоопределенностью квадратичной формы: XT G(X*)X, x не равен 0.

Данная квадратичная форма является положительно определенной если она > 0, отрицательно определенной если она < 0, Положительно полуопреленная если она >=0, отрицательнополуопреленная <=0, неопределенной если при некоторм x не равным 0 она может приниать как положительные значения таки отрицательные.

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

Для проверки знакоопределенности используют критерий Сильвестра, согласно которому квадратичная форма положительноопределена тогда, когда все главные миноры матрицы G(x*) положительны, квадратичная форма отрицательно определена, когда первый угловой минор отрицательный, а далее знаки чередуются +,-.

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

3) Функция Лагранжа, принцип ее построения.

F(x1,x2…xn, λ1…λm)=f(x1…xn)+ , - являются произвольными числами и называются множителями Лагранжа.

4) Метод множителей Лагранжа позволяет находить экстремум функции при ограничениях – равенствах.

- Составляется функция Лагранжа.

- Определяются частные производные функции Лагранжа по всем переменным и приравниваются к 0. В итоге получается система из n+m уравнений с n+m неизвестными, решая эту систему уравнений получаем точки подозрительные на экстремум.

Найденные точки дальше исследуются на минимум или максимум.

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

 

 

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: