
- •Введение
- •Решение задачи нелинейного (сепарабельного) программирования методом кусочно – линейной аппроксимации с использованием пакета прикладных программ
- •Математическая постановка общей знп (сепарабельного программирования)
- •2. Методические указания по подготовке и решению тестовой знп
- •5. Содержание отчета
- •6. Вопросы
- •Решение задач квадратичного программирования (зкп) с использованием пакета прикладных программ
- •Математическая постановка общей зкп
- •2. Математическая постановка (модель) тестовой задачи квадратического программирования
- •3. Методические указания по решению тестовой зкп
- •3.1. Формирование файла исходных данных
- •3.2. Методические указания по решению тестовой цзлп в алгебраическом формате.
- •5. Содержание отчета
- •6. Вопросы
- •2.2. Второй способ решения задачи
- •2. Методические указания к решению тестовой задачи
- •3. Методические указания по решению индивидуальной контрольной задачи
- •Решение задач безусловной минимизации квазиньютоновским
- •1. Математическая постановка тестовой задачи
- •2. Методические указания по решению тестовой задачи
Черников Ю.Г. Методы оптимизации. Методические указания по
выполнению лабораторных работ. − М.: МГГУ, 2005. – 37 с.
В работе рассмотрены математические модели общих задач нелинейного программирования, а также задач безусловной минимизации функций многих переменных.
Изложены методики решения задач нелинейного программирования и задач безусловной минимизации функций многих переменных методами нулевого, первого и второго порядка.
Приведены подробные методические указания и конкретные примеры для решения различных тестовых задач нелинейного программирования и безусловной минимизации с использованием как современных пакетов прикладных программ и Java Applets, так и математической системы MathCad.
Список литературы – 5 наименований
© Московский государственный
горный университет, 2005
Содержание
Стр.
Введение 4
1. Лабораторная работа № 1 (2 часа)
Решение задач нелинейного (сепарабельного) программирования
методом кусочно – линейной аппроксимации с использованием
пакета прикладных программ 5
3. Лабораторная работа № 2 (2 часа)
Решение задач квадратического программирования (ЗКП) 11 3. Лабораторная работа № 3 (2 часа)
Классический метод решения задач безусловной минимизации
(оптимизации) с использованием системы MathCad 2000 16
4. Лабораторная работа № 4 (2 часа)
Решение задач безусловной минимизации функций многих
переменных методом деформируемого многогранника
с использованием Java Applet 21
5. Лабораторная работа № 5 (2 часа)
Решение задач безусловной минимизации методом сопряженных
градиентов с использованием системы Mathcad 24
6. Лабораторная работа № 6 (2 часа)
Решение задач безусловной минимизации квазиньютоновским
методом с использованием MathCad 27
7. Лабораторная работа № 7 (2 часа)
Решение задач одномерной минимизации методом золотого
сечения с использованием Excel 30
8. Лабораторная работа № 8 (2 часа)
Решение задач безусловной минимизации функций многих
переменных методом Левенберга - Марквардта с использованием
системы Mathcad 33
Список литературы и использованные источники 37
Введение
В настоящей работе приведены описания лабораторных работ по дисциплине “Методы оптимизации“ для студентов, обучающихся по направлению 552800 – “Информатика и вычислительная техника” и направлению 654600 – “Информатика и вычислительная техника” по специальности 230102 – “Автоматизированные системы обработки информации и управления (АС)”.
Рассмотрены модели нелинейного программирования, в том числе задачи квадратического программирования, решенные методом кусочно – линейной аппроксимации и методом, использующим симплексные преобразования с помощью пакета прикладных программ Lindo.
Поставлены и решены различные задачи безусловной минимизации функций многих переменных различными методами нулевого, первого и второго порядка с использованием математической системы Mathcad.
Поставлена и решена методом золотого сечения задача одномерной минимизации.
Все задачи решаются на локальноv компьютере с помощью таких распространенных современных программных средств, как пакет прикладных программ Lindo и математическая система MathCad, а также с помощью Java Applets в интерактивном режиме.
Л а б о р а т о р н а я р а б о т а № 1 (2 часа)
Решение задачи нелинейного (сепарабельного) программирования методом кусочно – линейной аппроксимации с использованием пакета прикладных программ
Цель работы – изучение метода кусочно – линейной аппроксимации решения задач нелинейного (сепарабельного) программирования, приобретение практических навыков подготовки файла исходных данных конкретной задачи и ее решения с использованием современного пакета прикладных программ, анализ результатов решения.
Математическая постановка общей знп (сепарабельного программирования)
Функция F(x1, x2,..., xn) называется сепарабельной, если она может быть представлена в виде суммы функций, каждая из которых является функцией одной переменной
Приближенным методом решения ЗНП с сепарабельными функциями является метод кусочно-линейной аппроксимации.
Математическая постановка (математическая модель) общей
задачи нелинейного программирования с сепарабельными функциями может быть сформулирована следующим образом.
Определить оптимальные значения переменных x1, ... , xn максимизирующих целевую функцию
при выполнении системы линейных ограничений
,
где fj и gij – нелинейные функции, в частном случае некоторые из которых линейные.
В основу приближенных методов положена кусочно-линейная аппроксимация функций fj(xj) и gij(xj). В результате этого получается приближенная задача, которая может быть решена симплексными методами При этом определяется приближенный локальный экстремум, а при выпуклости или вогнутости целевой функции находится глобальный экстремум.
2. Методические указания по подготовке и решению тестовой знп
В качестве тестовой задачи сепарабельного программирования рассмотрим задачу, математическая постановка которой заключается в следующем.
Определить оптимальные значения переменных х1 и x2, минимизирующих целевую функцию
Z = x2 – x12 + 6x1 – 9
при выполнении системы линейных ограничений
2x1 + 3x2 ≤ 24
x1 + 2x2 ≤ 15
3x1 + 2x2 ≤ 24
x2 ≤ 4
x1 ≥ 0
x2 ≥ 0
Для выполнения данной работы необходимо выполнить следующие действия:
1. Целевая функция (исходя из ее вида) представляется в виде суммы двух функций, каждая из которых является функцией одной переменных x1 или x2:
Z = f1(x1) + f2(x2),
где f1(x1) = – x12 + 6x1 – 9,
f2(x2) = x2.
Каждая из данных функций - вогнутая.
2. Область допустимых решений (ОДР) – выпуклая.
3. Рассматривается первая функцию f1(x1) = x12 + 6x1 – 9.
Переменная x1 может принимать числовые значения, например, в промежутке [0, 8].
4. Разобъем [0, 8] например, на 8 частей.
x01 = 0, x11 = 1, x21 = 2, x31 = 3, x41 = 4, x51 = 5, x61 = 6, x71 = 7, x81 = 8 .
5. Вычисляется значение этой функции в указанных точках
xk1 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
f1(xk1) |
- 9 |
- 4 |
- 1 |
0 |
- 1 |
- 4 |
- 9 |
- 16 |
- 25 |
6. Составляется функция первой переменной в виде
f1(xk1) = – 9λ01 – 4λ11– 1λ21– 0λ31– 1λ41– 4λ51– 9λ61– 16λ71– 25λ81
7. Составляется значение первой переменной в виде
xk1 = 0λ01 + 1λ11 + 2λ21 + 3λ31 + 4λ41 + 5λ51 + 6λ61 + 7λ71 + 8λ81
8. Математическая постановка данной ЗНП (задачи сепарабельного программирования) заключается в следующем.
Определить оптимальные значения переменных λ01, ... ,λ81, максимизирующие целевую функцию
Z = x2 +( – 9λ01 – 4λ11– 1λ21– 0λ31– 1λ41– 4λ51– 9λ61– 16λ71– 25λ81)
при выполнении системы линейных ограничений
2x1 +3x2 + x3 = 24
x1 +2x2 + x4 = 15
3x1 +2x2 + x5 = 24
x2 + x6 = 4
λ01 + λ11 + λ21 + λ31 + λ41 + λ51 + λ61 + λ71 + λ81 = 1
или, подставляя соответствующие значения x1, получаем модель этой ЗНП в следующей форме
Определить оптимальные значения переменных λ01, ... ,λ81, максимизирующих целевую функцию
Z = x2 + ( – 9λ01 – 4λ11– 1λ21– 0λ31– 1λ41– 4λ51– 9λ61– 16λ71– 25λ81)
при выполнении системы линейных ограничений
2(0λ01 + 1λ11 + 2λ21 + 3λ31 + 4λ41 + 5λ51 + 6λ61 + 7λ71 + 8λ81) + 3x2 + x3 = 24
(0λ01 + 1λ11 + 2λ21 + 3λ31 + 4λ41 + 5λ51 + 6λ61 + 7λ71 + 8λ81) + 2x2 + x4 = 15
3(0λ01 + 1λ11 + 2λ21 + 3λ31 + 4λ41 + 5λ51 + 6λ61 + 7λ71 + 8λ81) + 2x2 + x5 = 24
x2 + x6 = 4
λ01 + λ11 + λ21 + λ31 + λ41 + λ51 + λ61 + λ71 + λ81 = 1
7. Для решения данной задачи выберем какой – либо пакет прикладных программ, например, ППП Lindo и наиболее простой алгебраический формат ввода исходных данных.
Составление файла исходных данных в алгебраическом формате или в упрощенном алгебраическом формате осуществляется в соответствии с требованиями к формированию файла в этом формате, определяемыми пакетом прикладных программ Lindo. Для этого необходимо вызвать какой - либо текстовый редактор, например Notepad, и ввести данную тестовую задачу в форме, учитывающей требования алгебраического формата рассматриваемого пакета прикладных программ Lindo к вводу исходных данных в алгебраическом формате.
Искомыми оптимизируемыми переменными являются λ01, ... , λ81.
С учетом математической модели выше тестовую ЗНП необходимо представить в виде:
max Z = x2 + (– 9λ01 – 4λ11– 1λ21– 0λ31– 1λ41– 4λ51– 9λ61– 16λ71– 25λ81
subject to
2(0λ01 + 1λ11 + 2λ21 + 3λ31 + 4λ41 + 5λ51 + 6λ61 + 7λ71 + 8λ81) + 3x2 + x3 = 24
(0λ01 + 1λ11 + 2λ21 + 3λ31 + 4λ41 + 5λ51 + 6λ61 + 7λ71 + 8λ81) + 2x2 + x4 = 15
3(0λ01 + 1λ11 + 2λ21 + 3λ31 + 4λ41 + 5λ51 + 6λ61 + 7λ71 + 8λ81) + 2x2 + x5 = 24
x2 + x6 = 4
λ01 + λ11 + λ21 + λ31 + λ41 + λ51 + λ61 + λ71 + λ81 = 1
end
9. Сохранить этот файл исходных данных и изменить расширение с .txt на .ltx.
10. Запустить пакет на решение и получить результаты. По полученным
численным значениям λ01, ... ,λ81 вычислить численное значение искомой переменной x1. Численное значение искомой переменной x2 будет вычислено программным способом.
11. Составление файла исходных данных возможно осуществить в MPS – формате также в соответствии с требованиями к формированию файла в этом формате.
3. Методические указания по решению
индивидуальной контрольной задачи
1. Получить у преподавателя, проводящего занятия, сепарабельную функцию.
2. Решить данную задачу в соответствии с вышеизложенной методикой.
3. Распечатать результаты решения задачи с выполнением всех команд меню Reports ППП Lindo.
4. Методические указания по выполнению
лабораторной работы
1. Первоначально необходимо изучить формат ввода исходных данных (алгебраический формат, MPS – формат) для ввода исходных данных в компьютер при использовании ППП Lindo.
2. Изучить основные стандартные команды меню File, Solve и других ППП Lindo.
3. Решить тестовую задачу сепарабельного программирования.
4. Решить индивидуальную контрольную задачу.
5. Составить отчет по выполненной лабораторной работе.