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

4539

.pdf
Скачиваний:
2
Добавлен:
08.01.2021
Размер:
1.13 Mб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ

УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ «ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ ЛЕСОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ИМЕНИ Г.Ф. МОРОЗОВА»

Кафедра автоматизации производственных процессов

АЛГОРИТМЫ РЕШЕНИЯ НЕСТАНДАРТНЫХ ЗАДАЧ

Методические указания к практическим занятиям для студентов

по направлению подготовки 27.03.05 - Инноватика

Воронеж 2018

УДК 004.43

Лапшина, М.Л. Алгоритмы решения нестандартных задач [Текст]: методические указания к практическим занятиям для студентов по направлению подготовки подготовки 27.03.05 - Инноватика / М.Л. Лапшина, М-во образования и науки РФ, ФГБОУ ВО «ВГЛТУ им. Г.Ф. МОРОЗОВА». – Воронеж,

2018. – 44 с.

Печатается по решению учебно-методического совета ФГБОУ ВО «ВГЛТУ» (протокол № от г.)

Рецензент зав. кафедрой электротехники и автоматики Воронежского государственного аграрного университета д.т.н., профессор Д.Н. Афоничев

Практическое занятие № 1

Понятие условного экстремума. Метод множителей Лагранжа для нахождения условного экстремума. Достаточные условия для точек условного экстремума.

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

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

Требуется найти минимум функции многих переменных есть, такую точку x* U , что

F(x* ) min F(x) ,

x U

где множество точек U определяется ограничениями вида

g j (x) 0, j 1,..., m, m n, g j (x) 0, j m 1,..., p .

Y F(x) , то

(1)

(2)

2. Методы условной оптимизации

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

-методы последовательной безусловной оптимизации;

-методы возможных направлений.

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

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

Ко второй группе методов относятся:

-метод проекции градиента;

-метод возможных направлений Зойтендейка.

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

3. Методы последовательной безусловной оптимизации

2

К методам последовательной безусловной оптимизации относят:

-метод штрафов;

-метод барьеров;

-метод множителей;

-метод точных штрафных функций.

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

крешению исходной задачи.

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

Вметоде множителей штрафная функция добавляется не к самой целе-

вой функции, а к ее функции Лагранжа . В результате исследование на экстремум сводится к исследованию модифицированной функции Лагранжа.

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

3.1. Метод штрафов

Алгоритм метода штрафов состоит из следующих этапов.

1 этап. Задать начальную точку x 0 вне области допустимых решений, начальное значение параметра штрафа r0 0 , число C 1 для увеличения параметра штрафа, погрешность расчета 0 . Принять k 0 .

2 этап. Составить вспомогательную функцию

 

 

 

 

r

k

 

m

 

 

 

p

 

 

F (x, rk ) f (x )

 

 

{ [g j (x)]2 [g j (x)]2} ,

 

 

 

 

 

 

2

 

j 1

 

 

 

j m 1

 

 

 

 

 

 

 

 

 

 

 

 

 

r

k

 

m

 

 

 

 

 

 

p

 

 

где функция штрафа P(x, rk )

 

{ [g j (x )]2

 

 

[g j (x )]2} - квадрат срезки.

2

 

 

j 1

 

 

 

 

j m 1

 

 

 

 

 

 

 

 

 

 

 

g (x ) - срезка функции:

 

 

 

 

 

 

 

 

 

 

 

 

 

j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

g

 

(x ), g

j

(x ) 0,

g j (x ) max{0, g j

(x )}

 

j

 

 

 

 

0,

g j (x ) 0.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3этап. Найти точку x* (rk ) безусловного минимума функции F(x, rk ) по

xс помощью какого либо метода (нулевого, первого или второго порядка):

F(x* (rk ), rk ) minF(x, rk ) . При этом задать все требуемые выбранным мето-

x Rn

дом параметры. В качестве начальной точки взять x k . Вычислить функцию

 

r

k

m

p

 

 

штрафа P(x* (rk ), rk )

 

{ [g j (x* )]2

[g j (x* )]2} .

 

 

 

 

2

 

j 1

j m 1

 

 

 

 

 

 

 

 

4 этап. Проверить выполнение условия окончания:

 

А) если P(x* (rk ), rk ) , процесс поиска закончить: x* x* (rk ),

f (x* ) f (x* (rk )) ;

Б) если P(x* (rk ), rk ) ,

то принять

rk 1 Crk ,

x k 1 x* (rk ), k k 1 и перейти к

этапу 2.

Примечание. Рекомендуемые значения r0 0.01, 0.1,1, параметра C 4 10.

3

3.2. Метод барьерных функций

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

1 этап. Задать начальную точку x 0 внутри области U , начальное значение параметра штрафа r0 0 , число C 1 для уменьшения величины параметра штрафа, погрешность расчета 0 . Принять k 0 .

2 этап. Составить вспомогательную функцию

m

1

m

F (x, rk ) f (x ) rk

или F (x, rk ) f (x ) rk ln(g j (x )) .

g j (x )

j 1

j 1

3этап. Найти точку x* (rk ) безусловного минимума функции F(x, rk ) по

xс помощью какого либо метода (нулевого, первого или второго порядка):

F(x* (rk ), rk ) minF(x, rk ) с проверкой принадлежности текущей точки внут-

x Rn

ренности множества U . При этом задать все требуемые выбранным методом параметры. В качестве начальной точки взять x k .

 

 

 

 

 

 

 

 

 

 

 

 

m

1

 

 

 

 

Вычислить

функцию

штрафа P(x* (rk ), rk ) rk

 

 

 

(обратная

 

 

 

 

 

*

 

k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j 1

g j (x

(r

 

))

 

 

 

 

 

 

 

 

 

 

 

 

m

 

 

 

 

 

 

 

функция

штрафа)

 

или P(x* (rk ), rk ) rk ln[g j (x* (rk ))] (логарифмическая

 

 

 

 

 

 

 

 

 

 

j 1

 

 

 

 

 

 

 

функция штрафа).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4 этап. Проверить выполнение условия окончания:

 

 

 

 

 

 

А) если

 

P(x* (rk ), rk )

 

,

то

процесс

поиска

закончить,

приняв

 

 

x* x* (rk ),

f (x* ) f (x* (rk )) ;

 

 

 

 

 

 

 

 

 

 

 

 

, то принять

rk 1

rk

,

x k 1 x* (rk ), k k 1 и перейти к

Б) если

P(x* (rk ), rk )

 

 

 

 

 

 

 

 

 

 

 

C

 

 

 

 

 

 

 

этапу 2.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Примечание. Рекомендуемые значения r0 1,10,100 , параметра C 10,12,16.

Варианты заданий

Варианты заданий приведены в таблице. Таблица. Варианты заданий

Целевая функция и ограничения

Метод

Метод безус-

вар.

 

 

 

 

 

 

 

ловного по-

 

 

 

 

 

 

 

 

иска

1

f (x ) x 2x2

4x

max

Штрафов

По желанию

 

1

2

2

 

 

 

 

3x1 2x2

6

 

 

 

 

 

 

 

 

 

 

 

 

2

f (x ) 4x2

8x

x 3 max

Штрафов

По желанию

 

1

1

2

 

 

 

 

x1 x2 2

 

 

 

 

 

 

 

 

 

 

 

 

3

f (x )

1

(x 1)3 x

min

Барьеров

По желанию

 

 

 

 

 

3

1

2

 

 

 

 

 

 

 

 

 

 

x1 1 0,

x2 0

 

 

 

 

 

 

 

 

 

 

 

 

4

4

f (x )

4

 

 

 

9

x1

x2

min

Барьеров

По желанию

 

x1

 

x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1 x2 6,

 

 

x1 0,

x2 0

 

 

5

f (x ) 4x2

4x

x2

8x

5 min

Штрафов

По желанию

 

1

 

 

 

 

1

 

 

2

 

2

 

 

 

 

 

2x1 x2 6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

f (x ) 8x2

4x

x2

12x

 

7 max

Штрафов

По желанию

 

1

 

 

 

 

1

 

 

2

 

2

 

 

 

 

2x1 3x2 6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

f (x ) (x 4)2

(x

4)2

min

Барьеров

По желанию

 

 

1

 

 

 

 

 

 

 

2

 

 

 

 

 

 

2x1 x2 2,

 

x1 0,

x2 0

 

 

 

 

 

 

 

 

 

 

 

 

 

8

f (x ) 8x2

4x

x2

12x

 

7 max

Штрафов

По желанию

 

1

 

 

 

 

1

 

 

2

 

2

 

 

 

 

2x1 3x2 6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9

f (x ) (x 4)2

(x

4)2

min

Барьеров

По желанию

 

 

1

 

 

 

 

 

 

 

2

 

 

 

 

 

 

2x1 x2 2,

 

x1 0,

x2 0

 

 

 

 

 

 

 

 

 

 

10

f (x ) x

2x2

4x max

Штрафов

По желанию

 

 

1

 

 

 

2

 

 

2

 

 

 

 

 

3x1 2x2

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

11

f (x ) 4x2 8x

x 3 max

Штрафов

По желанию

 

 

1

 

 

 

1

 

 

2

 

 

 

 

 

x1 x2 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

12

f (x )

1

(x

1)3

x min

Барьеров

По желанию

 

 

 

 

 

 

3

 

1

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1 1 0,

 

 

x2 0

 

 

 

 

 

13

f (x )

4

 

 

 

9

x1

x2

min

Барьеров

По желанию

 

x1

 

x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1 x2 6,

 

 

x1 0,

x2 0

 

 

14

f (x ) 4x2

4x

x2

8x

5 min

Штрафов

По желанию

 

1

 

 

 

 

1

 

 

2

 

2

 

 

 

 

 

2x1 x2 6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

15

f (x ) 8x2

4x

x2

12x

 

7 max

Штрафов

По желанию

 

1

 

 

 

 

1

 

 

2

 

2

 

 

 

 

2x1 3x2 6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

16

f (x ) (x 4)2

(x

4)2

min

Барьеров

По желанию

 

 

1

 

 

 

 

 

 

 

2

 

 

 

 

 

 

2x1 x2 2,

 

x1 0,

x2 0

 

 

 

 

 

 

 

 

 

 

17

f (x )

1

(x

1)3

x min

Барьеров

По желанию

 

 

 

 

 

 

3

 

1

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1 1 0,

 

 

x2 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

18

f (x )

4

 

 

 

9

x1

x2

min

Барьеров

По желанию

 

x1

 

x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1 x2 6,

 

 

x1 0,

x2 0

 

 

Задание

1. Составить блок-схемы алгоритмов поиска точки экстремума заданной функции.

2. По разработанным алгоритмам составить программы поиска минимума функции.

5

3.Найти координаты и значение функции в точке минимума одним из методов.

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

5.Проанализировать полученные результаты и сделать выводы по достигнутой точности и количеству вычислений функции.

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

Контрольные вопросы

1.На что накладывается штраф?

2.Зачем увеличивается коэффициент штрафа?

3.Понятие штрафной функции.

4.Где выбирается начальная точка поиска?

5.Как формируется расширенный критерий оптимальности?

6.От чего зависит точность нахождения оптимума исходной задачи?

7.В чем отличие метода штрафных функций от метода барьерных функций?

Практическое занятие 2

Транспортная задача с промежуточными пунктами

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

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

Задачу выбора плана перевозок товаров от источников стокам с учетом промежуточных пунктов, обеспечивающего минимальные транспортные за-

6

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

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

На рис. 1 представлена схема размещения складов, на которой указаны: а) склады в виде узлов сети с номерами от 1 до 8; б) избыток товара на складе, который должен быть перераспределен в системе складов (указан в квадратных скобках рядом с узлом сети положительным числом и выражен в единицах измерения товара); в) недостаток товара на складе, который должен быть устранен за счет его поставок с других складов системы (указан в квадратных скобках рядом с узлом сети отрицательным числом); г) возможность перевозки товара со склада i на склад j (ориентированная дуга от круга с номером i к кругу с номером j); д) затраты, связанные с перевозкой единицы товара со склада i на склад j (величина cij рядом с соответствующей ориентированной дугой, выраженная в денежных единицах).

Рисунок 1.

На рис. 1 видно, что суммарный избыток товара, имеющийся на складах системы с номерами 1 и 4, равен суммарному недостатку товара, имеющемуся на складах с номерами 3, 6 и 8 той же системы. Перераспределение товара может происходить через склады с номерами 2, 4-7, которые в рассматриваемой задаче и являются промежуточными или транзитными пунк-

7

тами. Истинным пунктом отправления является лишь склад с номером 1, на котором имеется избыток товара и с которого товар можно только вывозить, а истинными пунктами назначения являются склады с номерами 3 и 8, на которых есть недостаток товара, и на эти склады товары можно только завозить. Заметим также, что между складами с номерами 4 и 5 возможны перевозки в обоих направлениях, но в общем случае c45 c54 (например, наличие одностороннего движения по кратчайшему маршруту). Объемы спроса и предложения, соответствующие этим пунктам отправления и назначения, вычисляются следующим образом.

Объем предложения истинного пункта отправления = объем исходного предложения.

Объем предложения транзитного пункта = объем исходного предложения + объем буфера.

Объем спроса истинного пункта назначения = объем исходного спроса. Объем спроса транзитного пункта = объем исходного спроса + объем

буфера.

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

Пусть J – множество номеров складов, на которые товар может быть доставлен с k-го склада, а I – множество номеров складов, с которых товар может быть доставлен на k-й склад. Tk – величина чистого запаса товара, равная объему исходного предложения или исходного спроса. Тогда математическую модель данной задачи можно представить следующим образом:

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

Решение транспортной задачи с промежуточными пунктами в Excel

Рассмотрим методику решения в Excel транспортной задачи с промежуточными пунктами.

Задача. Найти решение транспортной задачи с промежуточными пунктами, в рассмотренном выше примере, если стоимость перевозки единицы товара составляет: c12=3 у.е., c23=7 у.е., c25=3 у.е., c43=6 у.е., c45=4 у.е., c47=5 у.е., c54=5 у.е., c56=3 у.е., c67=5 у.е., c78=2 у.е.

На рис. 2.2 представлены таблицы Стоимость перевозки единицы товара и План перевозок товара между складами, сформированные на рабочем

8

листе Excel. Здесь в таблице Стоимость перевозки единицы товара мы видим, что если между отдельными складами отсутствует возможность перевозки товара, то в соответствующие ячейки таблицы (выделенные темным фоном) заносится любое большое число (в данном случае 100). Для того, чтобы найти в таблице Плана перевозок товара между складами объем предложения и объем спроса, определим объем буфера B по следующему правилу:

B = общий объем предложения = S1+S4= 10+2 = 12 ед. или

B = общий объем спроса = D3+D6+D8= 3+1+8 = 12 ед.

Для остальных промежуточных пунктов объемы предложения Si или объемы спроса Dj равны нулю (рис. 2).

Рисунок 2.

В целевую ячейку, в данном случае C23, необходимо занести формулу: =СУММПРОИЗВ(C4:I9;C15:I20).

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

полнить.

9

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