русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Постановка задач оптимизации и методы поиска оптимальных решений


Дата добавления: 2014-06-19; просмотров: 7346; Нарушение авторских прав


 

1.3.1 Общая постановка и классификация задач оптимизации

 

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

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

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

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



В любой практической оптимизационной задаче существует много совпадающих этапов. Наиболее важным этапом является моделирование рассматриваемой физической ситуации с целью получения математической функции, которую необходимо минимизировать, а также определения ограничений, если таковые существуют. Затем следует выбрать подходящую процедуру для осуществления минимизации. Эта процедура должна быть реализована на практике, что определяет использование ЭВМ для выполнения большого объема вычислений. И, наконец, математический результат должен быть интерпретирован в терминах физического содержания задачи [21, 22, 23].

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

1) выполняется общая постановка задачи: описывается объект исследования и хотя бы в описательной форме формулируются желания исследователя на выбор наилучшей стратегии;

2) составляется математическая модель объекта;

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

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

5) решается экстремальная задача с помощью метода оптимизации.

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

 

min F(X), X D (1.1)

 

Выражение (1.1) является сокращенной записью следующей обобщенной модели принятия оптимального решения:

Найти значения оптимизируемых параметров X=(х123,.....,хn), обеспечивающих минимальное значение критерия оптимальности

 

F=F(х123,.....,хn), (1.2)

 

при выполнении условий работоспособности проектируемого устройства

 

Gi123,.....,хn) ≥ 0 для i =1,2,...,m; (1.3)

 

xj ≤ xj ≤ xj+, j = 1,2,...,n, (1.4)

 

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

Таким образом, решение задачи оптимального проектирования сводится к выбору оптимизируемых параметров X, принадлежащих допустимой области D и обеспечивающих экстремальное значение критерия оптимальности F(X). Оптимальным решением задачи является вектор X*, удовлетворяющий системе неравенств (1.3) – (1.4) и обеспечивающий минимальное значение критерия оптимальности (1.2) [25, 26].

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

Целевая функция F=(f1, f2, f3,....., fk) представляет собой набор критериев качества, которые должны быть оптимизированы одновременно. Соответственно, при к=1 имеем задачу однокритериальной или скалярной оптимизации, а при к>1 - задачу многокритериальной или векторной оптимизации.

Вектор неизвестных X = (х123,.....,хn)т может содержать одну компоненту (n=1) и тогда мы имеем задачу одномерной (или иногда говорят линейной) оптимизации, а может иметь и много составляющих (n > 1) и тогда перед нами задача многомерной оптимизации или задача оптимизации со многими переменными.

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

Пространство оптимизации S может совпадать с евклидовым пространством Rn и мы получаем задачу оптимизации с непрерывными переменными. Если переменные являются целочисленными, то соответствующая задача носит название задачи целочисленной оптимизации. Частным случаем целочисленной оптимизации является так называемая булевая оптимизация, при которой переменные могут принимать только два значения - ноль и единица. Если при этом целевая функция принимает значения из множества вещественных чисел, то такая задача называется задачей псевдобулевой оптимизации, чтобы подчеркнуть ее отличие от случая, когда и значения функции тоже являются нулем или единицей. Если же значение целевой функции зависит от некоторых комбинаций объектов из конечного набора, их размещения или способа упорядочения, то такие задачи называются задачами комбинаторной оптимизации. Задачи целочисленной и комбинаторной оптимизации объединяются понятием задач дискретной оптимизации. Наконец, существуют задачи смешанной оптимизации, в которых могут одновременно присутствовать переменные всех типов. Наиболее известным частным случаем таких задач являются задачи смешанного целочисленного программирования с целочисленными и непрерывными переменными.

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

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

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

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

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

В случае функций общего вида говорят об общей задаче нелинейного программирования.

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

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

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

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

 



<== предыдущая лекция | следующая лекция ==>
Методология математического моделирования | Классификация методов оптимизации


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.11 сек.