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

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

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 23.08.2013
Размер файла 219,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

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

1. Математическая модель задачи. Нахождение оптимального плана х* и экстремального значения функции

математический задача программирование функция

Найти минимальное значение функции F(X)=-6X1-2X2-6X3 (max) при следующих ограничениях:

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

Для начала необходимо привести ограничения к виду равенств. Для этого необходимо ввести дополнительные переменные x4, x5, x6 и искусственную переменную R1.

Пусть R, x4, x5, x6 - базисные переменные, а x1, x2, x3 - небазисные. Функция цели F(X)= 3X1+0X2+2X3 -M·R1 (min)

Составим симплекс таблицу

Таблица 1

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

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

X1

X2

X3

R1

-12

0

2

-6

X4

27

0

-5

-4

X5

-15

-4

-3

2

X6

-3

1

2

-4

F

42

6

2

6

M

12

0

-2

6

Для нахождения ведущей строки найдем максимальный по модулю отрицательный свободный член (-9). Ведущая строка - X5. В строке X5 так же найдем максимальный по модулю отрицательный свободный член (-5). Столбец X1- ведущий. Пересчитаем таблицу 2.

Таблица 2

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

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

X5

X2

X3

R1

-12

0

2

-6

X4

27

0

-5

-4

X1

3.75

-0.25

0.75

-0.5

X6

-6.75

0.167

1.25

-3.5

F

64.5

1.5

-2.5

9

M

12

0

-2

6

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

Таблица 3

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

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

X6

X2

Х3

2

0

-0.333

X4

35

0

-6.333

X1

4.75

-0.25

0.583

X6

0.25

0.167

0.083

F

46.5

1.5

0.5

M

0

0

0

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

Тогда решение данной задачи:

X1=4.75; x3 =2; x4=35; x6=0.25; Fmax=46.5.

2. Построение и решение задачи, двойственной к исходной. Сравнение решения прямой и двойственной задач

Рассмотрим соотношение прямой и двойственной задач:

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

Исходная задача:

Найти максимальное значение функции F(X)=-6X1-2X2-6X3 (max)

Строим двойственную задачу:

Так как в прямой задаче требуется найти минимум функции, то приведем первоначальное условие к виду {F(x) = BT x| AT x?C, xj ?0, j = 1,m}

Для достижения нужного вида домножим 2-e неравенство на -1 В результате получим следующие матрицы:

Транспонируем матрицу A:

Поменяем местами вектора B и C:

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

F(Y)=-12Y1+27Y2-15Y3-3Y4 (max)

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

Ограничения:

Введем дополнительные переменные Y5, Y6, Y7. Ограничения примут вид:

Yi?0 Составим симплекс-таблицу:

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

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

Y1

Y2

Y3

Y4

Y5

-6

0

0

-4

1

Y6

-2

2

-5

-3

2

Y7

-6

-6

-4

2

-4

F

42

-12

27

-15

-3

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

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

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

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

Y7

Y2

Y3

Y4

Y5

-6

0

0

-4

1

Y6

-4

0.333

-6.333

-2.333

0.667

Y1

1

-0.167

-0.667

0.333

-0.667

F

54

-2

35

-19

5

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

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

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

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

Y7

Y2

Y5

Y4

Y3

1.5

0

0

-0.25

-0.25

Y6

-0.5

0.333

-6.333

-0.583

0.084

Y1

-0.5

-0.167

-0.667

0.083

-0.584

F

82.5

-2

35

-4.75

0.25

Для нахождения ведущей строки найдем максимальный по модулю отрицательный свободный член (-3). Ведущая строка - Y6. В строке Y6 так же найдем максимальный по модулю отрицательный свободный член (-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. В строке Y6 так же найдем максимальный по модулю отрицательный свободный член (-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. Нелинейное программирование

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

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

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

3x1 -8x2 +8 0

x1+8x2-400

x1,2 0

x0=[3; 2].

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

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

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

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

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

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

3x1 -8x2 +8 0

x1+8x2-400

x1,2 0

x0=[3; 2].

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

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

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

.

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

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

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

=

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

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

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

Второй шаг:

x 2= x 1 1F(x 1)

=

Третий шаг:

=

Fmin = 0.793

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

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

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.

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

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

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

3x1 -8x2 +8 0

x1+8x2-400

x1,2 0

x0=[3; 2].

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

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

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

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

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

min{-25x1-39x2 |3x1 -8x2-8; x1+8x2 40;x1,20}.

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

Симплекс-таблицы

БП

СЧ

НП

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 по абсолютному значению, то примем

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

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

3x1 -8x2 +8 0

x1+8x2-400

x1,2 0

x0=[3;2].

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

Тогда и и

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

g2(x)= x1+8x2-400

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

Найдем

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

x1,2 0; л1,20; v1,20; w1,20.

Решив эту систему с помощью симплекс-метода, мы можем найти допустимое базисное решение и то решение, которое удовлетворяет 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 = .

Размещено на Allbest.ru


Подобные документы

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

    контрольная работа [473,1 K], добавлен 23.09.2010

  • Математическая модель задачи. Система ограничений. Составление симплекс-таблиц. Разрешающий элемент. Линейное программирование. Коэффициенты при свободных членах. Целевая функция. Метод потенциалов, северо-западного угла. Выпуклость, вогнутость функции.

    контрольная работа [47,2 K], добавлен 29.09.2008

  • Постановка задачи нелинейного программирования. Критерии оптимальности в задачах с ограничениями. Задачи с ограничением в виде равенств. Метод исключения переменных. Интерпретация условий Куна-Таккера. Функции нескольких переменных. Методы прямого поиска.

    реферат [330,0 K], добавлен 29.09.2008

  • Решение общей задачи линейного программирования симплексным методом, графическое построение целевой функции. Его проверка с помощью встроенной функции "Поиск решения" MS Excel. Определение плана перевозок при наименьших суммарных транспортных затрат.

    контрольная работа [362,3 K], добавлен 03.11.2011

  • Математическое программирование. Линейное программирование. Задачи линейного программирования. Графический метод решения задачи линейного программирования. Экономическая постановка задачи линейного программирования. Построение математической модели.

    курсовая работа [581,5 K], добавлен 13.10.2008

  • Математические основы оптимизации. Постановка задачи оптимизации. Методы оптимизации. Решение задачи классическим симплекс методом. Графический метод. Решение задач с помощью Excel. Коэффициенты целевой функции. Линейное программирование, метод, задачи.

    реферат [157,5 K], добавлен 21.08.2008

  • Решение задачи линейного программирования симплекс-методом: постановка задачи, построение экономико-математической модели. Решение транспортной задачи методом потенциалов: построение исходного опорного плана, определение его оптимального значения.

    контрольная работа [118,5 K], добавлен 11.04.2012

  • Построение математической модели. Выбор, обоснование и описание метода решений прямой задачи линейного программирования симплекс-методом, с использованием симплексной таблицы. Составление и решение двойственной задачи. Анализ модели на чувствительность.

    курсовая работа [100,0 K], добавлен 31.10.2014

  • Алгоритм решения задач линейного программирования симплекс-методом. Построение математической модели задачи линейного программирования. Решение задачи линейного программирования в Excel. Нахождение прибыли и оптимального плана выпуска продукции.

    курсовая работа [1,1 M], добавлен 21.03.2012

  • Методы ветвей и границ первого и второго порядка. Оптимальный и пассивный поиск. Недостатки метода Ньютона. Метод золотого сечения. Примеры унимодальных функций. Динамическое и линейное программирование. Метод Жордана-Гаусса. Решение задачи коммивояжера.

    курсовая работа [1,1 M], добавлен 20.07.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.