
ИТиУвТС / МОСТ Курсовая
.docxФорматирование самостоятельно.
Работа выполнена в шаблоне. У всех одинаково. Для индивидуализации можешь исправить\заменить на синонимы\перефразировать описание, внести свои изменения. Преподша сказала, что ей важно решение, описание не надо, поэтому можно его и вовсе удалить, оставить для себя, чтоб знать, что сделано, и суметь ответить на вопросы на экзамене.
----------------------------------------------------
Задание 1: Линейное программирование.
-
Найти оптимальный план x* и экстремальное значение функции F(x).
-
Построить задачу, двойственную к исходной, решить её и сравнить решения прямой и двойственной задач.
-
Если решение не является целочисленным, получить целочисленное решение путём введения дополнительных ограничений по методу Гомори.
Вариант 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.
Задача имеет целочисленное решение, а значит и выполнение данного пункта не целесообразно.
Задание 2: Нелинейное программирование.
-
Построить область допустимых значений переменных.
-
Найти максимальное значение функции F(x) без учета ограничений на переменные, используя:
а) метод наискорейшего спуска
б) метод Ньютона
Процесс оптимизации начинать с точки x0.
-
Найти максимальное значение функции F(x) с учетом системы ограничений задачи, используя:
а) метод допустимых направлений Зойтендейка
б) условия теоремы Куна-Таккера
Процесс оптимизации начинать с точки x0.
Вариант 5.
F(x)
= -5-2
+4
x1,2≥ 0
x0 = [4;1]
x1 |
2 |
|
x2 |
5 |
0 |

x1 |
|
2 |
x2 |
0 |
5 |

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.