Характеристики алгоритмов оптимизации. Методы оптимизации технологических процессов

Исследование алгоритма оптимизации

2.1 Описание алгоритма оптимизации

Для культурного алгоритма, основанного на эволюционном программировании для решения ограниченных проблем оптимизации.

Такой подход позволяет включение знаний об этой проблеме во время поиска. Такие знания включение позволяет значительному сокращению числа фитнес-функций оценки требуемых алгоритму.

Справочная информация культурной эволюции общества позволяет развиваться и адаптироваться к среде на более высокий уровень, чем биологической эволюции основаны Преимущества и недостатки на генетических наследование только коммуникационный протокол и с течением времени люди разработали уникальный набор возможностей, которые поддерживают алгоритм формирования, Кодирования и передачи общие черты культурной информации.

Культура есть система символически кодируется концептуальных методов явления, которые являются социально и исторически, передаваемых в рамках Преимущества и недостатки культурных алгоритмов вычислительных моделей культурной эволюции протокола и связи. Другие методы культурных алгоритмов эволюционных алгоритмов, которые поддерживают будущие направления дополнительного механизма для извлечения информации в ходе исполнения приложения алгоритма, избегая необходимости кодирования

Алгоритм уменьшает необходимость для незрелых людей тратить энергию в обход проб и ошибок итераций, как правило, требуется получить информацию об окружающей среде. Он позволяет передачу больше информации, чем любые недостатки индивидуального генома мая реально содержит коммуникационный протокол алгоритма и культуры населения, дает общие черты культурной информации может передаваться быстрее, чем генетические материалы. Стабильность - культура способна упорно за жизнь одного человека протоколов.

Культурные связи протокола взаимодействия между населением и убеждений пространстве культурного алгоритма - лучших людей из населения может обновить веру пространства алгоритмов. Связанные с помощью функции обновления техники знания категорий убеждений пространстве может повлиять на население путем изменения генома или действия отдельных лиц Преимущества и недостатки протокола и алгоритма общие черты

С эволюционной точки зрения культурного алгоритма в микроэволюционной перспективе - передаче поведение между индивидуумами в области народонаселения и с макроэволюционной точки зрения (формирование обобщенных Преимущества и убеждений на основе индивидуального опыта) Недостатки коммуникации каждый человек может быть описан: алгоритм набора признаков. Общие черты лица опыта прошлого и прогнозы относительно будущего коммуникационные протоколы или обобщенного описания своего опыта вложение.

Основные культурные алгоритма инициализировать народонаселения космической POP (т), а также справочную и инициализировать убеждений космической BLF и повторяется до тех пор, пока прекращение состояния достигнуто. Преимущества и недостатки выполнять действия отдельных лиц в POP (т); протокола и связи оценки каждого отдельного используя функции; Алгоритм выбирает лучших людей стать родителями; Общие черты создать новое поколение потомков путем мутации и кроссовер; Другие лучшие люди могут обновить BLF (т) - признание функции.

Двойного наследования (по крайней населения и уровня знаний) соответствующие знания по методам руководства эволюции населения англ. Поддерживает иерархическую структуру населения и убеждений. Преимущества и области знаний, отделяется от лиц Недостатки Сообщение поддерживает себя адаптации на различных уровнях протокола и алгоритма эволюции может происходить с разной скоростью на разных уровнях общие черты (В алгоритме развивается 10 раз быстрее, чем биологические коммуникационные протоколы поддерживает гибридные подходы к решению проблем вложении Другие методы вычислительной в рамках которой многие все будущие направления различных моделей культурные изменения могут быть выражены

Алгоритм может поддержать возникновение иерархических структур в обоих алгоритмов. Похожие убеждений и населения методам нахождения количество доменных знаний (например, сдерживается смежным методам оптимизации проблем сложных систем, в которых адаптация может происходить на различных уровнях Справочная информация и на различных курсов в области народонаселения и убеждений пространстве и знания в различных формах и должна быть мотивированным минусы, по-разному коммуникационный протокол и гибридных систем, которые требуется сочетание Алгоритм поиска и базы знаний, основанные общие черты Подходит Проблемы проблема требует решения многочисленных групп населения и многочисленных коммуникационных пространств убеждений и их взаимодействие протоколов вложении Другие иерархически структурированной среде, где проблема Методы иерархическую структуру населения и знание элементов

Признание Функция культуры Алгоритм - все люди используются для обновления ограничений знаний культурныхх алгоритмов. Похожие рейтинг 20% (видный человек) являются использование используются методы обновления от нормативного знания использовать помехи для корректировки правил активных клеток. Недостатки Сообщение осуществимо протокола и невозможно Алгоритм полу-возможные общие черты Подходит Проблемы адаптации иерархическая структура, основанная на вышеупомянутое сообщение Протоколы сплит полу-возможно клеток на более мелкие ячейки, когда число вложении Другие лица становится слишком высокой Будущие направления слиянии невозможно детей в первоначальном родителей;

Похожие методы руководства миграции людей из менее продуктивными клеток, чтобы те, которые являются более продуктивными-это возможно и практически осуществимо клеток с видными Преимущества и недостатки отдельных лиц и коммуникационный протокол свидетельствует миграция из обычной клетки для выдающихся Алгоритм клеток общие черты как мало видных клеток коммуникационные протоколы перемещения лиц в невозможно клетки для них осуществимо вложении перехода от обычных людей на видных клеток

Население культурных моделей, используемых алгоритмов - генетических алгоритмов. Похожие методы англ. Недостатки Сообщение Эволюция стратегий (Робот играет в футбол) и Протокол Алгоритм Memetic моделей (Развитие сельского хозяйства) Общие черты агент на основе моделирования (Эволюция состояния окружающей среды Подходит Проблемы коммуникации воздействия)

Вариации культуры Алгоритм - генетических алгоритмов. Похожие методы англ. и космической руководствуясь генетические алгоритмы (VGA)

Микро-эволюционный процесс моделируетсяс использованием генетических алгоритмов.Недостатки протокола и убеждений пространство представляет схемы и обобщения отдельных хромосом, основанных на их поведении. Подходят будущие направления культуры Алгоритм - генетических алгоритмов. Похожие методы нескольких представлениях и народонаселения Преимущества и недостатки убеждений космической эволюции протокола Проектирование и культурных систем Алгоритм общие черты и структуры и решении проблем окружающей среды.

Использование доменов информации для повышения эффективности алгоритмов. Похожие эволюционного алгоритма. , коммуникационный протокол и разнообразию и изменениям в окружающей среде в популяциях.

Рисунок 1.Алгоритм культурного обмена.

2.1.2 Основные идеи алгоритма культурного обмена

Культурные алгоритмы используют базовый набор знаний, источников, связанных друг к знаниям наблюдается в различных животных. Эти знания источников, то в сочетании с прямым решением отдельных агентов в решении проблем оптимизации Этот алгоритм, основанный на аналогии со стоимостью маргинальных теорем для руководства интеграции этих различных источников знаний для прямого агента населения. Применяется алгоритм, чтобы найти оптимальный в динамичной среде в составе мобильных ресурсов конусами. Это свидетельствует о том, что некоторые этапы решения проблемы возникают вместе со связанными с ролью каждого решения в ходе процесса.

Знания об эволюционном информация не использовал эффективно в области генетического алгоритма. В то время как традиционные культурные алгоритмы, имеющих двойное наследование структуры сходятся медленно, потому что эволюционный программирование выбирается для населения, модели и оператора мутации только будет принят населения в пространстве. Роман культурных алгоритмов, основанный на генетических алгоритмов предлагается четыре вида знания воды. Результаты моделирования по базового одного пика оптимизации функций свидетельствуют о том, что эффективность этого метода гораздо лучше, чем традиционные культурные алгоритмы специально для "простой функции". С целью многолетних пиков оптимизации проблему, нескольких окон культурного алгоритм и нескольких окон культурного алгоритм, основанный на генетический алгоритм вводятся. Результаты моделирования по базового многолетних пиков функция указывает на то, что последний является более эффективным средством оптимизации производительности, чем первого.

Ежедневно поколения графика гидротермальных систем энергоснабжения играет важную роль в функционировании энергосистемы для экономики и безопасности, которая является крупномасштабных динамичный нелинейной оптимизации сдерживается проблемой. Очень трудно решить с помощью традиционных методов оптимизации. В настоящем документе предлагается новый культурный алгоритм для решения ежедневных поколения оптимального планирования гидротермальных систем энергоснабжения. Подход принимает водном транспорте времени задержки связаны между водохранилища во внимание и удобная возможность заниматься сложной гидравлической связью одновременно. Например используется для проверки правильности и эффективности предлагаемых культурных алгоритм, по сравнению с обеих Лагранжа метод и метод генетических алгоритмов. Результаты моделирования показывают, что предлагаемый алгоритм имеет быстрого сближения скорость и точность выше решение. Таким образом, эффективным методом оказывается решить оптимальным ежедневно поколения графика гидротермальной системы.

Программисты часто используют, основанной на знаниях эвристические подходы в применении решения проблем программирования.

Программа нарезки является одним из средств, используемых для получения таких знаний в области программного обеспечения для поддержки отладка, испытания, техническое обслуживание и понимание программ.

Программа нарезки является определение множества всех заявлений в программу, которая прямо или косвенно влияет на значение переменной происшествия. Генетическое программирование на процесс использования эволюционных методов для выявления информации, которая может быть использована для определения местоположения проблемы в программный код. Мы считаем, что в рамках культурного Алгоритм базы, анализ агент тестирования могут быть реализованы с использованием методов нарезания в целях получения более точных метрик программы.

Скопление интеллекта (СИ) является вычислительная техника разветки с участием исследования коллективного поведения в децентрализованных системах.

Такие системы основаны на население простых людей, взаимодействующих на месте с другом и с окружающей их средой. Несмотря на то, как правило, нет централизованного контроля диктовать поведение отдельных лиц, местных взаимодействий между людьми часто приводят к глобальной структуры выйти. Примерами таких систем, как этого можно найти в природе, в том числе колоний муравьев, птиц, животных, выпас скота, мед пчел, и многое другое.

Культурные алгоритм с дифференциальной эволюции населения, предложенных в этом документе. Этот алгоритм использует культурные различными источниками знаний оказывать влияние на изменение оператором дифференциальной эволюции алгоритм, с тем чтобы сократить количество фитнес-функция оценок, необходимых для получения конкурентоспособных результатов. Сравнения предоставляются в отношении трех методов, которые являются репрезентативными для самой современной в области. Результаты, полученные наш алгоритм похожи (по качеству) с результатами, полученными в других подходов, в отношении которых было сравнивать. Однако наш подход требует меньшего числа фитнес-функций оценки, чем другие.

В этой статье мы предлагаем культурный алгоритм, где источниками знаний изменить вариации оператора дифференциальной эволюции алгоритма.

Эволюция используется в качестве основы для населения, изменение и отбор процессов. Выполняться эксперименты показывают, что культурный ди erential эволюция способна уменьшить количество фитнес-функция оценок, необходимых для получения хорошей апроксимацией по оптимальной стоимости ограничены в режиме реального параметра оптимизации. Сравнения предоставляются в отношении трех методов, которые являются репрезентативными для самой современной в области. Конференция: Генетические и Эволюционные вычисления конференции - GECCO

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

Каждая группа людей, неизбежно приходит на целый ряд общих ценностей, верований, моды, анекдоты, страхи, сексуальные привычки, ненависти и т.д. Это достигается путем смешивания стилей и мнений среди членов группы, чистка группу лиц с нежелательных признаков, или определенное сочетание обоих тактику. Этот процесс достигнет критической массы, когда некоторые из этих общих признаков, достаточно укоренились в жизни группы, о том, что группа начинает ritualistically распространять эти общие черты его молодым. На данный момент трансцендентного, сбор общих черт становится алгоритм для создания новых членов группы и могут быть надлежащим образом помечены как "культура". Наша культура заражает нас через различные стадии инкубации (например, туалет подготовки, Girl Guides, и среднюю школу) до тех пор, пока каждый из нас становится уникальным переросли итерации нашей культуры Алгоритм, содержащие выражения, и такие понятия, как врожденное человека, стук танцы, реальность ТВ, а другие в разной пропорции. Как только это будет завершено, мы становимся reseeded сумму, которая в то подключено к следующей итерации инициирует культурные (то есть наших детей). Культура, таким образом, передает в двух разных векторов. Очевидно, она распространяется биологически, расширяется в геометрической прогрессии за счет окружающей среды, постоянно растет. Не менее важно, однако, она распространяется психо-духовно, расширяя н-dimensionally в каждой новой итерации смесей и пересекается с существующим веб-итераций из прошлых и нынешних умов - подобно галактике зеркал превратилась сталкиваться друг с другом. Как указывалось выше, тем ниже.

Как уже говорилось, элементы нашей культуры алгоритма куски знания важное значение группы; важно, чтобы ingrain в последующих поколениях. Мы обучаем детей, такие, как полезно infobits "Все вороны черные", "собаки приятно питомец" и "Играть хорошо с другими детьми". Эти семена справочных данных, чтобы помочь новой человеческой понять, плавание, и манипулировать его или ее окружающей среды. Несмотря на свою полезность, разумный человек не ожидает этих nuggets истины быть абсолютным, вечным и нерушимым. В реальном мире некоторые вороны имеют пятна, некоторые собаки кусают, а некоторые дети jerks, которые хотят принять наши деньги молока. Связаны ли эти факты жизни отрицать информативное значение этих семян? Абсолютно нет. Дети, которые являются жизнеспособными культурных инициирует не вдаваться apoplectic подходит Увидев ворона с белыми перьями, больше, чем они покинут свои руки в рот собаки на продолжение жевания или сидеть contently виду бабочек, хотя игровая запугивать ударов смол из них. В конечном счете, даже культурной алгоритм является лишь планом: идеального взаимопонимания по умолчанию группа в мире и себя. Он карт из грубой формы, но и мелкие детали можно только опытным путем, непосредственно жизни, дыхание человеку. Мы похожи на путешественников в странный город, оснащенных изношенные-от карту, как мы берем знаний и подготовки кадров культуры инфицированных нам и спотыкаются на основе существования как мы можем лучше. Как мы выяснили, больше данных подается обратно в культуру и алгоритм получает обновляться по мере потребности, но почему-то всегда представляется более мы не знаем…

Скорость и качество с учетом человеческой способности, чтобы выразить свою культуру Алгоритм с точки зрения постоянно меняющихся переменных реальной жизни на планете Земля то, что мы называем "интеллект". Кроме того, качество культура может быть выражено как функция, каким оно является благоприятной для реализации интеллектуальных, то есть насколько эффективно оно может быть применен к реальной жизни сценарии для достижения позитивных результатов.

В сноске, постоянного члена сочетание признаков имеет важное значение для культуры для сохранения культурной памяти и ремонтировать повреждения целостности группы, которые могут возникнуть в связи с массовой депопуляции в результате войны или чумы, внутренний политический раскол, ревность, возникающие в связи с мате отбора, и другие несчастного случая.

Постоянная обратная связь с окружающей средой хранит культуру конкурентоспособной в мире с ограниченными ресурсами, конкурирующих культур, а так же и других угроз.

Постоянное признак совместного использования и экологических обратной связи сильны bellwether признаки культуры по-прежнему здоровья. Потеря психических группы сплоченности и изолированность являются двумя основными симптомами, что культура находится в состоянии упадка.

2.1.3 Эффективность итерационных методов решения

Эффективность итерационных методов решения зависит главным образом от моделирования. Прекрасная настройка характеристик никогда не будет сохранять в равновесии плохой выбор структуры окрестности или реальной функции. Наоборот, эффективное моделирование должно привести к устойчивым методам, которые малочувствительны к настройке различных параметров. В этом разделе мы дадим некоторые рекомендации по проектированию эффективных методов решения.

Эффективные вычисления. На каждом шаге итерационного процесса решения должны быть оценены многими способами. Важно выполнять эти вычисления эффективным способом.

Следовательно,

Проверяя правильность нашего метода, мы используем некоторые тестовые функции которые часто используются в литературе с их помощью можно определить эффективность данного метода.

Характерные функции, которые используются следующие:

Приводим к:

Приводим к:

Приводим к:

Раскрываем:

И приводим к:

Таблица 1:Сравнивая результаты для тестовых функций. Наши приближения наз. САЕР(Cultural Algorithm with Evolutionary Programming).

Также ещё проводились исследование метода

Пусть нам дана функция

Проведём вычисления и сравним их с нулём

Таблица 2:Результаты для тестовых фунций

Интенсификация поиска. Чтобы углубить поиск в перспективных областях, мы должны возвратиться к одному из уже найденных лучшему решению. Тогда размер списка запретов может быть просто сокращен для «малого» числа итераций. В некоторых случаях могут быть использованы более сложные методики. Некоторые проблемы оптимизации могут быть разделены на подпроблемы.

Решение этих подпроблем оптимально и объединение частных решений приводит к оптимальному решению. Трудность такой стратегии, очевидно, состоит в нахождении хорошего разделения. Как упомянуто ранее, для основы, связанной с вычислительным временем, быстрые эвристики и окрестность рационального размера используется на каждом шаге TS. Методы по углублению поиска используют или более продуманные эвристики или методы строгого сглаживания или расширенную окрестность. Также возможно выполнить интенсификацию, основанную на долгосрочной памяти. Каждое решение или перемещение может быть характеризовано набором компонентов. Компоненты «хороших» перемещений или «хороших» решений запоминаются. В течении фазы интенсификации решения и перемещения оцениваются принятым во внимание количеством «хороших» компонентов. Эта долгосрочная память может быть рассмотрена, как своего рода процесс обучения.

Исследование математической (аналитической и имитационной) модели регулировочного участка цеха

В приложении 2 представлена детальная схема моделирующего алгоритма. Блоки 1-4 данного алгоритма инициализируют элементы, составляющие модель. Блок 2 и 3 устанавливает флаги занятости устройств К1 и К2 в значение лож...

Метод Зойтендейка

Метод Золотого сечения на Delphi

1. Ввод переменных a,b,dx и функции f(x); 2. Вычисление значений Xi на отрезке a,b с шагом h. Продолжение цикла до конца отрезка а,b 3. Вывод всех значений F(xi) в массив; 4. Вычисление F(xi) и вывод в массив; 5. Проверка на значение натурального логарифма; 6...

Модель экспертной оценки

В данном разделе наводятся алгоритмы для нахождения победителей выборов. Для определения победителей Борда и Копленда воспользуемся непосредственно приведенными выше правилами, то есть реализуем их программно. Сложность алгоритмов...

Определение оптимальных складских запасов

Для нахождения оптимального решения задачи в зависимости от вида и структуры целевой функции и ограничений используются следующие методы теории оптимальных решений (методы математического программирования): 1)Линейное программирование -...

Поиск оптимальных условий

Существует достаточно большое количество численных методов оптимизации. Рассмотрим два метода поисковой оптимизации: «Метод Гауса-Зайделя» и «Метод наказанием случайностью». Первый метод относится к многомерной безградиентной оптимизации...

До этого момента в работе использовались данные о биржевых котировках валютного курса, по которым не совершаются сделки, поэтому, чтобы приблизить модель к реальности, необходимо каким-то образом это учитывать...

Разработка и исследование вероятностных эволюционных алгоритмов для моделирования и оптимизации сложных систем

Разработка и создание автоматизированной системы обработки информации

Первым делом выбираем среду программирования. Для нас приемлемой будет среда Borland Delphi, поскольку программные продукты - исполняемые файлы с расширением ехе. Следующий этап - мы строим диаграмму будущего проекта - это будет 3 таблицы...

1.При запуске программы пользователю предлагается ввести количество запасов и запросов А) Выполняется проверка на правильность ввода. Если введены числа то Б) Рисуется таблица 2...

Поиск эффективных решений задачи оптимизации всегда был одним из наиболее приоритетных направлений прикладной математики. Высокая заинтересованность результатами данной области прикладной математики обусловлена как наличием в природе естественных оптимизационных процессов, так и стремлением человека к наилучшей организации своей деятельности. Таким образом оптимизация является важным инструментом при исследование рзличных физических систем и при принятии решений.

Целью данной работы является исследование подходов, базирующихся на использование локально-детерминистических методов, к решению различных оптимизационных задач, которые возникают при моделировании сложных динамических систем, а также построение эффективных локально-детерминистических алгоритмов оптимизации для решения этих задач. Для достижения поставленных целей в данной работе анализируется специфика, характерные черты и различные способы постановки наиболее важных в моделировании сложных динамических систем оптимизационных задач, а также изучаются известные алгоритмы для решения оптимизационных задач и реализующие их программные пакеты. Практическим результатом работы является разработка подсистемы оптимизации и внедрение её в моделирующую среду Diana , на базе которой и проводятся дальнейшие исследования.

Предполагается, что в рамках данной работы будет разработан новый эффективный алгоритм оптимизации (или группа алгоритмов), ориентированный на решение специфических задач, возникающих при моделировании сложных динамических систем.

1. Задачи оптимизации, возникающие при моделировании СДС

1.1 Особенности оптимизационных задач, возникающих при моделировании СДС

Детальное рассмотрение всевозможных оптимизационных задач, возникающиих при моделировании СДС, позволяет разбить их на две группы.

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

Ко второй группе относятся задачи, в которых целевая функция задаётся в виде суперпозиции некоторой функции и функции-решения системы дифференциальных уравнений (ДУ), описываюшей модель. Если модель описывается системой ДУ вида:


то формально целевая функция для задач второй группы в общем виде описывается уравнением:
Таким задачам присущи следующие особенности:
  1. Число неизвестных в данных задачах не велико и редко превышает 30.
  2. В связи с необходимостью интегрирования траектории при расчёте значения целевой функции, ее вычисление требует больших вычислительных затрат.
  3. Поскольку большинство специализированных интеграторов выполняют интегрирование траектории и анализ чувствительностей одновременно, то расчёт целевой функции и её градиента (либо якобиана её составляющих) могут быть выполнены также одновременно с минимальными дополнительными вычислительными издержками.
  4. Возможные случаи несходимости алгоритмов решения ДУ и невычислимости некоторых выражений, входящих в состав модельных уравнений, обуславливают появление прямых ограничений, которые на практике сложно (или невозможно) заменить эквивалентными функциональными ограничениями.
  5. Целевая функция в таких задачах зачастую характеризуется высокой нелинейностью и имеет множество локальных минимумов, что требует применения особых методов до начала использования локально-детермического алгоритма, обеспечивающих хорошее начальное приближение, а следовательно и глобализацию сходимости.
  6. Часто данные задачи плохо масштабируемы.

Из перечисленных особенностей следует, что задачи, принадлежащие ко второй группе, требуют значительной переработки классических алгоритмов оптимизации, ориентируя данные алгоритмы на как можно меньшее число вычислений целевой функции и учёт возникающих прямых ограничений.

1.2 Задача оценки параметров модели. Метод множественных стрельб

Ко второй группе задач относится, в частности, задача оценки параметров модели. Постановка данной задачи может быть произведена следующим образом . Дана модель, описываемая системой ДУ (1.1) и набор уравнений наблюдения . Часть параметров p" и начальных значений переменных состояния x 0 " системы, описывающей модель, не известны и образуют вектор искомых параметров . В то же время известна матрица замеров Y , описывающая экспериментальные данные. Элементы матрицы Y являются замерами переменных состояния, с учётом функций наблюдения, в дискретные моменты времени и описываются уравнением:


где - некоторый случайный шум, распределённый в большинстве случаев по нормальному закону. Целью является оценка вектора искомых параметров, исходя из экспериментальных данных. Обычно для решения этой задачи используют принцип максимального правдоподобия. Тогда в случае распределения шума наблюдения по закону Гаусса задача принимает вид:

, (1.4)


где - целевая функция, а и - ограничения, накладываемые на целевую функцию, исходя из физических соображений. Доверительные интервалы для оцениваемых величин определяются посредством использования информационно матрицы Фишера или других схожих методов .

Важной проблемой при использовании локально-детерминистических методов в данном случае является выбор начальной точки. Существует два подхода к решению этой проблемы. Первый из них называется подходом с оценкой начальной точки (initial-value approach ) . Он заключается в том, что после подходящего выбора начального приближения модельные уравнения интегрируются на всём временном промежутке оценки параметров, а затем вычисляется функция по формуле (1.4). Данный подход требует использования на начальном этапе метода, обеспечивающего грубое приближение к глобальному минимуму. Наиболее простым выходом из этой ситуации является использование некоторого глобального стохастического оптимизатора. В данной работе в качестве такового выбран генетический алгоритм оптимизации.

Существует и альтернативный подход, именуемый методом множественных стрельб (ММС) , впервые предложенный ван Домселааром и Хемкером (1975) и теоретически обоснованный Боком (1981,1983). Данный подход заключается в следующем. Сначала временной промежуток оценки параметров разбивается подходящим образом сеткой на подинтервалы T 0 =t 0 (рис.1). Каждому из подинтервалов ставится в соответствие свой кусок интегрируемой траектории с собственными неизвестными начальными значениями переменных состояния x 0(k) . Искомые параметры модели p" при этом для всех интервалов остаются общими. В каждый интервал должна попадать по крайней мере одна экспериментальная точка. Поскольку результирующая траектория не должна иметь разрывов, к результирующим ограничениям добавляется ряд ограничений, обеспечивающих непрерывность результирующей траектории в момент переходов между интервалами. Окончательно задача принимает следующий вид:

. (1.5)



Рис.1.1 - Идея метода множественных стрельб

Несмотря на значительный рост числа неизвестных в ММС, данная схема обладает рядом преимуществ :

  1. Упрощается учёт априорной информации о переменных состояния, определяемой по значениям замеров, при выборе начального приближения.
  2. Подходящий выбор начальной точки обычно позволяет избежать выхода на локальный минимум задачи.
  3. Данный метод является численно устойчивым и позволяет решать задачу оценки параметров даже для нестабильных и хоатических систем.
  4. Особая структура целевой функции позволяет упростить реализацию параллельных алгоритмов её подсчёта.

2. Алгоритмы оптимизации

2.1 Классификация алгоритмов оптимизации

Существует несколько альтернативных подходов к классификации локально-детерминистических алгоритмов оптимизации (рис.2.1).

Критерием разделения алгоритмов на группы в первом подходе является класс оптимизационных задач , которые позволяет решить алгоритм . Поскольку наиболее важными частными случаями задачи математического программирования являются задача безусловной оптимизации, задача оптимизации с прямыми ограничениями на переменные, задача условной оптимизации с ограничениями-равенствами, задача условной оптимизации со смешанными ограничениями и задача минимизации функций нелинейных квадратов, то согласно этому критерию выделяют следующие группы алгоритмов:

  1. алгоритмы безусловной оптимизации;
  2. алгоритмы решения задачи оптимизации с прямыми ограничениями на переменные;
  3. алгоритмы условной оптимизации для задач с ограничениями-равенствами;
  4. алгоритмы условной оптимизации для задач со смешанными ограничениями;
  5. алгоритмы нелинейных наименьших квадратов.

Второй подход основывается на учёте различных критериев, которые определяют характерные черты реализации алгоритмов . Согласно одному из таких критериев методы оптимизации делятся на активные (последовательные ) и пассивные . В пассивных методах все точки для дальнейшего анализа выбираются одновременно до начала вычислений. В активных методах точки выбираются последовательно, выбор каждой последующей точки зависит от значений предыдущих. Другим критерием классификации является информация о функции, которую требует алгоритм. Если для успешного выполнения алгоритма достаточно лишь информации о значение функции в точке, то такой алгоритм относится к алгоритмам нулевого порядка (метод Гаусса, симплексный метод Недлера-Мида, методы поворота системи координат Хука-Дживса, классический Розенброка, метод Пауэлла и т.д.). Если дополнительно требуется знание о градиенте, то алгоритм относится к алгоритмам первого порядка . Алгоритмы второго порядка кроме знания значение функции в точке и её градиента, нуждаются также в информации о матрице Гессе (метод Ньютона, классические SQP-схемы). Среди локально-детерминистических методов оптимизации наиболее представительную группу составляют методы спуска , которые в свою очередь базируются на двух моделях. Первую модель образуют методы линейного поиска , в которых на каждой итерации направление спуска определяется однозначно, а оцениванию подлежит длина шага. Вторую модель образуют методы доверительных областей (trust-region ), в которых наоборот на каждой итерации оценивается направление спуска. Среди методов спуска первого порядка можно выделить такие группы методов :

  1. градиентные алгоритмы;
  2. квазиньютоновские алгоритмы (ДФП, БФГШ, SR1);
  3. методы сопрпяжённых направлений (метод Флетчера-Ривза, метод Полака-Рибьера);
  4. специализированные алгоритмы минимизации квадратов нелинейных функций (метод Гаусса-Ньютона, метод Левенберга-Маркарда, ряд SQP-схем).


Рис.2.1 - Классификация алгоритмов, решающих задачу математического программирования

2.2 Обзор существующего оптимизационного ПО

На сегодняшний день разработано множество оптимизационных программ, реализующих локально детерминистические алгоритмы. Многие из этих кодов распространяется под лицензией GPL, часть напротив является платной либо частично платной. Условно всё оптимизационное ПО можно разбить на три группы (рис.2.2):

  1. программные пакеты, ориентированные на решение задачи математического программирования (на рис. оттенки зелёного);
  2. численные библиотеки, содержащие алгоритмы оптимизации (на рис. жёлтый цвет);
  3. системы оптимизации и моделирующие среды (на рис. синий цвет).


Рис.2.2 - Классификация ПО, решающего задачу математического программирования

Часть из известных оптимизационных пакетов ориентирована на решение только одного класса оптимизационных задач, но некоторые пакеты способны эффективно решать несколько классов задач. Характерной чертой пакетов для решения задачи оптимизации с прямыми ограничениями на переменные является то, что они достаточно эффективно справляются с задачей безусловной оптимизации. Большинство оптимизационных пакетов реализованы на языке Fortran. Наиболее известными из них являются LANCELOT и MERLIN. Именно с эффективностью реализованных в них процедур обычно производится сравнение эффективности новых алгоритмов. LANCELOT является одной из наиболее мощных библиотек оптимизационных алгоритмов, ориентированных прежде всего на решение задач большой размерности. Язык реализации библиотеки - ANSI Fortran 77. Хотя недавно вышла адаптация пакета LANCELOT на Fortran 99. На данный момент LANCELOT разработкой занимается Council for the Central Laboratory of the Research Councils (CCLRC). Пакет MERLIN был разработан в университете г.Иоаннина (Греция) и первоначально предназначался для решения задачи оптимизации с прямыми ограничениями на переменные. Сейчас функциональность пакета значительно расширилась. Одним из наиболее известных пакетов для решения задач безусловной оптимизации и оптимизации с прямыми ограничениями на переменные на сегодня является пакет L-BFGS-B, разработанный в Северо-Западном университете (США). С недавнего времени начали появляться оптимизационные пакеты, реализованные на C++ (OptSolve++, OPT++, macopt). Часто такие пакеты уже содержат реализации параллельных алгоритмов оптимизации (OptSolve++, Bob++).

Численные библиотеки NAG, HSL и IMSL среди прочих неспециализированных численных библиотек выделяются наиболее развитой системой алгоритмов оптимизации. В библиотеке NAG алгоритмы оптимизации собраны в папку E04. Разработкой библиотеки занимается The Numerical Algorithms Group Ltd. На данный момент доступны реализации библиотеки на Fortran и C, в недавнем прошлом сушествовали только Fortran77 и Algol68 версии библиотеки. Библиотека является коммерческой. Библиотека HSL (Harwell Subroutine Library) разрабатывается CCLRC (в деревушке Харвел неподалёку от Оксфордшира). На данный моент библиотека HSL реализована только на ISO Fortran. Последний известный релиз библиотеки состоялся в сентябре 2004. Алгоритмы оптимизации библиотеки IMSL собраны в главу 8 её реализации на языке ANSI Fortran. Реализация библиотеки на C содержит только часть этих алгоритмов. Доступны также ограниченные реализации этой библиотеке на Java и C#.NET. Разработкой библиотеки занимается компания Visual Numerics Inc.

Системы оптимизации и моделирующие среды обычно представляют из себя развитый законченый продукт и имеют встроенный собственный (либо стандартизированный) язык моделирования, позволяющий достаточно просто формулировать оптимизационные задачи. Обычно такие системы и среды предоставляют интерфейс для подключения внешних пакетов, реализованных на Fortrn и C. Более того, моделирующая среда GAMS, разработанная GAMS Development Corporation, не имеет собственных оптимизационных кодов, а лишь предоставляет интерфейс для подключения пакета MINOS. Системы оптимизации Speakeasy также имеет интерфейс для подключения внешней библиотеки NAG, но в то же время в ней содержатся и "родные" пакеты, такие как EISPACK и FFTPACK. AMPL представляет из себя специализированный достаточно гибкий язык моделирования для постановки и решения задач математического программирования. Matlab является наиболее известной системой из вышеперечисленных. В данной системе реализованы квазиньютоновские алгоритмы, метод Недлера-Мида, метод Ньютона, метод Левенберга-Маркарда и т.д.

Существуют также пакеты, ориентированные на решение задачи оценки параметров. К ним следует отнести пакеты EASY-FIT, разработанный в университете г.Бейрут под руководством проф. К.Шитковского, и пакет PAREST, разработанный в Мюнхенском техническом университете. Причём в пакете PAREST реализован метод множественных стрельб.

К оптимизационному ПО стоит также отнести библиотеку тестовых оптимизационных задач CUTEr, разработанную Н.Гоулдом, Д.Орбаном и Ф.Тоинтом. Данная библиотека, по сути, является стандартом для тестирования алгоритмов оптимизации.

3. Обзор публиуаций по теме

Ежегодно появляются десяки публикаций, посвящённых оптимизационным задачам, возникающих при моделировании СДС, и в частности вопросам оценки параметров моделеи. Не смотря на то, что сушествует множество основательных трудов в области оценки параметров , метод множественных стрельб достаточно слабо освещён в литературе. Классические книги проф. Х.Бока, в которых проведено обоснование и доказательство практической ценности ММС, из-за малого тиража практически недоступны. Статей посвящённых ММС также относительно не много. В большинстве из них производится только обзор метода, а также способов его реализации. Анализ сходимости и другие важные вещи там отсутствуют.

Существует множество книг и статей, посвящённых локально-детерминистическим методам оптимизации. В части из них авторы пытаются охватить весь круг известных на данный момент локально-детерминистическим алгоритмов оптимизации, в некоторых работах авторы освещают лишь отдельный выбранный алгоритм либо группу методов.

Поскольку в данной работе в первую очередь планируется реализовать модификацию БФГШ-метода для решения задачи оптимизации с прямыми ограничениями на переменные, то в дальнейшем здесь будут рассматриваться только публикации, в которых описывается БФГШ-метод. Метод Бройдена-Флетчера-Голдфарба-Шэнно (БФГШ) был предложен в 1970 году как развитие общей идеи квазиньютоновских методов, предложенной Давидоном. На сегодняшний день этот метод является наиболее эффективным квазиньютоновским методом. В 1980 Дж.Ноцедалем была предложена модификация БФГШ-алгоритма, требующая небольших затрат оперативной памяти и известная под названием LBFGS-метода , а в 1991 году им же в соавторстве с Р.Бёрдом был предложен L-BFGS-B-метод, позволяющий решать не только задачи безусловной оптимизации, но и задачи оптимизации с прямыми ограничениями на переменные . В 1994 году появился пакет, реализующий LBFGS-B-алгоритм на языке Fortran. В 1994 году вышел последний релиз этого пакета. В дальнейшем публикации, касающиеся LBFGS появлялись ежегодно, но принципиально новых идей по модификацие LBFGS-алгоритма в них не было.

4. Краткое описание используемых алгоритмов

В данной работе для решения оптимизационных задач, возникающих при моделировании СДС, используется подход с оценкой начальной точки (см. пункт 1.2). При этом начальное приближение к глобальному минимуму отыскивается с помощью генетического алгоритма оптимизации. В случае задачи оценки параметров дополнительно применяется метод множественных стрельб (см. пункт 1.2).

В качестве основного алгоритма оптимизации на данном этапе используется LBFGS-B-метод . Направление в данном методе ищется согласно формуле (4.1):


где , , .

Для учёта ограничений в LBFGS-B-алгоритме используется схема, идентичная той, которая применяется в методе проекции градиента. Классический LBFGS-B-алгоритм использует при выборе длины шага процедуру "бэктрэкинга" ("backtracking"). В данной работе планируется несколько улучшить классическую схему LBFGS-B-метода путём использования в нём при выборе длины шага интерполяционной процедуры.


Рис.4.1 - Схема работы методов спуска

Выводы

В данной работе были кратко рассмотрены основные классы оптимизационных задач, выделены их особенности и рассмотрены подходы, позволяющие находить их решения. Также здесь приведен краткий обзор алгоритмов оптимизации, существующего оптимизационного ПО и литературы по данной тематике. На текущий момент в рамках работы разработаны и внедрены в моделирующую среду Diana интерфейсы основных оптимизационных задач и решателей данных задач. Был дополнительно реализован простой градиентный алгоритм алгоритм с модификацией Армихо , но в связи с тем, что данный алгоритм не справлялся с решением плохо масштабированных задач, от дальнейших исследований в данном направление пришлось отказаться. Вместо этого в моделирующую среду Diana мной был имплементирован код LBFGS-B-алгоритма, разработанный П.Лу .

В дальнейшем планируется на языке C++ реализовать модифицированный LBFGS-B-алгоритм и исследовать эффективность предложенной модификации на реальных моделях с использованием как подхода с оценкой начальной точки, так и ММС, а также исследовать один из алгоритмов минимизации квадратов нелинейных функций.

Список использованной литературы

  1. Nocedal, Jorge; Wright, Stephen J. Numerical optimization. - New York, NY : Springer, Springer series in operations research, 1999. - 623 с.
  2. Измаилов, А.Ф.; Солодов, М.В. Численные методы оптимизации. - М.: «ФИЗМАТЛИТ», 2003. - 304 с.
  3. Бертсекас, Д. Условная оптимизация и методы множителей Лагранжа. - М.:Радио и связь, 1987. - 400 с.
  4. Сухарев, А.Г.; Тимохов, А.В.; Фёдоров, В.В. Курс методов оптимизации. - М.: Наука, 1986. - 328 с.
  5. More, Jorge J.; Wright, Stephen J. Optimization software guide. - Philadelphia, Pa.: SIAM Soc. for Industrial and Applied Mathematics, 1994. - 154 с.
  6. Peifer, M.; Timmer, J. Parameter estimation in ordinary differential equations using the method of multiple shooting - a review. - Freiburg: Freiburg Centre for Data Analysis and Modelling, 2005
  7. Byrd, Richard H.; Lu,P.; Nocedal, Jorge; Zhu, C. A Limited Memory Algorithm for Bound Constrained Optimization. - Northwest university, 1994
  8. Horbelt, Werner Maximum likelihood estimation in dynamical systems. - Freiburg: Albert-Ludwigs-Universitaet Freiburg Fakultaet fuer Physik, 2001.
  9. Polak, Elijah Optimization: algorithms and consistent approximations (Applied mathematical sciences; v.124). - New York, NY : Springer, 1997. - 779 с.
  10. Censor, Yair; Zenios, Stavros Andrea Parallel optimization: theory, algorithms, and applications - New York, NY : Oxford Univ. Press, 1997. - 539 с.
  11. Сеа, Ж. Оптимизация. Теория и алгоритмы. - М.: «Мир», 1973. - 244 с.
  12. Retout, Sylvie; Mentre, France; Bruno, Rene Fisher information matrix for non-linear mixed-e ects models: evaluation and application for optimal design of enoxaparin population pharmacokinetics. - Sylvie Retout, INSERM U436, CHU Pitie Salpetriere, 91 bd de l Hopital, 75013 Paris, France, May 2001. - 15 с.
  13. Bock, Hans Georg; Koerkel, Stefan; Kostina, Ekaterina; Schloeder, Johannes P. Methods of Design of Optimal Experiments with Application to Parameter Estimation in Enzyme Catalytic Processes. - Interdisciplinary Center for Scientific Computing (IWR), University of Heidelberg, Im Neuenheimer Feld 368, 69120 Heidelberg, Germany, October 2004. - 25 с.
  14. Kutalik, Zoltan; Cho, Kwang-Hyun; Gordon, Steve V.; Wolkenhauer, Olaf Optimal Sampling Time Selection for Parameter Estimation in Dynamic Pathway Modelling. - Control Systems Centre, Department of Electrical Engineering and Electronics, UMIST, Manchester, UK, - 2003. - 22 с.
  15. Broyden, C. G. Journal of the Institute of Mathematics and Its Applications.#6. - 1970. - 76-90 с.
  16. Fletcher, R. Computer Journal.#13. - 1970. - 317 с.
  17. Goldfarb, D. - 1970. - 23 с.
  18. Shanno, D. F. Mathematics of Computation.#24. - 1970. - 647 с.
  19. Walter, Eric ; Pronzato, Luc Identification of parametric models from experimental data. - London: Springer, 1997. - 403 с.
  20. Schittkowski, Klaus Numerical data fitting in dynamical systems: a practical introduction with applications and software . - Dordrecht : Kluwer, 2002. - 392 с.
  21. Nocedal, Jorge Mathematics of Computation.(Updating quesi-Newton matrices with limited storage.)#35 - 1980, - 773-782 с.

В данном разделе рассматриваются задачи оптимизации, возникающие в многоэтапных (многошаговых) процессах принятия решений, излагается метод оптимизации Р. Веллмана и анализируются условия его применимости. Приводятся примеры и практические задачи, решаемые по этому методу, который называется динамическим программированием. Некоторые из этих задач рассматриваются и в последующих разделах при изложении методов линейного и нелинейного программирования, что позволяет оценить сравнительные возможности различных методов. Кроме того, излагается модификация метода Веллмана «Динамическое программирование на множествах Парето», которая для широкого круга задач более эффективна, чем оригинальный метод. Приводятся практические задачи из различных областей, которые решаются с помощью нового метода.

Многоэтапные процессы принятия решений

Динамическое программирование - это особый метод оптимизации, наиболее эффективный при решении задач, распадающихся на ряд последовательных этапов (шагов), таких как планирование производства и инвестиций на ряд временных интервалов (лет, кварталов, месяцев), последовательность тестовых испытаний при контроле аппаратуры, поиск оптимальной траектории движения и др. В любом случае, речь идет о процессах, в которых окончательное решение (план, проект, последовательность управляющих воздействий, обеспечивающая нужную траекторию и т. д.) вырабатывается последовательно (по шагам), причем на каждом шаге приходится решать однотипные задачи, которые существенно проще, чем решение исходной задачи в целом. В этом и состоит основная идея метода: свести решение одной сложной задачи к решению множества однотипных, иногда совсем простых задач, например выборка чисел из массива, суммирование и сравнение результатов.

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

Основная идея, которая привела к созданию вычислительного метода, была сформулирована в начале 50-х годов прошлого века Р. Веллманом (R. Bellman), сделавшим самый большой вклад в развитие метода, который он назвал «динамическое программирование» , но который чаще называют просто методом Веллмана.

Метод не является универсальным, причем далеко не всегда в конкретной практической задаче удается обосновать без дополнительного анализа возможность его применения, а тем более отсутствие такой возможности.

Реализация метода для каждого конкретного многошагового процесса принятия решений, как правило, требует разработки нового алгоритма. Многие практические задачи, которые можно решать с помощью этого метода, были рассмотрены его автором совместно с Дрейфусом (S. Dreyfus) .

Первоначально метод предлагался для решения сравнительно узкого класса задач, возникающих в процессах, которые развиваются во времени. Отсюда и название: динамическое программирование, причем слово программирование скорее означало планирование, чем разработку компьютерных программ. Фактически этот метод, как и рассматриваемый ниже симплекс-метод Данцига для решения задач линейного программирования, был разработан на заре «компьютерной эры», то есть до массового применения вычислительной техники. Тогда слово «programming» на русский язык переводилось как «планирование», и метод Р. Веллмана первоначально назывался «динамическое планирование». Через некоторое время после появления первых работ Р. Веллмана выяснилось, что для многих задач, которые не являются многоэтапными в явном виде, эту многоэтапность можно организовать искусственно и применить метод Веллмана.

Для изложения основной идеи метода рассмотрим сначала простую задачу поиска оптимального пути на двумерной прямоугольной сетке, в которой разрешены переходы из одного узла в другой только по горизонтали (вправо) или по вертикали (вверх). Заданы затраты на каждый из возможных переходов и требуется найти путь с минимальными суммарными затратами из левого нижнего угла сетки (рис. 2.1 точка А) в правый верхний угол (точка В). Такой путь называется оптимальным. Узлы сетки пронумерованы так, как показано на рис. 2.1, где шип задают соответственно вертикальный и горизонтальный размеры сетки (число шагов по вертикали и горизонтали соответственно).

Затраты на переход в узел i, j по горизонтали (из узла i, j-1) обозначим как gy ; а по вертикали (из узла i-1, j) - vy. В точке А соответствующие величины равны нулю. Таким образом, исходными данными в этой задаче являются: m, п и все шаговые затраты gy и vy (i = 0, 1,2, ..., m; j = 0, 1,2, ..., п). Всего n(m + 1) чисел gy и m(n + 1) чисел vy, то есть всего 2mn + m + п переходов и соответствующих им затрат.

Рис. 2.1.

При небольших размерах сетки можно попытаться решить задачу методом полного перебора вариантов возможных путей из точки А в точку В. Однако эта идея абсолютно бесперспективна уже при величинах шип порядка 10 из-за резкого роста числа вариантов возможных путей из точки А в точку В с увеличением размеров сетки. Действительно, каждому варианту пути из точки А в точку В соответствует ровно m шагов по вертикали и ровно п шагов по горизонтали, но последовательность этих шагов для каждого варианта своя. Если шагу по горизонтали поставить в соответствие 0, а шагу по вертикали 1, то очевидно, что вариант пути - это выбор размещения m единиц по m + п возможным местам (оставшиеся п мест займут нули). Для размещения первой единицы имеется m + п возможностей, для второй - m + n - I возможностей и т. д. В итоге получаем формулу для числа вариантов пути N.

Уже при m = п = 10 N = 184756.

Следующая идея состоит в том, чтобы из точки А идти в том направлении, которое требует минимальных затрат на первом шаге (первый ход), не думая о затратах на последующих шагах, и так в каждой точке. То есть рассматривать только затраты на данном шаге и выбирать тот переход, для которого на данном шаге затраты минимальны. Легко убедиться в ошибочности этой идеи даже при m = n = 1 (рис. 2.2).

Действительно, если первый шаг выбрать по вертикали в точку С (затраты 2 против 7), то в итоге после второго шага получим суммарные затраты, равные 12, а при выборе на первом шаге «неоптимального» решения (точка D) суммарные затраты равны всего лишь 8.

Рис. 2.2.

Приходим к выводу об ошибочности этой простой идеи принятия решения без учета его последствий. Иначе говоря, надо смотреть далее, чем на один ход вперед.

Поиск оптимального пути можно рассматривать как многошаговый процесс. На первом шаге находимся в точке А и имеем две возможности: пойти вверх или направо. Мы убедились на рассмотренном примере (рис. 2.2), что сделать выбор нельзя, так как нужно учитывать последствия этого выбора. При любом выборе попадем мы в точку (0, 1) или (1, 0), встанет та же задача выбора из двух возможностей и опять выбор сделать нельзя и т. д. Однако существуют точки, находясь в которых мы не имеем выбора. Эти точки С и D находятся в одном шаге от последней точки В и имеют координаты (m, n- 1) и (т- 1, п) (рис. 2.3).


Рис. 2.3.

Для каждой из этих точек запомним затраты на оставшийся до точки В путь и рассмотрим предпоследний шаг. В двух шагах от финиша мы можем быть в точках Е, F или G. В точках Е и G выбора нет, и мы просто запомним для каждой из них суммарные затраты на весь оставшийся путь. На рис. 2.3 это 10 для точки Е и 8 для точки G. А что делать, если мы в двух шагах от финиша окажемся в точке F? Ответ кажется простым: надо идти в точку С, а не в точку D, так как несмотря на то, что на предпоследнем шаге затраты больше (2 против 1), но с учетом затрат на оставшийся путь (4 против 7) суммарные затраты на путь до точки В окажутся меньше (6 против 8). Конечно, из точки F надо идти в точку С, но при одном непременном условии: ничто не может помешать нам это сделать, нет никакой связи с тем, как мы попали в данную точку, или, как говорят, нет «предыстории». В нашей задаче такой связи нет, но в более сложных задачах она вполне возможна. Например, могло быть задано дополнительное условие: суммарное количество изменений направления (поворотов) не больше заданного числа. Тогда мы, во-первых, должны знать, сколько было сделано поворотов до попадания в точку F и каким образом (по горизонтали или по вертикали) мы попали в эту точку, то есть должны знать предысторию. Может оказаться, что мы попали в точку F по горизонтали и уже исчерпали заданный «лимит» поворотов, тогда переход из точки F в точку С просто невозможен, так как это уже лишний поворот. Получается, что сделать оптимальный выбор в точке F нам может помешать предыстория.

Продолжим поиск оптимального пути в нашей задаче, в которой таких осложнений нет и предыстория не имеет значения. В точке F мы запомним затраты на весь оставшийся путь при условии, что выбран оптимальный вариант: переход в точку С. Сделав еще шаг назад, то есть оказавшись за три шага до финиша, мы увидим, что ситуация полностью аналогична предыдущей. Выбора или нет (точки на крайней верхней или крайней правой стороне сетки), или есть две возможности, но для каждой из них уже известны последствия выбора. Так, оказавшись в точке М, мы выберем не точку F, для которой затраты до конца пути равны 6, а казавшуюся бесперспективной точку Е, для которой эти затраты равны 10, но суммарные затраты на весь оставшийся путь меньше (13 против 14). При этом выборе мы решаем совсем простую задачу: суммируем затраты на каждый из возможных переходов на данном шаге (в точку Е или в точку F) с уже известными затратами на дальнейший путь по оптимальному для выбранной точки варианту. Поступая аналогичным образом, мы рано или поздно в своем обратном движении придем в начальную точку А (рис. 2.4). Но при этом уже будут известны последствия для каждого из вариантов выбора (пойти по вертикали в точку К или по горизонтали в точку L), так как для каждой из них уже вычислены и записаны затраты на весь оставшийся путь до точки В. Это ситуация аналогична той, что представлена на рис. 2.4.

Теперь ничто не мешает нам сделать выбор, куда идти из точки А. Просуммируем затраты из А в К с тем, что записано для точки К на весь оставшийся путь от К до В. Затем просуммируем затраты из А в L с тем, что записано для L на путь из Lb В, выберем наименьшую из сумм, которая и будет равна суммарным затратам по оптимальному пути. В примере на рис. 2.4 получаем для точки

Рис. 2.4.

К число 99, а для точки L 100, и, следовательно, теперь ясно, что идти надо в точку К. Но нам нужны не только эти минимальные из всех возможных затраты, но и сам оптимальный путь. Пока мы знаем, куда идти из точки А на первом шаге. А дальше? Дальше знаем только затраты на весь оставшийся путь. Чтобы не оказаться в такой ситуации неопределенности, при записи затрат на оставшийся путь в каждой из промежуточных точек (С, D, Е, F, G, М и т. д., рис. 2.3) нужно записывать и сделанный выбор: куда идти из этих точек. Если это сделано, то при выборе, куда идти из точки А: в точку К или L, в любой из них уже будет записано, куда идти дальше (по вертикали или по горизонтали, то есть 1 или 0) и т. д. Обратным разворотом мы дойдем до точки В и восстановим оптимальный путь.

Заметим, что если при сравнении вариантов на любом из этапов попадутся два варианта с равными затратами, то можно выбрать любой из них. Это означает, что оптимальный путь может быть не единственным, но каждому из таких оптимальных путей соответствует одно и то же минимальное из всех возможных в заданных условиях значение суммарных затрат.

В данной задаче мы исследовали многошаговый процесс от последнего шага к первому. Но ничто не мешает развернуть его и рассмотреть шаги в прямом направлении, то есть от точки А к точке В, ничего не меняя в методе Р. Веллмана по существу.

Применительно к рассматриваемой нами задаче поиска оптимального пути на двумерной сетке алгоритм примет следующий вид.

  • 1. Из точки А делаем шаг в каждом из возможных направлений, запоминаем в точках К и L затраты и направление, по которому пришли в эту точку (0 по горизонтали и 1 - по вертикали). Соответственно для точки К запомним 12 и 1, а для точки L 5 и 0.
  • 2. На втором и всех последующих шагах, кроме последнего, если в точку ведет один путь (шаги по левой и нижней сторонам сетки), то просто запоминаем суммарные затраты на путь от начала и направление, откуда пришли, а если в точке сходятся два варианта (на рис. 2.4 это точка Н, а на рис. 2.3 точки М, F и др.), то сравниваем две возможности: придти в эту точку по горизонтали или по вертикали. Для каждой из них вычисляем суммарные затраты на путь от начала до данной точки, выбираем тот вариант, для которого эти суммарные затраты минимальны, запоминаем их и соответствующее им направление. Таким образом, происходит отбраковка вариантов, сходящихся в точке: вариант с наибольшими затратами отбрасывается и все его продолжения далее не анализируются. Естественно, это можно сделать только в таких простых задачах «без предыстории», как наша, когда совпадают множества возможных продолжений сравниваемых вариантов и отбраковка варианта никак не влияет на возможности выбора в дальнейшем.
  • 3. На последнем шаге в точку В ведут два направления, и по каждому из них все известно: для каждой точки (на рис. 2.3 это точки С и D) записаны затраты на весь путь от начала и направление, откуда пришли в эту точку. Снова суммируем затраты по вариантам, выбираем наименьшие, а затем обратным разворотом восстанавливаем оптимальный путь.

В реальных задачах многоэтапные процессы могут иметь не один исход (точку финиша) или начало (точку старта), а несколько. Однако это не мешает применить метод Р. Веллмана.

Во-первых, для упрощения алгоритма всегда можно ввести еще один фиктивный этап с нулевыми затратами на нем. Например, ввести единственную фиктивную точку финиша, которая достигается из реальных точек финиша без дополнительных затрат.

Во-вторых, можно просто сравнить варианты финиша в каждой из точек, если их несколько. Аналогично можно поступить и при наличии нескольких точек старта, но в этом случае необходимо либо добавить фиктивную точку старта, из которой затраты на первый шаг равны нулю, либо, что одно и то же, сразу рассматривать несколько вариантов и анализировать их продолжения.

Наиболее приемлемый вариант решения, которое принимается на управленческом уровне относительно любого вопроса, принято считать оптимальным, а сам процесс его поиска - оптимизацией.

Взаимозависимость и сложность организационных, социально-экономических, технических и иных аспектов управления производством в настоящее время сводится к принятию управленческого решения, которое затрагивает большое количество разного рода факторов, тесно переплетающихся друг с другом, ввиду чего становится невозможным произвести анализ каждого отдельно с использованием традиционных аналитических методов.

Большинство факторов выступают определяющими в процессе принятия решения, и они (по своей сути) не поддаются какой-либо количественной характеристике. Также существуют и такие, которые практически неизменны. В связи с этим возникла необходимость в разработке особых методов, способных обеспечить выбор важных управленческих решений в рамках сложных организационных, экономических, технических задач (экспертные оценки, исследование операций и методы оптимизации и др.).

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

Методы оптимизации решений заключаются в исследовании посредством сравнения числовых оценок ряда факторов, анализ которых традиционными методами осуществить нельзя. Оптимальное решение - наилучшее среди возможных вариантов относительно экономической системы, а наиболее приемлемое в отношении отдельно взятых элементов системы - субоптимальное.

Сущность методов исследования операций

Как уже было упомянуто ранее, они формируют методы оптимизации управленческих решений. Их основа - математические (детерминированные), вероятностные модели, представляющие исследуемый процесс, вид деятельности или систему. Данного рода модели представляют количественную характеристику соответствующей проблемы. Они служат базой для принятия важного управленческого решения в процессе поиска оптимально приемлемого варианта.

Перечень вопросов, которые играют существенную роль для непосредственных руководителей производства и которые разрешаются в ходе использования рассматриваемых методов:

  • степень обоснованности выбранных вариантов решений;
  • насколько они лучше альтернативных;
  • степень учета определяющих факторов;
  • каков критерий оптимальности выбранных решений.

Данные методы оптимизации решений (управленческих) нацелены на поиск оптимальных решений для как можно большего количества фирм, компаний либо их подразделений. Они основаны на существующих достижениях статистических, математических и экономических дисциплин (теории игр, массового обслуживания, графиков, оптимального программирования, математической статистики).

Методы экспертных оценок

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

Экспертиза - это исследование сложных особых вопросов на этапе выработки определенного управленческого решения соответствующими лицами, которые владеют специальным багажом знаний и внушительным опытом, для получения выводов, рекомендаций, мнений, оценок. В процессе экспертного исследования применяются новейшие достижения и науки, и техники в рамках специализации эксперта.

Рассматриваемые методы оптимизации ряда управленческих решений (экспертных оценок) эффективны в решении нижеперечисленных управленческих задач в сфере производства:

  1. Изучение сложных процессов, явлений, ситуаций, систем, которые характеризуются неформализованными, качественными характеристиками.
  2. Ранжирование и определение согласно заданному критерию существенных факторов, выступающих определяющими относительно функционирования и развития производственной системы.
  3. Рассматриваемые методы оптимизации особо эффективны в области прогнозирования тенденций развития системы производства, а также ее взаимодействия с внешней средой.
  4. Повышение надежности экспертной оценки преимущественно целевых функций, которые имеют количественный и качественный характер, посредством усреднения мнений квалифицированных специалистов.

И это лишь некоторые методы оптимизации ряда управленческих решений (экспертной оценки).

Классификация рассматриваемых методов

Методы решения задач оптимизации, исходя из числа параметров, можно подразделить на:

  • Методы оптимизации одномерной.
  • Методы оптимизации многомерной.

Их еще называют "численные методы оптимизации". Если быть точным, это алгоритмы ее поиска.

В рамках применения производных методы бывают:

  • прямые методы оптимизации (нулевого порядка);
  • градиентные методы (1-го порядка);
  • методы 2-го порядка и др.

Большая часть методов многомерной оптимизации приближена к задаче второй группы методов (одномерной оптимизации).

Методы одномерной оптимизации

Любые численные методы оптимизации основаны на приближенном либо точном вычислении таких ее характеристик, как значения целевой функции и функций, которые задают допустимое множество, их производные. Так, для каждой отдельной задачи вопрос тносительно выбора характеристик для вычисления может быть решен в зависимости от существующих свойств рассматриваемой функции, имеющихся возможностей и ограничений в хранении и обработке информации.

Существуют следующие методы решения задач оптимизации (одномерной):

  • метод Фибоначчи;
  • дихотомии;
  • золотого сечения;
  • удвоения шага.

Метод Фибоначчи

Для начала необходимо установить координаты т. x на промежутке в качестве числа, равного отношению разницы (x - a) к разнице (b - a). Следовательно, a имеет относительно промежутка координату 0, а b - 1, средняя точка - ½.

Если допустить, что F0 и F1 между собой равны и принимают значение 1, F2 будет равно 2, F3 - 3, …, то Fn = Fn-1 + Fn-2. Итак, Fn - числа Фибоначчи, а поиск Фибоначчи - это оптимальная стратегия так называемого последовательного поиска максимума ввиду того, что она довольно тесно связана с ними.

В рамках оптимальной стратегии принято выбирать xn - 1 = Fn-2: Fn, xn = Fn-1: Fn. При любом из двух интервалов ( либо ), каждый из которых может выступать в качестве суженного интервала неопределенности, точка (унаследованная) относительно нового интервала будет иметь либо координаты , либо . Далее, в качестве xn - 2 принимается точка, которая имеет относительно нового промежутка одну из представленных координат. Если использовать F(xn - 2), значение функции, которое унаследовано от прежнего промежутка, становится возможным сокращение интервала неопределенности и передача в наследство одного значения функции.

На финишном шаге получится прейти к такому интервалу неопределенности, как , при этом средняя точка унаследована от предыдущего шага. В качестве x1 устанавливается точка, которая имеет относительную координату ½+ε, а окончательный интервал неопределенности будет или [½, 1] по отношению к .

На 1-м шаге длина данного интервала сократилась до Fn-1: Fn (с единицы). На финишных шагах сокращение длин соответствующих интервалов представляется числами Fn-2: Fn-1, Fn-3: Fn-2, …, F2: F3, F1: F2 (1 + 2ε). Итак, длина такого интервала, как окончательный вариант примет значение (1 + 2ε) : Fn.

Если пренебречь ε, то асимптотически 1: Fn будет равно rn, при этом n→∞, а r = (√5 - 1) : 2, что приблизительно равно 0,6180.

Стоит отметить, что асимптотически для значительных n каждый последующий шаг поиска Фибоначчи существенно сужает рассматриваемый интервал с вышеуказанном коэффициентом. Данный результат требуется сравнить с 0,5 (коэффициент сужения интервала неопределенности в рамках метода бисекции для поиска нуля функции).

Метод дихотомии

Если представить некую целевую функцию, то для начала потребуется найти ее экстремум на промежутке (a; b). Для этого ось абсцисс делится на четыре эквивалентные части, затем необходимо определить значение рассматриваемой функции в 5 точках. Далее выбирается минимум среди них. Экстремум функции должен лежать в пределах промежутка (a"; b"), который прилегает к точке минимума. Границы поиска сужаются в 2 раза. А если минимум расположен в т. a либо b, то он сужается во все четыре раза. Новый интервал также разделяется на четыре равных отрезка. В связи с тем, что значения данной функции в трех точках были определены на предыдущем этапе, далее требуется вычислить целевую функцию в двух точках.

Метод золотого сечения

Для существенных значений n координаты таких точек, как xn и xn-1 приближены к 1 - r, равное 0,3820, а r ≈ 0,6180. Толчок с данных значений весьма близок к искомой оптимальной стратегии.

Если предположить, что F(0,3820) > F(0,6180), то тогда очерчивается интервал . Однако ввиду того, что 0,6180 * 0,6180 ≈ 0,3820 ≈ xn-1, то в данной точке F уже известна. Следовательно, на каждом этапе, начиная со 2-го, необходимо только одно вычисление целевой функции, при этом каждый шаг сокращает длину рассматриваемого интервала с коэффициентом 0,6180.

В отличие от поиска Фибоначчи, в данном методе не требуется фиксация числа n еще до начала поиска.

«Золотое сечение» участка (a; b) - сечение, при котором отношение его r длины к более крупной части (a; c) идентично отношению большей части r к меньшей, то есть (a; с) к (c; b). Нетрудно догадаться, что r определяется по вышерассмотренной формуле. Следовательно, при существенных n метод Фибоначчи переходит в данный.

Метод удвоения шага

Суть - поиск направления убывания целевой функции, движение в данном направлении в случае удачного поиска с постепенно возрастающим шагом.

Сначала определяем начальную координату M0 функции F(M), минимальное значение шага h0, направление поиска. Затем определяем функцию в т. M0. Далее совершаем шаг и находим значение данной функции в данной точке.

В случае если функция меньше значения, которое было на предыдущем шаге, следует произвести следующий шаг в том же направлении, предварительно увеличив его в 2 раза. При ее значении, которое больше предыдущего, потребуется поменять направление поиска, а затем начать двигаться в выбранном направлении с шагом h0. Представленный алгоритм можно модифицировать.

Методы многомерной оптимизации

Вышеупомянутый метод нулевого порядка не берет в расчет производные минимизированной функции, ввиду чего их использование может быть эффективно в случае возникновения каких-либо трудностей с вычислением производных.

Группу методов 1-го порядка еще называют градиентными, потому что для установления направления поиска применяют градиент данной функции - вектор, составляющими которого выступают частные производные минимизированной функции по соответствующим оптимизированным параметрам.

В группе методов 2-го порядка применяются 2 производные (их использование достаточно ограничено ввиду наличия трудностей в их вычислении).

Перечень методов безусловной оптимизации

При использовании многомерного поиска без применения производных методы безусловной оптимизации следующие:

  • Хука и Дживса (осуществление 2 видов поиска - по образцу и исследующий);
  • минимизации по правильному симплексу (поиск точки минимума соответствующей функции посредством сравнения на каждой отдельной итерации ее значений в вершинах симплекса);
  • циклического координатного спуска (использование в качестве ориентиров поиска координатных векторов);
  • Розенброка (основан на применении одномерной минимизации);
  • минимизации по деформированному симплексу (модификация метода минимизации по правильному симплексу: добавление процедуры сжатия, растяжения).

В ситуации использования производных в процессе многомерного поиска выделяют метод наискорейшего спуска (наиболее фундаментальная процедура минимизации дифференцируемой функции с несколькими переменными).

Также выделяют еще такие методы, которые используют сопряженные направления (Метод Дэвидона-Флетчера-Пауэлла). Его суть - преставление направлений поиска как Dj*grad(f(y)).

Классификация математических методов оптимизации

Условно, исходя из размерности функций (целевых), они бывают:

  • с 1 переменной;
  • многомерные.

В зависимости от функции (линейная или нелинейная) существует большое количество математических методов, направленных на поиск экстремума для решения поставленной задачи.

По критерию применения производных математические методы оптимизации подразделяются на:

  • методы вычисления 1 производной целевой функции;
  • многомерные (1-я производная-векторная величина-градиент).

Исходя из эффективности вычисления, существуют:

  • методы быстрого вычисления экстремума;
  • упрощенного вычисления.

Это условная классификация рассматриваемых методов.

Оптимизация бизнес-процессов

Методы здесь могут использоваться различные, в зависимости от решаемых проблем. Принято выделять следующие методы оптимизации процессов бизнеса:

  • исключения (уменьшение уровней существующего процесса, ликвидация причин помех и входного контроля, сокращение транспортных путей);
  • упрощения (облегченное прохождение заказа, снижение комплексности продуктовой структуры, распределение работ);
  • стандартизации (использование специальных программ, методов, технологий и т. д.);
  • ускорения (параллельный инжиниринг, стимуляция, оперативное проектирование опытных образцов, автоматизация);
  • изменение (перемены в области сырья, технологий, методов работ, кадрового расположения, рабочих систем, объема заказа, порядка обработки);
  • обеспечения взаимодействия (в отношении организационных единиц, персонала, рабочей системы);
  • выделения и включения (относительно необходимых процессов, комплектующих).

Налоговая оптимизация: методы

Российское законодательство предоставляет налогоплательщику весьма богатые возможности сокращения размеров налогов, ввиду чего принято выделять такие способы, направленные на их минимизацию, как общие (классические) и специальные.

Общие методы налоговой оптимизации следующие:

  • проработка учетной политики компании с максимально возможным применением предоставленных российским законодательством возможностей (порядок списания МБП, выбор метода расчета выручки от реализации товара и др.);
  • оптимизация посредством договора (заключение льготированных сделок, четкое и грамотное использование формулировок и т. п.);
  • применение разного рода льгот, налоговых освобождений.

Вторую группу методов также могут использовать все фирмы, однако они все же имеют достаточно узкую область применения. Специальные методы оптимизации налогов следующие:

  • замены отношений (операция, которая предусматривает обременительное налогообложение, замещается другой, которая позволяет достичь аналогичную цель, но при этом использовать льготный порядок налогового обложения).
  • разделения отношений (замена лишь части хозяйственной операции);
  • отсрочки налогового платежа (перенесение момента появления объекта налогообложения на другой календарный период);
  • прямого сокращения объекта налогового обложения (избавление от многих налогооблагаемых операций либо имущества без оказания негативного влияния на основную хозяйственную деятельность компании).

В зависимости от природы процесса, от характера ма­тематической модели, от наличия информации о процес­се, от постановки задачи применяются различные ме­тоды оптимизации процессов (табл. 22.1).

При решении конкретной задачи исследователь дол­жен выбрать тот метод оптимизации, который при на­именьших затратах на вычисления давал бы наибольший объем информации об искомом процессе.

Таблица 22.1

Методы оптимизации Характер процесса
I. Аналитические методы: аналитический поиск экстремума метод множителей Лагранжа вариационные методы принцип максимума Понтрягина Детерминированные процессы, описываемые дифференцируе- мыми функциями с ограничени- ем и без ограничений
II. Методы математического программирования: геометрический линейный динамический Детерминированные процессы с оптимизацией алгебраических функций
III.Градиентные методы Детерминированные процессы с оптимизацией линейных и нели- нейных функций с ограничени- ем и без ограничения
IV. Автоматические методы с са- монастраивающимися моделями Сложные объекты
V. Статистические методы: методы пассивного наблюдения (регрессионный и корреляционный методы анализа) методы активной оптимизации Метод Бокса - Уилсона и др. Стохастические процессы

Дадим краткую характеристику наиболее часто при­меняющимся методам оптимизации для детерминиро­ванных процессов. Методы исследования функций с по­мощью классического анализа являются наиболее из­вестными способами решения несложных задач оптими­зации.

Эти методы применяются для решения задач с из­вестным аналитическим выражением критерия оптималь­ности, Приравнивая нулю производные и решая конеч­ную систему уравнений, определяют экстремальные значения параметра оптимизации.

Метод множителей Лагранжа используется для ре­шения таких же задач, как и задач, решаемых методом исследования функций, но при наличии ограничений на независимые переменные. Порядок системы уравнений, которые решаются при нахождении экстремумов параме­тра оптимизации, повышается на число ограничений. В остальном процедура поиска решений аналогична.

Методы вариационного исчисления обычно применяют для решения задач с критерием оптимальности в виде функционалов. Вариационными методами решение зада­чи сводится к интегрированию системы дифферен­циальных уравнений Эйлера второго порядка с гра­ничными условиями. Число уравнений системы равно числу неизвестных функций.

Динамическое программирование является эффек­тивным методом решения задач оптимизации ди­скретных многостадийных процессов, для которых об­щий критерий оптимизации является функцией критериев оптимальности, отдельных стадий.



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

Линейное программирование используется для реше­ния задач оптимизации с линейным выражением для кри­терия оптимальности и линейными ограничениями на область изменения переменных факторов. Это задача оп­тимального планирования производства с ограниченным количеством ресурсов, транспортные задачи и др. Уни­версальный алгоритм решения задач линейного програм­мирования содержится в симплексном методе, позволяю­щем за конечное число операций найти оптимальное решение большинства задач.

Методы нелинейного (динамического) программирова­ния применяют для решения задач оптимизации с нели­нейными функциями параметра оптимизации с огра­ничениями и без ограничений на независимые пере­менные.

Для оптимизации стохастических процес­сов используются экспериментально-статистические ме­тоды. Различают пассивный и активный эксперимент. Пассивный эксперимент, или, как его часто назьюают, пас­сивное наблюдение, использует методы математической статистики для обработки информации с целью изучения закономерностей технологического процесса. При этом сбор исходных данных проводится на действующем объекте без введения в процесс искусственных изменений. Обработка данных с целью получения математической модели процесса проводится в основном методами классического регрессионного и корреляционного методов ана­лиза.

Активный эксперимент основан на применении плани­рования эксперимента. Планирование эксперимента - это проведение эксперимента по заранее составленному пла­ну (матрице), обладающему оптимальными свойствами. При планировании учитываются одновременно все фак­торы, влияющие на процесс, что позволяет выявить сразу и силу взаимодействия факторов, и резко сократить об­щее число опытов для определения оптимальных параме­тров. Как в пассивном, так и в активном эксперименте математической моделью является функция отклика, связывающая параметр оптимизации с факторами, влияющими на процесс.

Заказать оптимизацию процессов производства в Перми

Поделиться