Добавил:
СПбГУТ * ИКСС * Программная инженерия Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Отчеты по практическим работам / Практическая работа №9

.pdf
Скачиваний:
414
Добавлен:
06.07.2020
Размер:
192.68 Кб
Скачать

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ "САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М. А. БОНЧ-БРУЕВИЧА"

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

ПРАКТИЧЕСКАЯ РАБОТА №9

«Нахождение оптимальных решений в задачах нелинейного программирования с применением метода множителей Лагранжа и теоремы Каруша-Куна-Таккера»

по дисциплине «Оптимизация и математические методы принятия решений»

Вариант 10

Выполнил:

студент 2-го курса дневного отделения группы ИКПИ-81 Коваленко Л. А.

Преподаватель:

Владимиров С. А.

Санкт-Петербург

2020

Цель работы

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

 

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

 

( ) = 12 2 2

+ 32

Найти решение для следующей задачи:

 

= 1

 

 

1 + 3

2

2 1 + 2

− 3 ≤

 

1

0

 

1.

Определение типа задачи.

 

Ход работы

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

′′

( )

= ( 1 2 2

+ 3)

′′

= (2 1 2 + 2 3)

= 2 + 2 = >

 

условию

 

 

 

2

 

 

 

2

 

 

 

 

 

 

Функция выпуклая (выпукла вниз) на всем промежутке.

 

 

Ограничения задачи линейны, поэтому условие Слейтера не проверяем.

2.

Преобразование исходных данных.

 

 

3 = 1 1

 

 

 

И получаем упрощенную 1 + 3 = 1

 

 

 

 

Из ограничения, представленного равенством, производим замену

 

 

 

 

 

 

( ) = 12

2 2

+ (1 1)2

 

 

 

 

 

 

 

 

 

систему:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3 1 + 2 3

 

 

 

 

 

 

 

 

 

 

 

1

 

0

 

 

 

 

 

Формальная постановка

 

 

3 = 1 − 1

 

 

3.

= { : 1

0, 3},

задачи.

 

,

 

 

 

 

 

 

( ) = 12

2,

2

+ (1 1)2

 

 

 

 

 

 

 

 

3 1 + 2 3,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3 = 1 1

( , ) = 12

2 2

+ (1

1)2

+ 1(3 1 + 2

3) 2 1

4.

 

 

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

 

 

0, 2

0,

 

 

 

Поиск стационарных

 

, 1

 

 

 

 

 

 

 

 

 

′1

= 3 1

− 2

 

2

 

 

5.

 

 

 

 

 

 

+ 4 1 2 = 0

 

 

 

 

 

 

 

точек.

′2

= 1

2 = 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3 1

 

+ 2

3 0

 

 

 

 

 

 

 

 

 

 

 

1(3 1

+ 1 2

3) = 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

2 1

= 0

 

 

 

 

 

 

 

 

 

 

 

 

1

 

20, 2 0

 

 

переменным

1 0, 2 0

были добавлены,

так как соответствующие этим

Ограничения

 

 

 

 

 

Решение

 

3 1 + 2

3, − 1

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ограничения были представлены в виде неравенств, а не в виде

Найдена одна точка:{ 1 = 0, . 2

 

= 3, 3

= 1 1

= 1, 1

= 2, 2 =

4}

уравнений:

 

 

 

 

(0, 3, 1)

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

системы:

 

(

0, )

( 0, 0)

( , 0)

.

 

 

 

 

 

 

1: ,

 

Проверяем эту точку на 2 условия:

 

 

 

 

 

 

 

 

 

 

,

 

0,

 

= 1 …

 

 

 

0 — найденные

2:

(

0

) = 0, 0

 

 

= 1 …

 

 

В

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 = (0, 3, 1),

 

0 = (2, 4). Подставляя значения, получаем:

Где

 

 

 

 

 

 

 

координаты точки,

— найденные коэффициенты точки.

 

 

 

 

5 ≤ −5 12

2 2 +

(12

− 1)2

+

2(3 1

+ 2 3) 4 1

 

нашем случае

 

,

 

 

 

 

 

,

 

0,

= 1 …

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1( 0) = 1(3 1

+ 2 3)

=

2(0 + 3 3) = 0

 

В первом условии

 

 

2

(

0

) = 2 1

= 4 0 = 0

 

что 5 ≤ −5 12

0

 

 

 

 

 

 

 

 

 

 

+ 2 3) 4 1:

 

2 2 + (1 1)2 + 2(3 1

 

 

 

 

 

 

 

 

 

получаем следующий график, который отображает тот факт,

Условия выполняются, следовательно, точка (0, 3, 1) — точка оптимума.

GNU Octave

 

Wolfram Mathematica

clc; close all; clear all;

 

 

function y=f(x)

 

 

y = (x(1))^2 - 2 * x(2) + (x(3)) ^ 2;

 

endfunction

 

 

function r = g(x)

 

Minimize[{x1^2 - 2 x2 + x3^2, x1 + x3 ==

r=[x(1)+x(3)-1;

 

 

1 && 2 x1 + x2 - x3 <= 2 && x1 >= 0},{x1,

-x(1)-x(3)+1;

 

 

x2, x3}]

-2*x(1)-x(2)+x(3)+2;

 

 

 

x(1)]

 

 

endfunction

 

 

x0=[0; 0; 0];

 

 

[x, obj, info, iter] = sqp(x0, @f, [],

 

 

@g)

 

 

Результат: 1

2

3

3

Ответы на вопросы:

1. Задача нелинейного программирования — задача нахождения максимума

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

2. Метод множителей Лагранжа — метод нахождения условного экстремума

0, = 1 …

 

 

 

 

 

 

 

 

функции переменных.

относительно ограничений в виде уравнений ( ) =

Необходимые(и , ) = ( ) + =1 ( ) ,

,

 

 

 

( , )

= 0,

 

= 1 …

 

 

 

 

 

 

 

достаточные условия минимума имеют вид:

 

 

 

( ,

)

= 0,

 

= 1 …

 

В итоге получаем систему,

 

 

 

 

 

 

состоящую из

 

уравнений с тем же количество

переменных. Всякое решение определит

точку, в которой может быть экстремум.

(

+ )

 

 

Применяя классические подходы математического анализа, исследуем эти точки на тип экстремума.

3. Условия Каруша-Куна-Таккера — необходимые условия решения задачи

уравнений или

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

условного

нелинейного программирования; (также)

 

метод

 

нахождения

При соблюдении условия

( )

(=) 0, = 1 …

 

 

 

 

ограничений в виде

экстремума

 

функции

 

 

 

переменных относительно

 

 

 

 

 

 

 

 

неравенств

Слейтера для существования оптимального плана в

Где

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

 

 

ri ,

(

 

)

< 0,

 

= 1 …

 

 

 

общей задаче с регулярным множеством планов

 

 

 

 

 

 

 

 

 

 

ri

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

, необходимо и достаточно

Что

 

 

относительная внутренность мн жества

 

 

 

 

 

,

0, = 1 … , −произвольные, =

+ 1 …

 

существование такого вектора

, ) ( 0

, 0)

( , 0)

 

 

 

 

 

значения

{ 0, 0}

 

 

 

( 0

 

 

 

 

 

 

 

 

— седловая точка функции Лагранжа:

 

 

 

Для

 

 

 

 

 

 

,

 

 

 

,

 

0,

 

 

 

= 1 …

 

 

ограничений,

 

 

 

 

 

(

0

) = 0,

 

= 1 …

 

 

 

 

 

И выполняется условие

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

дополняющей нежесткости:

 

 

 

 

( )

= 1 …

 

теорема Каруша-Куна-Таккера верна без условия Слейтера.

,

 

 

 

 

 

 

 

 

выраженных

 

в виде

линейных

функций

,

 

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

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

4