
- •Метод синектики
- •Морфологический метод и его модификации
- •Метод организующих понятий
- •Метод семикратного поиска
- •Комбинаторный метод
- •Метод логического мышления
- •5.5. Детерминированные методы анализа систем управления
- •Методы решения задач линейного программирования
- •Методы решения задач нелинейного программирования
- •Методы решения задач дискретного (целочисленного) программирования
- •Методы динамического программирования
- •Методы стохастического программирования
- •Теория принятия решений
- •Теория эффективности
Методы решения задач нелинейного программирования
Область применения. Нелинейное программирование используется для решения однокритериальных задач оптимизации с детерминированной целевой функцией при накладываемых ограничениях в виде равенств или неравенств. Для данного класса задач снимается условие линейности функций или ограничений.
Особенности использования. Нелинейность целевой функции) требует исследования условий (необходимых и достаточных) наличия экстремума. Для этого надо уметь получить аналитические выражения по меньшей мере двух производных этой функции.
При наличии линейных ограничений эти производные ищут только в точках, удовлетворяющих данным ограничениям. Нелинейность ограничений может привести к тому, что пространство возможных решений становится невыпуклым, и тогда оптимальному решению не всегда будет соответствовать одна из угловых точек этого пространства.
Универсальных алгоритмов решения нелинейных задач не существует из-за большого разнообразия вида нелинейности.
Наиболее употребительные методы. Разработанные ныне методы решения задач нелинейного программирования могут быть разделены на ряд больших групп:
♦ методы линеаризации целевой функции и ограничений, основанные на их разложений в ряд, логарифмирование и т.д., с последующим применением методов линейного программирования для решения задачи;
аналитические методы нахождения экстремальных значений, целевой функции при наличии ограничений. Они могут применяться при условии, что неизвестные величины непрерывны, или на этот счет сделаны соответствующие допущения, а также целевая функция и ограничения имеют частные производные хотя бы до второго порядка включительно;
поисковые методы оптимизации, обеспечивающие решение нелинейной задачи путем последовательного перехода от одного допустимого решения к другому в направлении экстремума целевой функции до тех пор, пока дальнейшее ее улучшение станет невозможным или нецелесообразным.
Методы решения задач дискретного (целочисленного) программирования
Область применения. Дискретное программирование используется для решения задач с детерминированной целевой функцией при ограничениях на значения переменных.
Примерами таких задач являются: определение очередности выполнения работ, назначение ресурсов по объектам использования, выбор маршрута на сети «задача о коммивояжере».
Особенности применения. Основной особенностью является то, что все или некоторые переменные должны принимать только целочисленные (дискретные) значения. Обычно это бывает при описании неделимых объектов (людей, машин и т. п.) или при наложении жестких ограничений типа равенств.
При решении задач возникают сложности с выбором специальных дополнительных ограничений для отсечения области решений с нецелочисленными переменными, которые часто приходится выбирать по эвристическим правилам.
Наиболее употребительные методы. Различают два класса методов: методы отсечения и комбинаторные методы.
Методы отсечений используются при решении линейных целочисленных задач без булевых переменных. Их идея заключается в ослаблении ограничений (за счет отказа от требований целочисленности) и решения обычной задачи линейного программирования. Затем, если полученное оптимальное решение не удовлетворяет требованию целочисленности, вводят специальные дополнительные требования, тем самым отсекая некоторую область возможных решений, и вновь решают задачу линейного программирования с проверкой результатов на целочисленность переменных.
Процесс повторяется до выполнения требований по целочисленности. Для решения целочисленных задач используется алгоритм Гомори и алгоритм Дальтона и Ллевелина
Комбинаторные методы используются для решения нелинейных задач с булевыми переменными. Для таких задач используется так называемый аддитивный алгоритм, вычислительные операции в котором осуществляют вычитанием. Идея аддитивного алгоритма заключается в переборе двух возможных решений (где N — число булевых переменных) и выбор лучшего из них.