Линейное программирование

Автор работы: Пользователь скрыл имя, 20 Августа 2013 в 18:28, контрольная работа

Краткое описание

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

Вложенные файлы: 1 файл

МОТС 29.docx

— 210.83 Кб (Скачать файл)

 

 

 

 

 

 

 

 

 

 

 

 

Для нахождения ведущей строки найдем максимальный по модулю отрицательный свободный  член (-3). Ведущая строка - Y6. В строке Yтак же найдем максимальный по модулю отрицательный свободный член (-3). Столбец Y1- ведущий.

 
Пересчитаем таблицу

Базисные 
переменные

Свободные 
члены

Y7

Y2

Y5

Y1

Y3

1.5

0

0

-0.25

-0.25

Y6

0.08

-0.053

-0.158

0.092

-0.013

Y4

-0.45

-0.2

0.11

0.144

-0.592

F

79.7

-0.16

5.53

-8.75

0.71


 

Для нахождения ведущей строки найдем максимальный по модулю отрицательный свободный  член (-3). Ведущая строка - Y6. В строке Yтак же найдем максимальный по модулю отрицательный свободный член (-3). Столбец Y1- ведущий.

 
Пересчитаем таблицу

Базисные 
переменные

Свободные 
члены

Y7

Y2

Y5

Y4

Y3

1.69

0.08

-0.05

-0.31

-0.42

Y6

0.09

-0.049

-0.16

0.089

-0.022

Y1

0.76

0.338

-0.186

-0.243

-1.689

F

79.2

-0.4

5.66

-8.58

1.2


 

Так как  в столбце свободных членов нет  отрицательных элементов, то найдено  допустимое решение. Так как в  строке F есть отрицательные элементы, то полученное решение не оптимально. Для определения ведущего столбца  найдем максимальный по модулю отрицательный элемент в строке F (-9). А ведущая строка та, у которой наименьшее положительное отношение свободного члена к соответствующему элементу ведущего столбца. Столбец Y1- ведущий.

 

Y3=1.69; y6=0.9; y1=0.76; Fmin=79.2.

 

Fmax(x)=Fmin(y)=79.2

 

3 Нелинейное программирование

3.1 Построение ОДЗП, выбор начальной  точки поиска

Целевая функция имеет вид:

F(x)= -3x12-6x22-4x1x2+1x1-3x2 (min).

3x1 -8x2 +8  £0

x1+8x2-40£0

 x1,2³ 0

x0=[3;2].

    

 

Построим ОДЗП:

 

 

 

 

 

 

 

 


 

6



 


 


4




 

 

 

2



 

 

 

 

0



9


7


6


3



 

Рисунок 3.1 - ОДЗП

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

 

x0=(3;2).

3.2 Нахождение экстремального значения  функции F(x) без учета ограничений на переменные

3.2.1 Метод наискорейшего спуска

F(x)= -3x12-6x22-4x1x2+1x1-3x2 (min).

3x1 -8x2 +8  £0

x1+8x2-40£0

 x1,2³ 0

x0=[3;2].

В методе наискорейшего спуска (подъема) очередная  точка при поиске максимума функции  вычисляется по формуле:

 

 

где направление движения задается вектором антиградиента  функции F(x), вычисленном в точке , а величина шага перемещения определяется числовым параметром .

Найдем градиент :

 

.

 

Осуществляем движение из точки  x 0 вдоль градиента ÑF(x0) в новую точку x1.

Подставляем координаты точки x1 в функцию F(x),

Затем найдем , в которой функция F(x) будет иметь экстремум. Для этого найдем производную

 

=

В результате после первого шага координаты очередной  точки 

получаются равными:

       

Продолжаем поиск по тому же алгоритму.

Второй шаг: 

x 2= x 1 1ÑF(x 1)

 

=

Третий шаг:

=

 

Fmin = 0.793

 

 

3.2.2 Метод Ньютона-Рафсона

Условие задания:

F(x)= -3x12-6x22-4x1x2+1x1-3x2 (min).

x0=[3;2].

Очередная точка  вычисляется в соответствии с  выражением

x k+1= x k –H-1(x k)ÑF(x k),

где H(x ) – матрица Гессе функции F(x);

      H-1(x) – обратная по отношению к H(x) матрица.

.

Запишем матрицу Гессе:

Тогда AdjH=

H-1= , где detH– определитель матрицы H.

detH = -6∙(-12) – (-4)∙(-4) = 72 – 16 = 56.

 

H-1 = ;

Найдем очередную точку x 1:

;

 

Fmax = 0.793;

Следовательно, в точке x 1 функция F(х) достигает минимума.   Fmin = 0.793.

 

3.3  Нахождение экстремального  значения функции F(x) с учетом системы ограничений задачи

 

 

3.3.1  Метод линейных комбинаций

F(x)= -3x12-6x22-4x1x2+1x1-3x2 (min).

3x1 -8x2 +8  £0

x1+8x2-40£0

 x1,2³ 0

x0=[3;2].

Первая итерация.

Зададимся точностью 

Вычисляется вектор-градиент

Осуществляется линеаризация F(x) относительно точки x0 в соответствии с выражением

Решается задача ЛП

min{-25x1-39x2 |3x1 -8x2£-8; x1+8x2£ 40;x1,2³0}.

 

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

 

 

БП

СЧ

НП

x1

x2

x3

-8

3

-8

x4

40

1

8

F

0

-25

-39


 

 

БП

СЧ

НП

X4

X2

X3

1

-0.375

-0.125

X1

32

4

1

F

39

-39.6

-4.875


 

БП

СЧ

НП

X4

X3

X2

4

-0.094

-0.031

X1

8

0.25

-0.25

F

355.8

9.9

5.025


 

 

 

Найдено оптимальное решение

Wmin=355.8; x=[8   4]

Далее производится корректировка  найденного решения в соответствии с выражением

Или

 

Так как значение в шаге не может превышать 1 по абсолютному значению, то примем

 

3.3.2 Условия теоремы Куна-Таккера

F(x)= -3x12-6x22-4x1x2+1x1-3x2 (min).

3x1 -8x2 +8  £0

x1+8x2-40£0

 x1,2³ 0

x0=[3;2].

Прежде, чем  составить функцию Лагранжа, нужно  привести ограничения к нулевой  правой части. Анализируем экстремум: так как в условии минимум, то будет минимум по x и максимум по λ.

Тогда и и


g1(x)= 3x1 -8x2+8 £0


g2(x)= x1+8x2-40£0

Тогда L(x, λ)= -6x12-12x22-4x1x2+1x1-3x2 + λ1 (3x1 -8x2+8)+ λ2 (x1+8x2-40)

Найдем 

 


 

-4x2-6x1+3λ1-8λ2 +1v1=0             4x2+6x1 -3λ1+8λ2 +v1=8  


-12x1+4x21 +8λ2 -3v2=56               12x1+4x2-8λ1 +3λ2+v2=-40


3x1-8x2+w1=-8      3x1-8x2+w1=-8

x1+8x2+w2=40     x1+8x2+w2=40

 

СЛАУ с неизвестными x1, x2, λ1, λ2, v1, v2, w1, w2.

x1,2 ³0; λ1,2³0; v1,2³0; w1,2³0.

 Решив эту систему с помощью  симплекс-метода, мы можем найти  допустимое базисное решение и то решение, которое удовлетворяет  xTv=0 и λTw=0 или         x1 v1= x2v2=0


                           λ1 w12w2=0

 

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

БП

СЧ

                   НП

x1

x2

v1

1

6

4

-3

8

v2

-3

12

4

-8

3

w1

-8

3

-8

0

0

w2

40

1

8

0

0


 

БП

СЧ

                   НП

x1

W1

v1

-3

7.5

0.5

-3

8

v2

-7

10.5

0.5

-8

3

X2

1

-0.375

-0.125

0

0

w2

32

4

1

0

0


 

БП

СЧ

                   НП

x1

W1

v2

v1

0

1.5

0.3

-0.375

6.9

0.875

-1.3

-0.06

-0.125

-0.375

X2

1

-0.375

-0.125

0

0

w2

32

4

1

0

0


 

Таким образом, получили решение:

W2 = 0, v1 =0.875, v2 =1, x2= 32.

Исходя из полученного решения, определим экстремум функции:

Fmin =


Информация о работе Линейное программирование