Лекция
Сразу хочу сказать, что здесь никакой воды про оптимизация, и только нужная информация. Для того чтобы лучше понимать что такое оптимизация, математическое программирование , настоятельно рекомендую прочитать все из категории Математическое программирование.
оптимизация — в математике, информатике и исследовании операций задача нахождения экстремума (минимума или максимума) целевой функции в некоторой области конечномерного векторного пространства, ограниченной набором линейных и/или нелинейных равенств и/или неравенств.
Теорию и методы решения задачи оптимизации изучает математическое программирование .
Математическое программирование - это область математики, разрабатывающая теорию, численные методы решения многомерных задач с ограничениями. В отличие от классической математики, математическое программирование занимается математическими методами решения задач нахождения наилучших вариантов из всех возможных.
Математическое программирование (МП) — это область математики, которая занимается формализацией и решением оптимизационных задач. Оптимизационная задача заключается в нахождении наилучшего решения из множества допустимых вариантов, исходя из заданных ограничений и целевой функции.
Существует несколько разновидностей математического программирования, включая линейное программирование (ЛП), целочисленное программирование (ЦП), нелинейное программирование (НЛП), динамическое программирование (ДП), квадратичное программирование (КП) и другие.
Важными компонентами оптимизационных задач являются:
Целевая функция: функция, которую необходимо минимизировать или максимизировать. Целевая функция зависит от переменных, которые оптимизируются.
Ограничения: условия, которым должны удовлетворять переменные. Ограничения могут быть линейными или нелинейными и могут определяться равенствами или неравенствами.
Переменные: значения, которые требуется оптимизировать. В линейном программировании переменные являются непрерывными, в то время как в целочисленном программировании они ограничены целочисленными значениями.
Решение оптимизационных задач в математическом программировании достигается с использованием различных методов и алгоритмов. Некоторые из них включают симплекс-метод, метод ветвей и границ, метод внутренней точки, методы градиентного спуска и другие.
В процессе проектирования ставится обычно задача определения наилучших, в некотором смысле, структуры или значений параметров объектов. Такая задача называется оптимизационной. Если оптимизация связана с расчетом оптимальных значений параметров при заданной структуре объекта, то она называетсяпараметрической оптимизацией. Задача выбора оптимальной структуры является структурной оптимизацией.
Тогда решить задачу означает одно из:
Если минимизируемая функция не является выпуклой, то часто ограничиваются поиском локальных минимумов и максимумов: точек таких, что всюду в некоторой их окрестности
для минимума и
для максимума.
Общая запись задач оптимизации задает большое разнообразие их классов. Об этом говорит сайт https://intellect.icu . От класса задачи зависит подбор метода (эффективность ее решения). Классификацию задач определяют: целевая функция и допустимая область (задается системой неравенств и равенств или более сложным алгоритмом).
Методы оптимизации классифицируют в соответствии с задачами оптимизации:
Существующие в настоящее время методы поиска можно разбить на три большие группы:
По критерию размерности допустимого множества, методы оптимизации делят на методы одномерной оптимизации и методы многомерной оптимизации.
По виду целевой функции и допустимого множества, задачи оптимизации и методы их решения можно разделить на следующие классы:
По требованиям к гладкости и наличию у целевой функции частных производных, их также можно разделить на:
Помимо того, оптимизационные методы делятся на следующие группы:
В зависимости от природы множества X задачи математического программирования классифицируются как:
Кроме того, разделами математического программирования являются параметрическое программирование, динамическое программирование и стохастическое программирование.
Математическое программирование используется при решении оптимизационных задач исследования операций.
Задачи линейного программирования были первыми подробно изученными задачами поиска экстремума функций при наличии ограничений типа неравенств. В1820 году Фурье и затем в 1947 году Данциг предложил метод направленного перебора смежных вершин в направлении возрастания целевой функции — симплекс-метод, ставший основным при решении задач линейного программирования.
Присутствие в названии дисциплины термина «программирование» объясняется тем, что первые исследования и первые приложения линейных оптимизационных задач были в сфере экономики, так как в английском языке слово «programming» означает планирование, составление планов или программ. Вполне естественно, что терминология отражает тесную связь, существующую между математической постановкой задачи и ее экономической интерпретацией (изучение оптимальной экономической программы). Термин «линейное программирование» был предложен Данцигом в 1949 году для изучения теоретических и алгоритмических задач, связанных с оптимизацией линейных функций при линейных ограничениях.
Поэтому наименование «математическое программирование» связано с тем, что целью решения задач является выбор оптимальной программы действий.
Выделение класса экстремальных задач, определяемых линейным функционалом на множестве, задаваемом линейными ограничениями, следует отнести к 1930-м годам. Одними из первых, исследовавшими в общей форме задачи линейного программирования, были: Джон фон Нейман — математик и физик, доказавший основную теорему о матричных играх и изучивший экономическую модель, носящую его имя, и Канторович — советский академик, лауреат Нобелевской премии (1975), сформулировавший ряд задач линейного программирования и предложивший в 1939 году метод их решения (метод разрешающих множителей), незначительно отличающийся от симплекс-метода.
В 1931 году венгерский математик Б. Эгервари рассмотрел математическую постановку и решил задачу линейного программирования, имеющую название «проблема выбора», метод решения получил название «венгерского метода».
Канторовичем совместно с М. К. Гавуриным в 1949 году разработан метод потенциалов, который применяется при решении транспортных задач. В последующих работах Канторовича, Немчинова, В. В. Новожилова, А. Л. Лурье, А. Брудно, Аганбегяна, Д. Б. Юдина, Е. Г. Гольштейна и других математиков и экономистов получили дальнейшее развитие как математическая теория линейного и нелинейного программирования, так и приложение ее методов к исследованию различных экономических проблем.
Одновременно с развитием линейного программирования большое внимание уделялось задачам нелинейного программирования, в которых либо целевая функция, либо ограничения, либо то и другое нелинейны. В 1951 году была опубликована работа Куна и Таккера, в которой приведены необходимые и достаточные условия оптимальности для решения задач нелинейного программирования. Эта работа послужила основой для последующих исследований в этой области.
Начиная с 1955 году опубликовано много работ, посвященных квадратическому программированию (работы Била, Баранкина и Дорфмана (Dorfman R.), Франка (Frank M.) и Вольфа (Wolfe P.), Марковица и др.). В работах Денниса (Dennis J. B.), Розена (Rosen J. B.) и Зонтендейка (Zontendijk G.) разработаны градиентные методырешения задач нелинейного программирования.
Математическое программирование широко применяется в различных областях, включая экономику, финансы, логистику, производственный менеджмент, транспортные системы, инженерное проектирование и другие, где требуется принятие оптимальных решений для сложных проблем.
А как ты думаешь, при улучшении оптимизация, будет лучше нам? Надеюсь, что теперь ты понял что такое оптимизация, математическое программирование и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Математическое программирование
Комментарии
Оставить комментарий
Математическое программирование
Термины: Математическое программирование