Словарь терминов

А Абсолютный минимум – функция имеет в точке абсолютный(глобальный) минимум, если выполняется неравенство , где - любая точка, принадлежащая области определения функции. Абсолютный максимум -функция имеет в точке абсолютный(глобальный) максимум, если выполняется неравенство , где - любая точка, принадлежащая области определения функции. Разница между локальным и абсолютным максимумами та, что абсолютный максимум достигается во всей области определения, а локальный лишь в окрестности точки. Антиградиент- векторZ = Z(X) = Z(x1, x2,...,xn) - выпуклая целевая функция. В каждой точке области, где определена и дифференцируема функция Z, определяется вектор антиградиент antigradZ= -i׶Z/¶x1-j׶Z/¶x2-...-k׶Z/¶xn. Антиградиент Zможетиметь другие обозначения: antigradZ= - gradZ= -{¶Z/¶x1;¶Z/¶x2;...;¶Z/¶xn } или - gradZ= -Ñ Z (набла).
Б Базисная переменная – переменная, коэффициенты которой образуют единичный столбец. Базисное решение – система ограничений приведена к единичному базису, свободные переменные равны нулю, а все базисные переменные равны свободным членам.
В Вейерштрасс теорема Теорема Вейерштрасса. Непрерывная функция, определенная на ограниченном, замкнутом множестве, в одной из точек множества принимает максимальное (минимальное) значение. Вектор градиент -Z = Z(X) = Z(x1, x2,...,xn) - выпуклая целевая функция. В каждой точке области, где определена и дифференцируема функция Z, определяется градиент gradZ= i׶Z/¶x1+j׶Z/¶x2+...+k׶Z/¶xn. Градиент Zможетиметь другие обозначения: gradZ= {¶Z/¶x1;¶Z/¶x2;...;¶Z/¶xn } или gradZ=Ñ Z (набла). Вогнутая функция. Функция называется вогнутой (выпуклой вниз) на промежутке Х, если для любых двух значений х1 и х2, принадлежащих промежутку Х, выполняется неравенство f[(х1 + х2)/2] £ [f(х1) + f(х2)] /2. Вогнута функция (выпукла вниз) на промежутке Хтогда и только тогда, когда ее первая производная на этом промежутке Хмонотонно возрастает (теорема).Геометрически – угол наклона касательных к графику функции возрастает. Дуга между точками на кривой f(X), выражающей вогнутую (выпуклую вниз) функцию, всегда лежит ниже прямой, соединяющей эти точки (секущей). Выпуклое множество Множество w называется выпуклым, если для любых двух несовпадающих точек найдется отрезок прямой, соединяющий эти точки и целиком принадлежащий множеству w. Выпуклое множество.Пусть функции - выпуклые. Тогда множество , определяемое условиями: является выпуклым множеством, так как пересечение выпуклых функций - выпуклое множество, если оно непустое
  Выпуклое программирование.Задачи выпуклого программирования – это задачи минимизации нелинейной, но гладкой функции выпуклой или вогнутой при ограничениях, заданных нелинейными или линейными неравенствами, определяющими выпуклое множество. Если задача имеет выпуклую целевую функцию и выпуклую систему ограничений, то такая задача называется выпуклой задачей математического программирования. Задача выпуклого программирования, если и - выпуклые функции, .
  Выпуклая функция.Функция называется выпуклой на выпуклом множестве , если она обладает следующим свойством где ; ; - выпуклое множество. Выпуклые функции не имеют перемежающихся подъемов и спусков, и, следовательно, локальных экстремумов. Дуга между точками на кривой f(X), выражающей выпуклую функцию, всегда лежит выше ниже прямой, соединяющей эти точки. Выпуклая функция. Функция называется выпуклой (выпуклой вверх) на промежутке Х, если для любых двух значений х1 и х2, принадлежащих промежутку Х, выполняется неравенство f[(х1 + х2)/2] ³ [f(х1) + f(х2)] /2. Выпукла функция (выпукла вверх) на промежутке Хтогда и только тогда, когда ее первая производная на этом промежутке Хмонотонно убывает (теорема).Геометрически – угол наклона касательных к графику функции убывает. Дуга между точками на кривой f(X), выражающей выпуклую (выпуклую вверх) функцию, всегда лежит выше прямой, соединяющей эти точки (секущей).
  Выпуклые и гладкие функции (свойства). Выпуклые функции не имеют перемежающихся подъемов и спусков, и, следовательно, локальных экстремумов. Дуга между точками на кривой f(X), выражающей выпуклую функцию, всегда лежит выше ниже прямой, соединяющей эти точки. 1. Если умножить выпуклую функцию на (-1), то функция вогнутая и наоборот. 2. Сумма конечного числа выпуклых функций - выпуклая функция. - невыпуклые функции , , , - выпуклые функции - выпуклая функция, так как является суммой конечного числа выпуклых функций. 3. Пусть функции - выпуклые. Тогда множество , определяемое условиями: является выпуклым множеством, так как пересечение выпуклых функций - выпуклое множество, если оно непустое.
Г Гессе матрица — матрица вторых частных производных функции нескольких переменных Гессианом называется определитель этой матрицы. Характеристика гессиана матрицы. (ее отрицательная или положительная определенность и полуопределенность) служит условием для определения вида стационарной точки: является ли она соответственно максимумом, минимумом или седловой точкой в задаче оптимизации функции
  Гладкая функция. Гладкость функций означает непрерывность ее первых производных или существование и непрерывность ее частных производных первого порядка.
  Градиент — вектор, направленный в сторону наискорейшего возрастания функции и равный по величине ее производной в этом направлении: где символами ei обозначены единичные векторы осей координат (орты).
Д Дифференцирование функции — операция определения производной рассматриваемой функции. Например, производная линейной функции (bx + a)′ = b, т. е. является константой; производная степенной функции (xn)′ = nx n-1. Дифференцируемая функция — функция, имеющая в каждой точке области, на которой она определена, полный дифференциал, а в случае функции одной переменной — производную. Операция нахождения производных называется дифференцированием функции. Функция, имеющая производную в точке x 0, называется дифференцируемой в этой точке, причем она обязательно непрерывна в этой точке. Функция, имеющая непрерывную производную в каждой точке некоторого интервала, называется непрерывно дифференцируемой на этом интервале (промежутке).
И Итеративные методы решения оптимизационных задач — заключаются в том, что вычислительный процесс начинают с некоторого пробного (начального, произвольного) допустимого, а затем применяют алгоритм, обеспечивающий последовательное улучшение этого решения. Процесс таких проб продолжается до тех пор, пока не станет ясно, что либо дальнейшее улучшение решения невозможно (достигнут оптимум, причем во многих случаях требуется дополнительно проверить — локалиный или глобальный), либо дальнейшие вычисления нецелесообразны, поскольку возможное улучшение результата не окупит дополнительных затрат. (В последнем случае для определения момента окончания вычислений используется прием, называемый методом Лас-Вегаса.) Алгоритмы, применяемые при этом (итеративные алгоритмы методов последовательного улучшения плана), можно разделить на три класса: 1) при которых известно, что на каждой итерации решение улучшается, причем число таких итераций для достижения оптимума конечно; 2) при которых также каждая итерация улучшает решение, но оптимум достигается лишь как предел бесконечной последовательности решений (бесконечного вычислительного процесса); 3) алгоритмы, основанные на методе проб и ошибок, обеспечивают улучшение решения в целом, но не на отдельной итерации.
К Квадратичное программирование — раздел выпуклого программирования: совокупность методов решения экстремальных задач, в которых целевая функция (критерий) представляет собой многочлен второй степени, а ограничения линейны. В матричной форме может быть записана следующим образом: min Z=f(X) = Z(x1, x2,..., xn) = C11 x12 + C12 x1x2 + C13 x1x3 +...+ C1nx1xn + C22 x22 + C23 x2x3 +...+ C2nx2xn +... + Cnn xn2 + C1 x1 + C2 x2 +...+ Cnxn + C0 . Квадратичное программирование.Задача называется задачей квадратичного программирования, если целевая функция содержит переменные во второй степени, а система ограничений - линейные выражения. Задачи выпуклого программирования делятся на общую задачу выпуклого программирования, специальную задачу выпуклого программирования и задачу квадратичного программирования. Квадратичного программирования задача имеет квадратичную целевую функцию и линейную систему ограничений. min Z=f(X) = Z(x1, x2,..., xn) = C11 x12 + C12 x1x2 + C13 x1x3 +...+ C1nx1xn + C22 x22 + C23 x2x3 +...+ C2nx2xn +... + Cnn xn2 + C1 x1 + C2 x2 +...+ Cnxn + C0 Может быть построена и двойственная задача квадратичного программирования. Конечные методы математического программирования — численные методы, позволяющие получить решение задачи за определенное (не обязательно известное заранее) количество шагов (итераций).
  Куна-Таккер теорема.Теорема Куна –Таккера (для седловой точки). Пусть задана область решений задачи выпуклого программирования где выпуклые функции, . Если эта область имеет внутренние точки, то есть выполняется условие Слейтера: существует решение XÎ , такое, что ji(X) < 0 для всех i, i = 1 ¸ m. Тогда для того чтобы X*было оптимальным решением задачи, необходимо и достаточно, чтобы существовал неотрицательный m-мерный вектор λ*(λ*1,λ*2,…,λ*m) такой, что пара (X*, λ*) является седловой точкой функции Лагранжа. , где ≥0 можно записать в виде неравенств, т.е. f(X)+ λ*i·ji(X) ≥ f(X*)+ λ*i ·ji(X*) ≥ f(X*)+ λi ·ji(X*), i = 1 ¸ m. λi≥0, i = 1 ¸ m.
  Кусочно-линейные приближения — метод решения задач нелинейного программирования (главным образом выпуклого программирования) путем предварительной линейной аппроксимации целевой функции и ограничений, т. е. их замены близкими к ним кусочно-линейными функциями.. Это означает, что кривая данной функции заменяется вписанными в нее ломаными прямыми линиями. Полученная приближенная задача решается с помощью методов линейного программирования. Кусочно-линейная функция— нелинейная функция f (x) = f (x 1, x 2,..., xn), которая (при ее геометрическом представлении) состоит из переходящих друг в друга линейных участков. Любая функция от одного аргумента, непрерывная в замкнутом интервале, может быть с заданной точностью аппроксимирована кусочно-линейная функция.
Л Лагранжа метод — метод решения ряда классов задач математического программирования с помощью нахождения седловой точки (x *, λ*) функции Лагранжа, что достигается приравниванием нулю частных производных этой функции по xi и λ i. , где λi – множители, i = 1¸ m.
  Лагранжа множители — дополнительные множители, преобразующие целевую функцию экстремальной задачи выпуклого программирования (в частности, линейного программирования) при ее решении одним из классических методов — методом разрешающих множителей (методом Лагранжа). Полученная функция носит название лагранжиан, или функция Лагранжа.
  Локальное свойство функции показывает степень ее гладкости, т.е показывает свойства, связанные с непрерывностью функции, существованием и непрерывностью ее частных производных по направлению. Локальный максимум. Функция в точке имеет локальный максимум,если у точки имеется окрестность любого, в том числе и бесконечно малого радиуса , для которого выполняется неравенство , где - любая точка, принадлежащая окрестности. Локальный экстремум. Теорема о совпадении локального экстремума с глобальным (абсолютным). В любой задаче выпуклого программирования любой локальный минимум обязан совпадать с глобальным. То есть если найден минимум в задаче выпуклого программирования, то в задаче найдено оптимальное решение. Этот минимум являеться и глобальным, и локальным.
  Локальный случайныйо поиск на минимум целевой функции. Найти min Z = f() при условии аj ≤ xj ≤ bj; j = 1 ÷ n, где f()– выпуклая функция. 1. Выписываем область допустимых значений ω(аj ≤ xj ≤ bj); где j=1÷n. 2. Подготавливаем начальный вектор 1, а2,..., аn) = (x1нижняя граница, x2нижняя граница,…,xnнижняя граница) = (x10, x20,..., xn0), координатами служат нижние границы измерения координат из области допустимых решений ω. 3. Вводим целевую функцию Z = f(). 4. Вычисляем целевую функцию при = , Z = f(). 5. Вводим счетчик неудачных испытаний S = 0, N = 1000 – контрольное число. 6. Формируем массив случайных чисел λ. 7. Формируем случайный вектор , где Î w, координаты которого вычисляются по формуле: = xj0 +Pj · , где - заданное для данной задачи число, например, если =1, то = + · 1. Вектор сам является случайным вектором, координаты которого принадлежат какому-то заданному интервалу, ≤ Pj. Например, интервалу . Координаты вектора формируютсяпо формуле Pj =A+ λjּB, где λj - число из массива случайных чисел λ. 8. Следовательно, xj1 = xj0 + (A+ λjּB) · .В этой задаче можно значение менять по формуле = до какого-то заданного предела e. 9. Вычисляем целевую функцию при = , Z = f().Сравниваем f() и f(). 10. Если испытание удачное, то есть если f() <f(), то переход к пункту 11, иначе переход к пункту 12. 11. = и Z =f() = f().Переход к пункту 7. 12. Если f() ≥ f(), то ведем счет неудачных испытаний S = S + 1. 13. Сравниваем S и N, где N – контрольное число неудачных испытаний. 14. Если S ≤ N, то переходим к пункту 7, иначе переход к пункту 15. 15. Конец вычислений. Запись ответа Z = f() и .
М Минор элемента aij матрицы (n)-ого порядка - определитель ( n-1) порядка, полученный вычеркиванием i-ой строки и j-го столбца в исходной матрице.
Н Наискорейший подьем (рост), наискорейший спуск — направления поиска экстремума (максимальной или минимальной точек) в задачах нелинейного (математического) программирования при их решении градиентными методами. Нелинейность, нелинейная функция — термины, относящиеся к зависимостям, графики которых не являются прямыми линиями.
  Нелокальный случайный поиск на минимум целевой функции Найти min Z = f() при условии аj ≤ xj ≤ bj; j = 1 ÷ n, где f()– выпуклая функция 1. Выписываем область допустимых значений ω(аj ≤ xj ≤ bj); где j=1÷n. 2. Подготавливаем начальный вектор 1, а2,..., аn) = = (x1нижняя граница, x2нижняя граница,…,xnнижняя граница) = = (x10, x20,..., xn0), координатами служат нижние границы измерения координат из области допустимых решений ω. 3. Вводим целевую функцию Z = f(). 4. Вычисляем целевую функцию при = , Z = f(). 5. Вводим счетчик неудачных испытаний S = 0, N = 1000 – контрольное число. 6. Формируем массив случайных чисел λ. 7. Формируем случайный вектор , где Î w, координаты которого вычисляются по правилу xj1 = xj нижняя границаj ּxjверхняя граница = аj + λj ּbj. 8. Вычисляем целевую функцию при = , Z = f(). 9. Сравниваем f() и f(). Если испытание удачное, то есть если f() <f(), то переход к пункту 11, иначе переход к пункту 12. 10. = и Z =f() = f(). Переход к пункту 7. 11. Если f() ≥ f(), то ведем счет неудачных испытаний S = S + 1. 12. Сравниваем S и N, где N – контрольное число неудачных испытаний. Если S ≤ N, то переходим к пункту 7, иначе переход к пункту 13 13. Конец вычислений. Запись ответа Z =f() и .
  Непрерывная функция — во-первых, функция называется непрерывной в точке M 0, если для любого числа ε > 0 можно указать окрестность Sr (M 0) (S точки M 0) так, что для всех точек M Î S выполняется неравенство | f (M) – f (M 0) |< ε; а во-вторых, функция f (M) называется непрерывной на множестве V, если она непрерывна в каждой точке этого множества. Или непрерывность функции означает, что в результате небольшого изменения значения аргумента в любой точке области определения функции значение функции также изменится мало. Ньютона метод— вычислительный алгоритм решения широкого класса экстремальных задач (на отыскание безусловного минимума функции), использующий вторые частные производные минимизируемой функции. Обладает сравнительно быстрой сходимостью (искомая точка достигается через небольшое число итераций), но требует трудоемких вычислений.
О Общая задача выпуклого программирования имеет выпуклую целевую функцию и систему ограничений, состоящую из выпуклых функций. min Z=f(X) φi(X) ≤ 0, i=1¸m, xj ≥0; j=1¸n, где f(X) – выпуклая функция, φi(X), i=1¸m – выпуклые функции. Ограничение – это математическое выражение, связывающее переменные в виде равенств или неравенств. Все ограничения образуют систему ограничений задачи. Ограничения бывают трех типов: равенства (=), неравенства типа меньше либо равно (£), неравенства типа больше либо равно (³). Определитель матрицы, детерминант — число, соответствующее квадратной матрице и полученное путем ее преобразования по определенному правилу. Обычное обозначение (для матрицы A): det A. Например, определитель (второго порядка) матрицы обозначается и вычисляется следующим образом: det A = a 11 a 22a 12 a 21. Оптимальное решение– решение, в котором достигается экстремум (максимум или минимум) целевой функции.
П Поиска метод.Все методы решения, основанные на исследоваии функций в небольшой окрестности последовательно выбираемых точек, называют методами поиска. Следует отметить, что все методы поиска - вычислительные, а следовательно, проводятся с ограниченной точностью. Методы поиска весьма разнообразны и включают целый ряд различных алгоритмов. Производная. Для функции от одной переменной f (x) — производная df / dx — это скорость ее изменения, т. е. Необходимы различные обобщения этого понятия на более сложные функции. Например, если рассматривается функция многих переменных f (x 1,..., xn), то оказывается возможным использовать производные по одной из них (принимая остальные за неизменные). Такая производная называется частной и обозначается df / dx. Любая частная производная есть в свою очередь функция переменных x 1,..., xn — поэтому можно рассматривать вторые частные производные Важное свойство вторых частных производных — их симметричность; если функция f непрерывна, имеет непрерывные первую и вторую частные производные, то безразлично, в каком порядке функцию дифференцировать: Кроме обозначения производных, указанного выше, используется штрих ′ или апостроф ', например, производная функции f(x) обозначается либо df / dx, либо f′(x). Производная частная — понятие дифференциального исчисления: производная функции нескольких переменных по одной из них. Характеризует скорость изменения функции, когда меняется только один аргумент, а все остальные принимаются неизменными.
С Седловой точкойдействительной функции f (x,y), определённой для всех x Î A, y Î B, называется точка (x0 , y0 ), где x0 Î A, y0 Î B, если выполнены следующие условия: 1. x Î A, f (x, y, x0, y0), f (x0 , y0), f (x, y). 2. x Î В, f (x, y, x0, y0), f (x0 , y0), f (x, y). Специальная задача выпуклого программирования имеет выпуклую целевую функцию и линейную систему ограничений. min Z=f(X) = Z(x1, x2,..., xn) , где f(X) – выпуклая функция. Стационарная точка - точка X*, в которой все частные производные функции Z = f (Х) равны 0.
Ц Целевая функция - Z = f (Х) - математическое выражение, для которого требуется найти экстремальное (то есть максимальное или минимальное) значение. Целевую функцию называют также функционалом. Целевая функцияматематически записывает критерий оптимальности, критерий качества.
Ш Штраф за дефицит - это убытки, связанные с отсутствием запаса Штрафные функции — вспомогательные функции, применяемые при численном решении некоторых классов задач математического программирования; метод штрафных функций основан на сведении задачи с ограничениями к задаче без ограничений. Например, может быть построена штрафная функция, равная нулю в допустимой области и быстро возрастающая вне ее. После этого решается задача минимизации суммы штрафных функций и целевой функции исходной задачи с помощью одного из известных вычислительных алгоритмов. Штрафная функция – это вспомогательныя функция - взвешенная сумма квадратов невязок, т.е. штраф за невыполнение ограничений Задача с ограничениями в этом случае сводится к задаче без ограничений.

ПРИЛОЖЕНИЕ

Алгоритм решения задач линейного программирования методом штрафных функций

Решить задачу линейного программирования методом штрафных функций

I. Задачу линейного программирования сводим к канонической форме

2. Вводим вспомогательную функцию – штраф wz

При решении задачи на максимум целевой функции штраф имеет вид:

При решении задачи на минимум целевой функции штраф имеет вид:

Выражение в круглых скобках – штрафы за невыполнение ограничений.

При , , а , .

3. Находим область допустимых решений ω. Определяем нижнюю и верхнюю границу изменения каждой переменной канонической формы задачи

Xj нижняя границаXjXj верхняя граница

4. Задаем числа для каждого ограничения,

5. Подготавливаем начальный вектор 0( X1 нижняя граница, X2 нижняя граница,…, Xn нижняя граница), координатами которого являются нижние границы изменения переменных из области допустимых решений ω.

6. Формируем массив случайных чисел :

7. Вводим счетчик S = N – счетчик неудавшихся попыток. На первой итерации S=0

8.Вычисляем функцию штрафов в точке :

9. Формируем случайный вектор , где Îw, координаты которого вычисляются по правилу

нижняя граница + верхняя граница ( - число из массива случайных чисел)

10. Вычисляем функцию штрафов в точке :

11. Сравниваем и , если > , то испытание удачно и переходим к пункту 12, иначе переход к пункту 13.

12. Начальному вектору придаем значение ( = ) и полагаем штраф = , переход к пункту 9.

13. Если , то вектор и штраф оставляем прежними, ведем счет неудавшихся попыток S=S+1.

13. Если S N, (где N – контрольное число, например, N=1000), то переход к пункту 9. Иначе переход к пункту 15.

15. Конец вычислений. Запись ответа: координат вектора и штрафа .

Блок - схема

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



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: