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

ИТиУвТС / МОСТ Курсовая

.docx
Скачиваний:
19
Добавлен:
01.04.2014
Размер:
367.61 Кб
Скачать

Форматирование самостоятельно.

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

----------------------------------------------------

Задание 1: Линейное программирование.

  1. Найти оптимальный план x* и экстремальное значение функции F(x).

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

  3. Если решение не является целочисленным, получить целочисленное решение путём введения дополнительных ограничений по методу Гомори.

Вариант 5.

1) Условия задачи: F(x) = 3x1 +3x3 (min)

Для удобства заполнения симплекс-таблицы приведем ограничения к виду «≤», умножив обе части неравенства на «-1».

Приведем ограничения к виду равенств, введя дополнительные переменные со знаком «+», т.к. ограничения вида «≤»:

Матрицы A, Bи CTвыглядят следующим образом:

A=; B= ; СT =

Симплекс-таблица выглядит следующим образом:

БП

СЧ

НП

x1

x2

x3

x4

x5

x6

-12

33

-30

3

3

-5

-4

2

-4

-3

6

-1

Fmin

0

3

0

3

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

Производим пересчет симплекс-таблицы:

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

Пусть это будет b3= -30 < 0.Просматриваем строку, в которой находится этот элемент, и выбираем любой отрицательный элемент.

Пусть это будет a32 = -4 < 0.

Таким образом, ведущим элементом будет являться элемент a32 = -4. Ведущая строка x6, ведущий столбец – x2. Из базиса исключается переменная x6, в базис вводится переменная x2.

Производим пересчет симплекс-таблицы.

Элементы новой таблицы помечаются штрихом и вычисляются следующим образом:

;

;

;

;

;

;

;

;

;

;

;

;

;

;

;

;

Новая симплекс-таблица выглядит следующим образом:

БП

СЧ

НП

x1

x6

x3

x4

x5

x2

18

18

8

-1

-2

Fmin

0

3

0

3

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

Признаком оптимальности является неотрицательность переменных в F-строке. c1, c2, c3 ≥ 0. Следовательно, решение является оптимальным.

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

Fmin = 0

Оптимальный план:

x4 = 18

x5 = 18

x2 =

2) Условия задачи:

F(x) = 3x1 +3x3 (min)

Так как задача минимизации, то условия приводим к виду «≥»:

=>

Матрицы AT, Bи C выглядят следующим образом:

AT= ; B = ; С =;

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

Тогда ATY ≤ C примет вид:

Функция цели F(y) = BTY = = 12y1 -33 y2 +30y3 (max)

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

Далее решение производится симплекс-методом.

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

БП

СЧ

НП

y1

y2

y3

y4

y5

y6

3

0

3

-3

4

3

-3

-2

-6

5

4

1

Fmax

0

-12

33

-30

Базисное решение найдено. Производим поиск оптимального решения. Ведущей строкой будет та, которой соответствует максимальное абсолютное значение элемента cl. В данной задаче это элемент c3 = -30 < 0.

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

Производим пересчет симплекс-таблицы.

БП

СЧ

НП

y1

y2

y5

y4

y3

y6

3

0

3

-8

1

2

Fmax

0

18

18

Элемент b2 = 0. Решение является вырожденным. Дальнейшее преобразование невозможно.

Оптимальный результат:

Fmax = 0

Оптимальный план:

y4 = 3

y3 = 0

y6 = 3

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

  1. Решение задачи без условия целочисленности приведено в пункте 1.

Задача имеет целочисленное решение, а значит и выполнение данного пункта не целесообразно.

Задание 2: Нелинейное программирование.

  1. Построить область допустимых значений переменных.

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

а) метод наискорейшего спуска

б) метод Ньютона

Процесс оптимизации начинать с точки x0.

  1. Найти максимальное значение функции F(x) с учетом системы ограничений задачи, используя:

а) метод допустимых направлений Зойтендейка

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

Процесс оптимизации начинать с точки x0.

Вариант 5.

F(x) = -5-2+4

x1,2≥ 0

x0 = [4;1]

x1

2

x2

5

0

1) x2

x1

2

x2

0

5

x2

2)

а) Находим составляющие вектора градиента функции:

1 шаг: Движение осуществляется из x0вдоль в новую точку x1:

Градиент в точке x0 равен:

Координаты точки x1определяются выражением:

Величину шага определим из условия:

В результате точка x1:

2 шаг:

Градиент в точке x1равен:

Координаты точки x2 определяются выражением:

Величину шага определим из условия:

В результате точка x2:

3 шаг:

Градиент в точке x2равен:

Координаты точки x3 определяются выражением:

Величину шага определим из условия:

В результате точка x3:

В точке х3 функция достигает значения

Fmax =

Метод наискорейшего спуска неэффективен при приближении к точке экстремума, поэтому существует погрешность.

б) Так как функция цели квадратичная, экстремум будет найден за один шаг.

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

detH = (-10)∙(-4) –0∙0 = 40 – 0 = 40.

AdjH – присоединенная к H матрица (транспонированная матрица алгебраических дополнений).

Найдем алгебраические дополнения элементов матрицы H:

, тогда:

Тогда AdjH=; H-1 = ;

Fmax =

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

3) а)

Градиент в точке х0 равен:

Выбираем наиболее сильные условия:

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

Таким образом, точка попадает на ограничение .

Точка х1 равна:

Градиент в точке х1 равен:

Движение в этом направлении выводит за пределы ОДЗП, поэтому очередная точка поиска будет производиться в направлении S1:

Выбираем наиболее сильные условия:

-2,51 ≤ ≤ 11,78

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

Данное значение находится вне допустимого интервала.

Принимаем значение

Точка лежит на ограничениях и .

Градиент в точке x2 равен:

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

Функция достигает максимума в точке .

Fmax = 0,64.

б) Составим функцию Лагранжа:

Запишем условия теоремы Куна-Таккера: Производные и, так как цель максимизация.

БП

СЧ

НП

x1

x2

λ1

λ2

v1

v2

w1

w2

-4

0

-4

16

-10

0

-7

3

0

-4

2

2

7

-2

0

0

-3

-2

0

0

БП

СЧ

НП

v1

x2

λ1

λ2

x1

v2

w1

w2

0

0

0

-4

2

2

-2

-2

БП

СЧ

НП

v1

x2

w1

λ2

x1

v2

λ 1

w2

0

0

0

0

Решение, определяемое последней таблицей, соответствует допустимому базисному решению x1 = ; v2 = ; λ1 = ; w2 = ; v1 = x2 = w1 = λ2 = 0.

Выполняется условие x1∙ v1 = x2∙ v2 = λ1∙ w1 = λ2∙ w2 = 0, поэтому является оптимальным решением задачи.

При этом Fmax= 0,64.