Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Предназначен для увеличения числа 0 матрицы




Шаг первый: Среди невыделенных элементов матрицы Ск выбирается минимальный элемент h. h>0.

Шаг второй: Число h прибавляется ко всем элементам выделенных столбцов и вычитается из всех невыделенных строк матрицы.

Получаем, в которой количество 0 увеличивается хотя бы на один 0.В матрице восстанавливаются звездочки над теми 0 где они были в матрице. И ставится знак "+" над столбцами с независимыми 0. Переход к этапу первому.

 

Лекция 15. Целочисленное программирование.

Большой класс задач оптимизации сводятся к задачам целочисленного программирования.

Общая особенность таких задач – требование целочисленности решения.

Постановка задачи:

(1)

(2)

, , -целые (3)

Будем называть задачу 1-2 непрерывной задачей линейного программирования (без учета целочисленности).

Рассмотрим возможности применения для задач целочисленного программирования методов линейного программирования.

Пример:

, целые

Если решить эту задачу без учета целочисленности, то решение будет следующим:

, , .

Округлим решение:

, , .

3-е ограничение противоречиво; округлим в меньшую сторону:

, , .

1-е ограничение противоречиво.

Таким образом, этот способ неприменим.

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

 

Методы отсечения.

Идея всех методов отсечения состоит в следующем:

Сначала решается задача 1-2 без учета целочисленности. Если полученное решение является целым, следовательно оно является оптимальным. Если оно не целочисленное, то вводим дополнительные ограничения, которые отсекают от ОДР нецелочисленную вершину многоугольника допустимых решений. И решение задачи 1-2 повторяется с новыми ограничениями. Процесс ввода дополнительных ограничений проделывается до тех пор, пока не найдется оптимальное целочисленное решение или будет установлено, что решения нет.

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

Рассмотрим один из алгоритмов:

 

Первый алгоритм Гомори.

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

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

ОПР: Дробной частью числа x (обозначается {x}) называется наименьшее неотрицательное число, такое, что разность между числом и его дробной частью есть целое число x-{x}=[x].

 

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

Гомори показал, что дополнительные ограничения (правильные отсечения) должны быть сформированы по правилу:

Вводится новая дополнительная переменная

, где

Если по этому правилу ввести ограничение, то оно будет правильным.

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

Алгоритм.

Этап 1.

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

Если при этом решение целое, то оно является и оптимальным целочисленным решением, иначе

Этап 2.

Формируется правильное отсечение, то есть составляется дополнительное ограничение.

(*), где i – номер строки симплексной таблицы, по которой формируется правильное отсечение.

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

Этап 3.

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

Все элементы столбца, кроме последнего полагаются =0, а последний элемент =1. элементы строки, соответствующие базисным векторам, полагаются =0, а остальные в соответствии с (*) в столбце псевдоплана записываются , где , в зависимости от того, по какой строке проводится отсечение, остальные элементы строки =, где

Переход на этап 1.

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

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

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

 

Лекция 16 нет

 

Лекция 17. Выпуклое и вогнутое нелинейное программирование.

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

(1)

Предполагается -выпуклые функции.

Такая задача называется выпуклой задачей нелинейного программирования.

ОДР этой задачи, образованная ограничениями, образует ограниченное выпуклое множество. Т.о. задача выпуклого нелинейного программирования заключается в том, чтобы найти min выпуклой функции f на выпуклом множестве, образованном системой ограничений.

Если задача нелинейного программирования имеет постановку:

(2)

- вогнутые функции, то задача (2) называется задачей вогнутого нелинейного программирования.

Множество допустимых решений задачи (2) образует также выпуклое множество.

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

Задачи (1) и (2) эквивалентны, т.е. из (1) можно перейти к задаче (2) и наоборот. Покажем это:

От (1) к (2)

Найти т.е.

т.о. мы от задачи (1) перешли к задаче (2).

Для решения такого класса задач разработаны методы, которые основаны на основной теореме нелинейного программирования теоремы Куна – Таккера.

 

Седловая точка функции.




Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 299; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.