Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2701

.pdf
Скачиваний:
1
Добавлен:
15.11.2022
Размер:
2.09 Mб
Скачать

ФГБОУ ВО «Воронежский государственный технический

университет»

Я.Е. Львович Ю.В. Литвиненко

МЕТОДЫ И АЛГОРИТМЫ РЕШЕНИЯ ЗАДАЧ ОПТИМАЛЬНОГО ПРОЕКТИРОВАНИЯ

Утверждено Редакционно-издательским советом университета в качестве учебного пособия

Воронеж 2016

УДК 681.3

Львович Я.Е. Методы и алгоритмы решения задач оптимального проектирования: учеб. пособие [Электронный ресурс]. – Электрон. текстовые и граф. данные (1,98 Мб) / Я.Е. Львович, Ю.В. Литвиненко. - Воронеж: ФГБОУ ВО «Воронежский государственный технический университет», 2016. – 1 электрон. опт. диск (CDROM) : цв. – Систем. требования : ПК 500 и выше ; 256 Мб ОЗУ ; Windows XP ; SVGA с разрешением 1024х768 ; Adobe Acrobat; CDROM дисковод ; мышь. - Загл. с экрана.

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

Издание соответствует требованиям Федерального государственного образовательного стандарта высшего образования по направлению 09.03.01 «Информатика и вычислительная техника» (направленность «Системы автоматизированного проектирования»), дисциплине «Оптимизация в системах автоматизированного проектирования».

Табл. 1. Ил. 19. Библиогр.: 6 назв.

Научный редактор д-р техн. наук, проф. С.Ю. Белецкая Рецензенты: кафедра математических методов

исследования операций ВГУ (зав. кафедрой д-р техн. наук, доц. Т.В. Азарнова); канд. техн. наук, доц. А.В. Питолин

Львович Я.Е., Литвиненко Ю.В., 2016

Оформление. ФГБОУ ВО «Воронежский государственный технический университет», 2016

ВВЕДЕНИЕ

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

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

3

1. ПОСТРОЕНИЕ ЭКВИВАЛЕНТНЫХ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

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

 

 

 

|

(

) >

,

 

 

 

 

(1.1)

 

где

( ) ≤

,

= 1,2,...

 

 

 

 

 

 

=

≥ 0,

 

= 1,2,...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В принципе ограничение типа

 

 

являются част-

ным случаем ограничения типа

 

≥ 0. Но ограничения

 

 

 

 

 

 

 

поэтому выделяются в

 

учитываются более просто| (и ) ≤

 

 

 

 

 

особую группу.

 

 

 

 

 

 

 

 

 

≥ 0

Если хотя бы одна из функций

 

или

 

 

 

1,...

)

нелинейна, то такую задачу принято(называть)

задачей не-

 

 

(

),( =

нейны,тоесть:

 

 

( )

и

( ),( = 1,...

)

ли-

линейного программирования. Если

,(

 

 

 

 

 

 

 

(

) = ∑

 

= 1,...

),

 

(1.2)

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

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

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

4

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

 

 

Ф( ,

) =

(

) + ∑

y [B − f (x)],

(1.3)

 

где

= ... .

 

,

), рассматривается на множест-

ве

При этом функция Ф(

 

≥ 0, (

= 1,2,...

),

≥ 0, (

= 1,2,...

).

 

 

 

Неотрицательность

 

приводит к тому, что в случае нару-

шения ограничений, то есть y

 

словами,

 

, происходит уменьше-

ние целевой функции. Другими

нарушение ограничений

( ) < 0

 

 

 

 

действительно приводит кштрафу. Функция

 

 

рассматрива-

ния мы не стали

≥ 0 (

= 1,...

)

 

так как эти ограниче-

ется на множестве

 

 

 

 

 

,

 

Ф(

, )

 

 

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

ограничения

) .

 

 

Задачу (1.3)( ) ≤в терминах функции Лагранжа можно за-

писать и следующим образом в предположении, что

 

≥ 0

Ф( , )

(1.4)

 

≥ 0

 

j=1,...,n i=1,...,m

Здесь операцию maxmin мы понимаем как последовательное применение этих операций, то есть осуществляется операция min при фиксированном x (minФ(x,y) является некоторой функцией от х), а затем реализуется операция max от полученной функции.

5

Обратимся к доказательству. Когда реализуется операция min при фиксированном ≥ 0 , для этого фиксированного

0 возможны только два случая:

В первом случае реализация операции min в силу структуры функции Лагранжа приводит к тому, что

 

 

 

 

 

 

 

Ф( ,

) =

(

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

≥ 0

 

 

( ) ≥ 0

 

 

 

 

 

Действительно,

≥ 0

 

 

 

и так как:

 

 

 

= 1,...,

( )) ≥ 0.

 

 

 

 

 

 

≥ 0 →

 

 

(

 

 

 

 

 

 

 

 

Следовательно, min

 

,

)

в частности достигается при

 

 

и справедлива

(1.2.5).

 

 

 

 

 

 

 

 

 

 

 

= 0

 

 

Ф(

 

 

 

 

 

 

 

 

 

 

 

Во втором случае

= 0 ( ≠

)

 

→ +∞

получаем:

 

 

Тогда, выбирая

 

≥ 0

 

,

 

 

,( ) < 0

 

 

 

 

 

 

 

ln

Ф( ,

) = −∞

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

≥ 0

 

 

 

 

 

 

 

 

 

 

 

Далее заметим, что значение min как функции

для

любого

Ф

больше значений минимума для любого

в

случае

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

Ф( ,

)

 

 

 

 

Поэтому для отыскания max от min

достаточно

 

 

Но для

 

 

 

 

≥ 0

 

≥ 0

 

 

 

 

рассмотреть лишь

 

Ф( ,

) =

 

(

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Следовательно, при решении задачи (1.4) мы приходим

 

задаче

 

 

, то есть к исходной.

 

 

 

 

 

 

 

к

 

Окончательно( )

можно

сделать

вывод, что без каких-

либо особых

требований к

функциям дели и ограничений

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

при исходная задача может быть записана в терминах функции Лагранжа в виде (1.4).

При рассмотрении функции Лагранжа, как своего рода штрафной функции (об этом уже говорилось выше), мы по

существу находили максимум

 

по

 

при фикси-

рованных

 

. Но при

отыскании максимума по

невыгод-

 

 

Ф( , )

 

≥ 0

 

 

но брать

штрафы слишком большими, так как вес целевой

≥ 0

 

 

 

 

 

 

 

 

 

функции в структуре

 

 

становится малым,

и мы стре-

мимся не столько

оптимизировать целевую функцию

,

 

Ф( , )

 

 

 

 

 

( )

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

Ф( , )

(1.5)

≥ 0 ≥ 0

В дальнейшем задачу вида (1.5) будем называть двойственной к исходной.

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

≤ ,( = 1,..., ), ≥ 0, ( = 1,..., ).

Первым шагом является построение соответствующей данной задаче функции Лагранжа:

Ф( , ) = ∑

+∑ ( − ∑

),

или

7

 

 

 

Ф( , ) =

+

 

 

 

 

.

 

 

 

 

 

 

Тогда:

 

 

minmaxФ(x,y) =

 

 

 

 

 

 

 

 

 

 

 

= min max

 

 

Q y )

 

 

 

 

 

 

y B + x (C −

 

 

 

 

 

 

 

 

Операция minmax рассматривается как последователь-

ное применение операции max при фиксированном

 

 

 

с по-

следующей реализацией операции min от max как

функции .

 

≥ 0

 

 

 

Когда отыскивается max при фиксированном

 

≥ 0

возможны

два случая:

 

 

≤ 0

 

 

 

 

 

 

 

 

 

 

ба))

−∑

− ∑

 

 

 

 

 

 

 

 

 

 

 

 

В

 

> 0

 

 

maxФ(x,y)

при-

 

 

 

первом случае реализация операции

водит к равенству:

 

 

y

 

 

 

 

 

 

 

 

max Ф(x,y) =

 

 

 

 

 

 

 

 

 

 

 

так как

 

(

−∑

)= 0

 

 

 

 

 

 

 

 

+∞

 

Во втором случае, выбирая

= 0

для

 

, Q

 

 

Тогда при

 

Ф(x,y)

 

 

 

 

 

 

 

, получим, что

 

 

 

 

 

 

 

 

 

 

 

 

 

отыскании

 

 

как

 

достаточно

ограничиться

 

из

первого

случая,

так

значение

 

max

 

Ф(x,y)

 

 

Ф(x,y)

 

Ф(x,y)

во втором случае всегда больше значения max

в

 

 

 

 

 

первом случае, но в первом случае:

8

Ф(x,y) = B y ,

следовательно, приходим к задаче:

B y → min

при ограничениях (а):

Qy ≥ C (j = 1,...,n)

0,(i = 1,...,m).

Врезультате получили более удобную форму записи

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

(a) действительно имеет место для некоторого

 

.

Вспоминая выражение (1.4),

соответствующее исход-

 

≥ 0

 

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

Ф(x,y) =

 

Ф(x,y) (1.6)

Заметим далее:

 

Ф.(x ,y) ≤

Ф(x,y) =

≤ Ф(x ,y) y ≥ 0

Ф(x,y)9

=

Ф(x,y ) ≥

≥ Ф(x,y ) x ≥ 0,y ≥ 0.

В частности, при = , = имеем:

Ф(x ,y ) = maxФ(x ,y) = minФ(x ,y) = Ф(x ,y )

Окончательно можно записать следующее соотноше-

ние:

 

,y ) ≤ Ф(x ,y ) ≤ Ф(x ,y) x ≥ 0,y ≥ 0

 

Ф(

(1.7)

Пару

(седловой, ),

удовлетворяющую соотношению

(1.7),

называют

 

точкой функции Лагранжа

на

Такимx ≥ 0, y ≥ 0.

 

 

множестве

 

образом,

мы показали, что из равенства (1.6)

 

 

следует соотношение (1.7) для седловой точки. Оказывается справедливо и обратное утверждение.

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

щего утверждения: если

(

,

),

-

седловая

точка функции

Лагранжа намножестве

 

 

 

, то

является решени-

ем исходной задачи (1.1.1)x ≥.

0, y ≥ 0

 

 

 

 

 

 

Рассмотрим доказательство этого утверждения.

 

Так как

 

— седловая точка, соотношение для

седловой точки(

в,терминах)

функции

(

и

( )

примет сле-

дующий вид:

− ( ) ≤ ( )+

)

 

 

( ) +

 

 

− ( ) ≤

 

≤ (

)+ ∑

 

y (

− (

 

)) x ≥ 0,y ≥ 0.

(1.8)

Обратимся к правой части (1.8).

Так как неравенство

справедливо для всех

y ≥ 0,то

при

 

 

= 0, то есть

= 0 ,

получим

:

 

 

 

 

 

 

 

 

 

 

10

 

 

 

 

 

 

 

 

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]