- •Министерство образования и науки Российской Федерации
- •Однокритериальная оптимизация. Основные методы оптимизации, используемые при синтезе детерминированных сложных технических систем
- •1. Постановка и методы решения задач математического программирования. Линейное программирование
- •Формальная постановка задачи математического программирования (м п).
- •Геометрическая интерпретация задачи. Обоснование подхода к решению
- •Выводы, основанные на геометрической интерпретации задачи
- •Симплекс алгоритм (с а) и симплекс метод (с м). Канонический вид (к в). Возможность простого получения решения задачи
- •Симплекс алгоритм. Процесс приближения к оптимуму (направленный перебор краевых вершин).
- •Симплекс метод.
- •Пример решения задачи лп симплекс методом
- •Целочисленное программирование. Метод Гомори (м г).
- •Методы оптимизации, ориентированные на применение эвм. Общий подход к построению
- •Векторный метод решения задачи л п.
- •Подходы к точному решению задачи.
- •Формализация решения задачи векторным методом
- •Нормирование параметров в общем случае
- •Достоинства векторного метода (метода решения, основанного на векторной интерпретации задачи лп):
- •Приоритетная задача линейного программирования
- •2. Постановка и метод решения задачи синтеза расписаний Векторная интерпретация задачи
- •3. Ограничения на применение векторной интерпретации оптимизационных задач. Постановка и подход к решению задачи динамического программирования
- •Идея метода динамического программирования.
- •Многокритериальная оптимизация Векторная интерпретация задачи. Место эвристики
- •Игровые системы Элементы теории игр
Однокритериальная оптимизация. Основные методы оптимизации, используемые при синтезе детерминированных сложных технических систем
1. Постановка и методы решения задач математического программирования. Линейное программирование
Формальная постановка задачи математического программирования (м п).
В рамках задач однокритериальной оптимизации наибольший интерес представляют методы, относящиеся к группе оптимального планирования, при ограниченных ресурсах. Данными методами учитываются разнообразные задачи создания новой техники. Множество задач в том или ином виде может быть сведено к постановке задачи математического программирования. С формальной точки зрения данная задача относится к задачам математического программирования (термин программирование, здесь понимается в смысле составления плана, либо программы действий).
Задача оптимизации состоит в выборе наилучших планов.
Не смотря на смысловое разнообразие задач, все они формально сводятся к одной общей постановке.
Найти значение переменных обращающих в максимум, либо минимум значение целевой функции:
min(max)←Z=f(x1,…,xn),
при условиях: gi(x1,…,xn)≤≥bi,i=1,m
Замечание: в случае, когда Zесть множество действительных чисел (используемых на практике), функцияZ=f(x1,…,xn), называетсяскалярной.Условияgi(x1,…,xn)≤≥bi,i=1,mпредполагающие, что в каждой изnстрок может присутствовать одно из рассмотренных ограниченийgi(x1,…,xn)≤≥bi,i=1,m, называютсяобластью определения(U) задачи.
Функция Zназываетсяцелевойфункцией, которая может представлять собой критерий оптимальности при синтезе какой-либо системы. Таким образом, целевая функцияZдостигает экстремального значения в одной или нескольких точек U, которые требуется отыскать.
Обычно в постановке задачи выбора оптимального решения, вид функций Zиgi,известны, константыbi определены ,специально оговариваются ограничения, выраженные в требованиях к неотрицательности, либо к целочисленности переменных.
Краткая запись условия задачи математического программирования(М П) имеет вид:
XєU→max(min){Z=f(x)}
Два основных класса задач МП - это задачи линейного и нелинейного программирования. К задачам линейного программирования (ЛП)относятся те, в которых и целевая функцияZ, и все функцииgi линейны.
Задачи, в которых присутствуют какие-либо нелинейности, соответственно называются задачами нелинейного программирования.
В данном курсе лекций мы ограничимся рассмотрением задач линейного программирования, которые наиболее часто требуется решать в нашей предметной области знаний.
Линейное программирование. Постановка задачи.
Задача ЛП в общей постановке состоит в отыскании переменных x1,…,xn ,обращающих в
n
экстремум функцию: max←Z=Σ СjXjпри ограничениях:
j=1
a11 x1 + a12 x2 +… + a1n xn ≤ b1
…
am1 x1 + am2 x2 +… + amn xn ≤ bm
Обычно, кроме того, на практике добавляют требования не отрицательности(xj>0ij=1,n)
Пример постановки задачи: Ферма производит откорм скота. Допустим, что имеется 4 вида продуктов (П1,П2,П3,П4). Стоимость единицы каждого продукта (С1,С2,С3,С4). Из этих продуктов требуется составить пищевой рацион, который должен содержать: белков не менееb1 единиц, углеродов не менееb2 единиц, жиров не менееb3 единиц. Для продуктов (П1,П2,П3,П4) содержание белков, жиров и углеродов в единицах на единицу продукта приведено в таблице.
продукты |
Элемент | ||
белки |
углероды |
жиры | |
П1 |
а11 |
а12 |
а13 |
П2 |
а21 |
а22 |
а23 |
П3 |
а31 |
а32 |
а33 |
П4 |
а41 |
а42 |
а43 |
Где аijнекоторые числа иi– продуктj– элемент.
Задача: составить такой пищевой рацион, то есть определить количество продуктов (П1,П2,П3,П4) входящих в рацион, что при минимальной стоимости рациона, при условии выполнения ограничения белков, жиров и углеродов.
Z=C1x1+C2x2+C3x3+C4x4→minздесь мы заx1…x2обозначили количество продуктов которые должны входить в рацион.
a11 x1 + a12 x2 +a13 x3 + a14 x4 ≥ b1
a12 x1 + a22 x2 +a32 x3 + 242 x4 ≥ b2
a13 x1 + a23 x2 +a33 x3 + a43 x4 ≥ b3
x ≥ 0
Замечание.Измените физический смысл параметров в данной задаче, и вы получите задачу оптимизации загрузки ресурсов (планирование загрузки) многомашинной вычислительной системы и множество иных задач из нашей предметной области.