16.06.2019

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


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

Что такое однородная система линейных уравнений?

Ответ напрашивается сам собой. Система линейных уравнений является однородной, если свободный член каждого уравнения системы равен нулю. Например:

Совершенно ясно, что однородная система всегда совместна , то есть всегда имеет решение. И, прежде всего, в глаза бросается так называемое тривиальное решение . Тривиальное, для тех, кто совсем не понял смысл прилагательного, значит, беспонтовое. Не академично, конечно, но зато доходчиво =) …Чего ходить вокруг да около, давайте выясним, нет ли у данной системы каких-нибудь других решений:

Пример 1


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

(1) Ко второй строке прибавили первую строку, умноженную на –2. К третьей строке прибавили первую строку, умноженную на –3.

(2) К третьей строке прибавили вторую строку, умноженную на –1.

Делить третью строку на 3 не имеет особого смысла.

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

Ответ :

Сформулируем очевидный критерий : однородная система линейных уравнений имеет только тривиальное решение , если ранг матрицы системы (в данном случае 3) равен количеству переменных (в данном случае – 3 шт.).

Разогреваемся и настраиваем свой радиоприёмник на волну элементарных преобразований:

Пример 2

Решить однородную систему линейных уравнений

Чтобы окончательно закрепить алгоритм, разберём финальное задание:

Пример 7

Решить однородную систему, ответ записать в векторной форме.

Решение : запишем матрицу системы и с помощью элементарных преобразований приведём её к ступенчатому виду:

(1) У первой строки сменили знак. Ещё раз заостряю внимание на неоднократно встречавшемся приёме, который позволяет существенно упростить следующее действие.

(1) Ко 2-й и 3-й строкам прибавили первую строку. К 4-й строке прибавили первую строку, умноженную на 2.

(3) Последние три строки пропорциональны, две из них удалили.

В результате получена стандартная ступенчатая матрица, и решение продолжается по накатанной колее:

– базисные переменные;
– свободные переменные.

Выразим базисные переменные через свободные переменные. Из 2-го уравнения:

– подставим в 1-е уравнение:

Таким образом, общее решение:

Поскольку в рассматриваемом примере три свободные переменные, то фундаментальная система содержит три вектора.

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

Для тройки значений находим вектор

И, наконец, для тройки получаем третий вектор:

Ответ : , где

Желающие избежать дробных значений могут рассмотреть тройки и получить ответ в эквивалентном виде:

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

Второй вариант решения :

Идея состоит в том, чтобы попытаться выбрать другие базисные переменные . Посмотрим на матрицу и заметим две единицы в третьем столбце. Так почему бы не получить ноль вверху? Проведём ещё одно элементарное преобразование:

Системы линейных уравнений, у которой все свободные члены равны нулю, называются однородными :

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

Теорема 5.2. Однородная система имеет нетривиальное решение тогда и только тогда, когда ранг основной матрицы меньше числа ее неизвестных.

Следствие . Квадратная однородная система имеет нетривиальное решение тогда и только тогда, когда определитель основной матрицы системы не равен нулю.

Пример 5.6. Определить значения параметра l, при которых система имеет нетривиальные решения, и найти эти решения:

Решение . Эта система будет иметь нетривиальное решение тогда, когда определитель основной матрицы равен нулю:

Таким образом, система нетривиальна, когда l=3 или l=2. При l=3 ранг основной матрицы системы равен 1. Тогда оставляя только одно уравнение и полагая, что y =a и z =b , получим x=b-a , т.е.

При l=2 ранг основной матрицы системы равен 2. Тогда, выбирая в качестве базисного минор:

получим упрощенную систему

Отсюда находим, что x=z /4, y=z /2. Полагая z =4a , получим

Множество всех решений однородной системы обладает весьма важным линейным свойством : если столбцы X 1 и X 2 - решения однородной системы AX = 0 , то всякая их линейная комбинация aX 1 + bX 2 также будет решением этой системы . Действительно, поскольку AX 1 = 0 и AX 2 = 0 , то A (aX 1 + bX 2) = aAX 1 + bAX 2 = a · 0 + b · 0 = 0. Именно вследствие этого свойства, если линейная система имеет более одного решения, то этих решений будет бесконечно много.

Линейно независимые столбцы E 1 , E 2 , E k , являющиеся решениями однородной системы, называется фундаментальной системой решений однородной системы линейных уравнений, если общее решение этой системы можно записать в виде линейной комбинации этих столбцов:

Если однородная система имеет n переменных, а ранг основной матрицы системы равен r , то k = n-r .

Пример 5.7. Найти фундаментальную систему решений следующей системы линейных уравнений:

Решение . Найдем ранг основной матрицы системы:

Таким образом, множество решений данной системы уравнений образует линейное подпространство размерности n - r = 5 - 2 = 3. Выберем в качестве базисного минор

.

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

Полагая, x 3 = a , x 4 = b , x 5 = c , находим


, .

Полагая a = 1, b = c = 0, получим первое базисное решение; полагая b = 1, a = c = 0, получим второе базисное решение; полагая c = 1, a = b = 0, получим третье базисное решение. В результате, нормальная фундаментальная система решений примет вид

С использованием фундаментальной системы общее решение однородной системы можно записать в виде

X = aE 1 + bE 2 + cE 3 . à

Отметим некоторые свойства решений неоднородной системы линейных уравнений AX=B и их взаимосвязь соответствующей однородной системой уравнений AX = 0.

Общее решение неоднородной системы равно сумме общего решения соответствующей однородной системы AX = 0 и произвольного частного решения неоднородной системы . Действительно, пусть Y 0 произвольное частное решение неоднородной системы, т.е. AY 0 = B , и Y - общее решение неоднородной системы, т.е. AY = B . Вычитая одно равенство из другого, получим
A (Y-Y 0) = 0, т.е. Y - Y 0 есть общее решение соответствующей однородной системы AX =0. Следовательно, Y - Y 0 = X , или Y = Y 0 + X . Что и требовалось доказать.

Пусть неоднородная система имеет вид AX = B 1 + B 2 . Тогда общее решение такой системы можно записать в виде X = X 1 + X 2 , где AX 1 = B 1 и AX 2 = B 2 . Это свойство выражает универсальное свойство вообще любых линейных систем (алгебраических, дифференциальных, функциональных и т.д.). В физике это свойство называется принципом суперпозиции , в электро- и радиотехнике - принципом наложения . Например, в теории линейных электрических цепей ток в любом контуре может быть получен как алгебраическая сумма токов, вызываемых каждым источником энергии в отдельности.

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

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

В январе на Международной конференции по методам геометрической оптимизации в компьютерном зрении и распознавании образов, Хоссейн Мобэхи (Hossein Mobahi), учёный, проводящий докторские исследования в Массачусетском технологическом институте информатики и лаборатории искусственного интеллекта (Computer Science and Artificial Intelligence Laboratory - CSAIL), и Джон Фишер (John Fisher), старший научный сотрудник в CSAIL, описали способ генерации последовательности упрощенных функций, что гарантирует наилучшее приближение у применяемого в настоящее время метода.

«На некоторые фундаментальные вопросы об этом методе мы отвечаем впервые», - говорит Мобэхи. - «Например, я сказал вам, что надо начинать с простой задачи, но не сказал, как выбрать эту простую задачу. Существует бесконечно много функций, с которых вы можете начать. Какая из них лучше? Даже если я скажу вам с какой функции стоит начать, есть бесконечно много способов её преобразования для определенной задачи. И это преобразование влияет на то, что вы получите в конце».

Достижение минимума

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

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

«Большинство эффективных алгоритмов, которые применяются в настоящее время для решения задач оптимизации, работают на основе локального поиска. При этом на начальном этапе вам необходимо задать им какое-либо значение, являющееся предполагаемым решением. Далее алгоритмы определяют в каком направлении стоит двигаться, чтобы улучшить его, а затем осуществляют этот шаг», - говорит Мобэхи. - «Используя эту технику, они могут сходиться к значению под названием ‘локальный минимум’, который является точкой, которая в сравнении с соседними, лежащими в окрестности, находится ниже. Но найденное решение не будет являться глобальным минимумом: может существовать, которая находится намного ниже, но дальше».

Однако локальный минимум гарантированно будет глобальным, если функция - выпуклая вниз. Функция f(x) = x 2 выпуклая, так как описывает параболу с центром в начале координат. Функция f(x) = sin х - нет, так как описывает синусоиду, которая колеблется вверх и вниз.

Сглаживание

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

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

Ширина гауссовой функции определяется одним параметром. Мобэхи и Фишер начали с очень широкого гауссиана (Gaussian) , который при определенных условиях дает выпуклую функцию. Затем они постепенно уменьшали ширину гауссиана, создавая серию промежуточных задач. На каждом этапе они используют решение последней задачи для инициализации поиска решения последующей. К тому времени, когда ширина распределения сократилась до нуля, они восстановили первоначальную функцию затрат, так как каждое значение представляло собой просто среднее значение.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  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-я производная-векторная величина-градиент).

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

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

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

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

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

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

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

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

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

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

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

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

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

Данный раздел включает в себя следующие пункты.

Обзор методов оптимизации.

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

Оптимизация без наличия ограничений

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

Оптимизации методом наименьших квадратов

Обсуждается применение метода Ньютона-Гаусса и метода Левенберга-Маркварда для нелинейной оптимизации с применением метода наименьших квадратов (LS). Так же приводятся детали реализации методов Ньютона-Гаусса и Левенберга-Маркварда применительно к подпрограмм нелинейной оптимизации методом наименьших квадратов при использовании функций lsqnonlin и lsqcurvefit

Системы нелинейных уравнений

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

Оптимизации при наличии ограничений

Обсуждается применение уравнений Куна-Таккера (KT) как некой базы метода Последовательного Квадратичного Программирования (SQP). Так же приводятся детали реализации методов корректировки матрицы Гессе, решения задач квадратичного программирования, а так же линейного поиска и этапы расчета по алгоритму SQP применительно к функциям fmincon, fminimax, fgoalattain иfseminf

Многоцелевая оптимизация

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

Избранная библиография

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

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

Обзор методов оптимизации

Методы оптимизации используются для того, что бы найти некий набор параметров х={x 1 , х 2 , … х n } которые в некотором смысле могут быть определены как оптимальными. В узком смысле это может быть поиск минимума или максимума некой функции как параметра от х={x 1 , х 2 , … х n }. В более широком смысле эта формулировка представляет собой минимизацию или максимизацию целевой функции, f(x) , при наличии ограничений в форме

Равенств

или неравенств

а также и/или ограничений,

на пределы изменения параметров.

Общая формулировка (GP) задачи параметрической оптимизации представляется следующим образом: следует найти вектор х={x 1 , х 2 , … х n }, обеспечивающий

(3-1)

при условии

где х - вектор оптимизируемых параметров (), f(x) - скалярная целевая функция (критерий) векторного аргумента (), G(x) - также некоторые скалярные функции векторного аргумента как некие функции от х () (при этом задача максимизации может сводиться к задаче минимизации при замене f(x) на -f(x) ).

Эффективность и точность решений данной задачи зависит как от числа параметров и ограничений, так и от вида целевой функции. При линейных ограничениях и линейной целевой функции приведенная задача оптимизации называется задачей линейного программирования (LP). Задача квадратичного программирования (QP) представляет собой минимизацию или максимизацию квадратичной (по аргументам) целевой функции при наличии ограничений линейного вида. Постановки задач типа (LP) и (QP) представляют собой достаточно реалистически достижимыми задачами. Более сложной является обобщающая задача нелинейного программирования (NP), когда целевая функция и ограничения представляют собой некие нелинейные функции от исходных аргументов. (NP), в общем случае, решается с помощью итерационных методов с коррекцией направления поиска на каждой итерации. Такая постановка задачи обычно решается через решение отдельных промежуточных задач (LP) и (QP)/

Оптимизация без наличия ограничений

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

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

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

(3-2)

Минимальное значение данной функции, как нетрудно видеть, равно нулю при . Графическое представление изолиний данной функции приведено на Рис. 3, где также представлено траектория продвижения по направлению к точке минимума согласно метолу наискорейшего спуска из начальной точки [-1.9,2].

Рис. 3-1: Метод наискорейшего спуска для функции Розенброка (уравнение 3-2).

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